gnulib-tool: Remove no-op option --no-changelog.
[gnulib.git] / ChangeLog
1 2012-08-26  Bruno Haible  <bruno@clisp.org>
2
3         gnulib-tool: Remove no-op option --no-changelog.
4         * gnulib-tool (func_usage): Don't mention --no-changelog.
5         (do_changelog): Remove variable.
6         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
7
8 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9
10         doc: remove fdl-1.2.texi
11         It is no longer used or maintained, and its use of @acronym
12         is problematic.  See the thread containing
13         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
14         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
15         * doc/old-licenses/fdl-1.2.texi: Remove.
16
17         execinfo: port to FreeBSD
18         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
19         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
20         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
21         * modules/execinfo (Link): Add $(LIB_EXECINFO).
22
23 2012-08-23  Jim Meyering  <meyering@redhat.com>
24
25         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
26         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
27         to placate gcc's -Wold-style-declaration.
28
29 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30
31         doc: do not use @acronym
32         * doc/inet_ntoa.texi (inet_ntoa):
33         * doc/parse-datetime.texi (Seconds since the Epoch)
34         (Specifying time zone rules):
35         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
36         Don't use @acronym.  Problem reported by John Darlington in
37         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
38
39 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
40
41         stdnoreturn: port to newer GCCs
42         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
43         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
44         Problem reported by Jim Meyering in
45         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
46         Also, rename the 'test' function to a void a clash with the
47         already-supplied 'main' function; this fixes a bug that incorrectly
48         rejected GCC 4.7.1's <stdnoreturn.h>.
49         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
50         Document GCC problem.
51
52 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
53
54         pipe-filter: fix comment typo
55         * lib/pipe-filter.h: Mention correct function.
56
57 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58
59         execinfo: new module
60         This is for Emacs.  Currently, it provides a no-effect stub
61         on all platforms where it does not already work.
62         It already works on glibc-based systems, and on Solaris 11.
63         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
64         New files.
65         * doc/glibc-headers/execinfo.texi (execinfo.h):
66         * MODULES.html.sh (Misc): Document it.
67
68 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69
70         extern-inline: support old GCC 'inline'
71         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
72         if available.  This applies to GCC versions 2.7 through 4.2, or
73         when newer GCC is using -fgnu89-inline.  The goal is to address
74         some of the performance issues mentioned by Bruno Haible in
75         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
76
77 2012-08-20  Eric Blake  <eblake@redhat.com>
78
79         maint.mk: avoid redundant file name in message
80         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
81         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
82         (sc_makefile_path_separator_check): Remove bogus $(ME).
83
84 2012-08-20  Mike Frysinger <vapier@gentoo.org>
85
86         timer-time: fix link order when static linking on glibc
87         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
88         _after_ -lrt so that it's significant.
89
90 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
91
92         timespec: omit unnecessary AC_C_INLINE
93         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
94
95         stat-time: omit unnecessary AC_C_INLINE
96         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
97         Do not require AC_C_INLINE.
98
99         ignore-value: omit unnecessary AC_C_INLINE
100         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
101
102         sys_select: avoid 'static inline'
103         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
104
105         mktime: avoid 'static inline'
106         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
107         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
108
109 2012-08-19  Bruno Haible  <bruno@clisp.org>
110
111         gnulib-tool: Improve coding style.
112         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
113         func_emit_lib_Makefile_am.
114         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
115
116 2012-08-19  Bruno Haible  <bruno@clisp.org>
117
118         gnulib-tool: Fix indentation.
119         * gnulib-tool (func_import): Fix indentation.
120
121 2012-08-19  Bruno Haible  <bruno@clisp.org>
122
123         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
124         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
125         on the list of removed files.
126
127 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
128
129         test-parse-datetime: avoid glibc leap-second glitch
130         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
131         with the 2012 rules.  Problem reported by Bruce Dubbs in
132         <http://bugs.gnu.org/12206>.
133
134 2012-08-14  Bruno Haible  <bruno@clisp.org>
135
136         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
137         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
138         from argument.
139         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
140
141 2012-08-14  Eric Blake  <eblake@redhat.com>
142
143         ldexp: relax license
144         * modules/ldexp (License): Trivial relax, since the module only
145         provides a permissively licensed m4 file.
146
147 2012-08-13  Bruno Haible  <bruno@clisp.org>
148
149         gnulib-tool: Fix persistence of --witness-c-macro option.
150         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
151         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
152
153 2012-08-11  Eric Blake  <eblake@redhat.com>
154
155         count-leading-zeros: use a lookup table on non-gcc compilers
156         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
157         alternate implementation, suggested by Jim Meyering.
158
159 2012-08-10  Eric Blake  <eblake@redhat.com>
160
161         count-leading-zeros: new module
162         * modules/count-leading-zeros: New module.
163         * m4/count-leading-zeros.m4: New file.
164         * lib/count-leading-zeros.h: Likewise.
165         * modules/count-leading-zeros-tests: New test.
166         * tests/test-count-leading-zeros.c: New file.
167         * MODULES.html.sh (Integer arithmetic functions): Document it.
168
169 2012-08-07  Simon Josefsson  <simon@josefsson.org>
170             Jim Meyering  <meyering@redhat.com>
171
172         maintainer-makefile: Fix syntax error with dash.
173         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
174         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
175
176 2012-08-05  Jim Meyering  <meyering@redhat.com>
177
178         extern-inline: also ignore -Wmissing-declarations
179         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
180         required with gcc-4.8.0-to-be.
181
182         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
183         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
184         for /error ?([^,]*)/.  This avoids false-positives for strings like
185         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
186
187 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
188
189         gnumakefile: better interaction with Automake-NG
190         * modules/gnumakefile [Makefile.am]: The makefiles generated by
191         Automake-NG always contain a definition of VPATH, even in non-VPATH
192         builds (its value being simply '.' in that case).  So, in the
193         'clean-GNUmakefile' rule, to determine whether running under a
194         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
195         '$(VPATH)' expands to the empty string.
196
197 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
198
199         base64: Use extern C scope in header file, for C++.
200         * lib/base64.h: Add C++ namespace protection.
201
202 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
203
204         stat-time, timespec, u64: support naive out-of-dir builds
205         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
206         Use '#include "foo.h"', not '#include <foo.h>', when including
207         one's own interface.  This works better when configuring with
208         out-of-directory builds, since packages need not add an
209         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
210
211 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
212
213         utimens: use extern-inline
214         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
215         * lib/utimens.h: Add copyright notice, since this is now large enough
216         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
217         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
218         * modules/utimens (Depends-on): Add extern-inline.
219
220         u64: use extern-inline
221         * lib/u64.c: New file.
222         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
223         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
224         * modules/u64 (Files): Add lib/u64.c.
225         (Depends-on): Add extern-inline.
226         (configure.ac): No need to require AC_C_INLINE, since extern-inline
227         does that now.
228         (lib_SOURCES): Add u64.c.
229
230         timespec: use extern-inline
231         * lib/timespec.c: New file.
232         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
233         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
234         * modules/timespec (Files): Add lib/timespec.c.
235         (Depends-on): Add extern-inline.
236         (lib_SOURCES): Add timespec.c.
237
238         stat-time: use extern-inline
239         * lib/stat-time.c: New file.
240         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
241         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
242         * modules/stat-time (Files): Add lib/stat-time.c.
243         (Depends-on): Add extern-inline.
244         (lib_SOURCES): Add stat-time.c.
245
246         extern-inline: new module
247         * modules/extern-inline, m4/extern-inline.m4: New files.
248         This is for better support of 'extern inline' a la ISO C99,
249         with a portable alternative on compilers that do not support
250         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
251         of the Emacs executable, when compiled with debugging disabled,
252         which is a typical way that Emacs is built while developing.
253
254 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
255
256         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
257         * build-aux/do-release-commit-and-tag: Move variable definitions
258         together.
259         ($branch): Instead of defaulting to "master", default to the current
260         branch (as gnu-web-doc-update does).
261         (help): Display the current values of the option arguments.
262         * top/maint.mk (release-commit): New.
263         * top/README-release: Simplify the corresponding step.
264
265 2012-07-30  Eric Blake  <eblake@redhat.com>
266
267         passfd: fix comment on recvfd
268         * lib/passfd.c (recvfd): Fix comment.
269         Reported by Jann Horn <jannhorn@googlemail.com>.
270
271 2012-07-30  Jim Meyering  <meyering@redhat.com>
272
273         maint.mk: avoid a sub-shell
274         * top/maint.mk (release-prep): Remove unneeded sub-shell.
275
276 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
277
278         maint.mk: use silent-rules support from Automake
279         * top/maint.mk (news-check, vc-diff-check, announcement)
280         (no-submodule-changes, alpha beta stable, release-prep)
281         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
282
283 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
284
285         maint.mk: provide a web-manual-update target
286         * top/maint.mk: here.
287         * top/README-release: Use it to simplify the web manual update step.
288
289 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
290
291         README-release: shorten the circuit to post a news
292         * top/README-release: Point directly to the news submission form.
293
294 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
295
296         gnu-web-doc-update: fix --help
297         * build-aux/gnu-web-doc-update: The information "top level" was written
298         twice.
299
300 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
301
302         maint.mk: absolute VPATH issue
303         * top/maint.mk (release-prep): Help Git find .git/.
304         From Jim Meyering.
305
306 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
307
308         gitlog-to-changelog: fix previous change
309         * build-aux/gitlog-to-changelog: Fix condition.
310         Add missing ";".
311
312 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
313
314         gitlog-to-changelog: don't expect .git to be in $srcdir
315         Reported by Bruno Haible.
316         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
317         * build-aux/gitlog-to-changelog (&git_dir_option): New.
318         Use it.
319
320 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
321
322         maint.mk: absolute VPATH build fix
323         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
324         $(srcdir) is not a parent of $(builddir).
325
326 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
327
328         clean-temp: Fix memory leak.
329         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
330         'files' members of tmpdir.
331
332 2012-07-27  Jim Meyering  <meyering@redhat.com>
333
334         maint.mk: new rule: refresh-gnulib-patches
335         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
336         Use this rule to refresh them.
337         * top/maint.mk (refresh-gnulib-patches): New rule.
338
339 2012-07-24  Bruno Haible  <bruno@clisp.org>
340
341         gnulib-tool: Fix handling of inctests variable.
342         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
343         Reported by Nick Bowler <nbowler@elliptictech.com>.
344
345 2012-07-22  Bruno Haible  <bruno@clisp.org>
346
347         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
348         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
349         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
350         Remove exemption for getpass.h.
351         Suggested by Eric Blake.
352
353 2012-07-20  Eric Blake  <eblake@redhat.com>
354
355         verify: document conflict with -Wnested-externs
356         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
357
358         maint.mk: forbid exit(-1)
359         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
360
361 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
362
363         fsusage: port back to Solaris
364         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
365         error (fsd not declared) on Solaris 10.  Reported privately by
366         Andrew Borodin.
367
368 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
369
370         gnu-web-doc-update: fix error messages
371         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
372
373         gnu-web-doc-update: check the requirements.
374         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
375         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
376         * build-aux/bootstrap (find_tool): Comment change.
377
378 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
379
380         maint.mk: minor simplication.
381         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
382         for default values.
383
384 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
385
386         gitlog-to-changelog: VPATH build issues
387         If builddir is not a subdirectory of srcdir, running git from it will
388         fail.
389         * build-aux/gitlog-to-changelog (--srcdir): New option.
390
391 2012-07-15  Bruno Haible  <bruno@clisp.org>
392
393         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
394         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
395         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
396         Remove exemption for fpending.h.
397         Suggested by Eric Blake.
398
399 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
400
401         pthread_sigmask: fix bug on FreeBSD 9
402         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
403         Include string.h.
404         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
405         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
406         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
407         but pthread_sigmask (1729, NULL, NULL) returns zero.
408         See <http://bugs.gnu.org/11884>.
409         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
410         by inspecting whether the main call changed the old mask.
411
412 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
413
414         README-release: make it more legible
415         * top/README-release: Improve typography slightly.
416
417 2012-07-15  Jim Meyering  <meyering@redhat.com>
418
419         maint: require that each sc_... command start with "@"
420         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
421         "make sc_maint" helps us avoid this nit.
422
423 2012-07-15  Jim Meyering  <meyering@redhat.com>
424
425         maint.mk: add leading "@" to quiet new "make syntax-check" rule
426         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
427
428 2012-07-13  Eric Blake  <eblake@redhat.com>
429
430         maint.mk: new syntax check for HAVE_DECL checks
431         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
432         * cfg.mk
433         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
434         Exempt some false positives.
435         Based on a report by Karel Zak.
436
437         argp: make HAVE_DECL usage consistent
438         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
439         macros, not whether they are defined.
440         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
441         convention with other declaration checks.
442         Reported by Karel Zak, with suggestions from Paul Eggert.
443
444         stat-time: relax license to LGPLv2+
445         * modules/stat-time (License): Relax, with consent of all authors.
446
447         strndup: fix m4 usage error
448         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
449         defined, to either 0 or 1.
450         Reported by Karel Zak.
451
452 2012-07-11  Jim Meyering  <meyering@redhat.com>
453
454         maint: enable the sc_avoid_if_before_free syntax-check rule
455         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
456         (if_before_free_offenders_): Define.
457         (if_before_free_basename_re_): Define.
458         Exempt current files with useless if-before-free.
459
460 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
461
462         gettext: do not assume '#define ... defined ...' behavior
463         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
464         Do not use '#define FOO ... defined BAR ...', as the C standard says
465         it's not portable to expect that this works after macro expansion.
466         Problem reported for gzip by Steven M. Schweda in
467         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
468
469 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
470
471         getloadavg: clean out old Emacs and Autoconf cruft
472         See Glenn Morris in <http://bugs.gnu.org/11905>.
473         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
474         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
475         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
476         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
477
478 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
479
480         bootstrap: let warn be like tests/init.sh's warn_
481         Reported by Jim Meyering.
482         * build-aux/bootstrap (warn): Remove, replaced by...
483         (warnf_, warn_): these.
484         Adjust callers.
485         Shorten messages that no longer fit in 80 columns.
486
487 2012-07-09  Bruno Haible  <bruno@clisp.org>
488
489         getopt: Simplify after Emacs changed.
490         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
491         (gl_GETOPT_IFELSE): Remove macro.
492
493 2012-07-09  Jim Meyering  <meyering@redhat.com>
494
495         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
496         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
497
498         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
499         Bugs in both of those conspired to make the
500         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
501         _sc_search_regexp's handling of non-empty $in_files would filter
502         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
503         choice of in_files value meant there would be no match in most
504         projects, due to the presence of two or more Makefile.in files.
505         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
506         Fix a bug in how a non-empty $$in_files was processed:
507         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
508         in spite of the name, it's a regexp, not a list of file names.
509
510 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
511
512         getloadavg, getopt: fix commentary re configure.in
513         Autoconf is deprecating the name 'configure.in', so change it to
514         to the new name 'configure.ac' in a couple of places.
515         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
516         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
517         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
518         Emacs has renamed it to configure.ac, and it no longer refers
519         to these macros anyway.
520
521         timespec: mark functions with const attributes
522         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
523         Mark with _GL_ATTRIBUTE_CONST.
524
525 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
526
527         canonicalize[-lgpl]: handle "guessing" values when cross-building
528         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
529         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
530         matches "*yes" instead of just "yes".  Regression introduced in commit
531         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
532
533 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
534             Bruno Haible  <bruno@clisp.org>
535
536         canonicalize: make the right guess when cross-compiling to GNU
537         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
538         determine whether cross-compiling to glibc systems, so as to
539         include GNU/Hurd.
540
541 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
542
543         timespec-sub: avoid duplicate include
544         * lib/timespec-sub.c: Do not include <config.h> twice.
545         Reported by Juanma Barranquero.
546
547 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
548
549         bootstrap: use a more consistent error reporting scheme
550         * build-aux/bootstrap (warn, die): New.
551         Use them.
552
553 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
554
555         sys_time: allow too-wide tv_sec
556         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
557         timeval even if tv_sec is wider than time_t.  This allows
558         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
559         as without this patch gnulib replaces struct timeval
560         and OpenBSD futimes therefore has a type mismatch.
561         * doc/posix-headers/sys_time.texi: Mention this.
562
563         pthread: check for both pthread_create and pthread_join
564         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
565         alter the check so that it tests for both pthread_create and
566         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
567         Suggested by Bruno Haible and Richard Yao in
568         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
569
570         parse-datetime: doc tuneup
571         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
572         spacing issues.
573
574 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
575
576         do-release-commit-and-tag: fix the previous commit
577         * build-aux/do-release-commit-and-tag: Actually the test was right,
578         but the comment and the error message were misleading.
579         Fix comment, and improve error message.
580         Perform check first, so that NEWS is not modified uselessly.
581
582         do-release-commit-and-tag: fix typo
583         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
584         _not_ start with a stub.
585
586 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
587
588         pthread: check for pthread_create, not pthread_join
589         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
590         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
591         pthread_join in libc.  I hope this removes the need for all the
592         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
593         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
594
595 2012-07-04  Jim Meyering  <meyering@redhat.com>
596
597         parse-datetime: fix failure to diagnose invalid input
598         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
599         rather than diagnosing the invalid input.  Now it reports this:
600         date: invalid date '\260'
601         * lib/parse-datetime.y (to_uchar): Define.
602         (yylex): Don't sign-extend "other" bytes.
603         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
604         Thanks to Bruno Haible for the patch to this file.
605         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
606         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
607
608 2012-07-03  Jim Meyering  <meyering@redhat.com>
609
610         bootstrap: do not require now-removed build-aux/missing
611         Now that build-aux/missing is, er, missing, bootstrap would
612         silently fail.
613         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
614         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
615         no longer part of gnulib.
616         Diagnose the failure.
617
618 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
619
620         alloca: add support for HP NonStop TNS/E native
621         * lib/alloca.in.h (alloca): Support the new host.
622         From a suggestion by Joachim Schmitz in
623         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
624
625 2012-07-02  Pádraig Brady  <P@draigBrady.com>
626
627         fsusage: remove code not needed on non GNU/Linux systems.
628
629         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
630         Don't include headers no longer needed in this case.
631         * lib/fsusage.c [STAT_STATVFS &&
632         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
633         STAT_STATFS2_FRSIZE to exclude code not used in this case.
634
635 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
636
637         fsusage: include files needed for glibc 2.6 fallback
638         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
639         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
640         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
641         Problem reported by Ludovic Courtès in
642         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
643
644         fsusage: avoid needless check on GNU/Linux
645         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
646         on GNU/Linux systems, since it can't possibly work.
647
648 2012-07-01  Bruno Haible  <bruno@clisp.org>
649
650         log: Fix an autoconf >= 2.64 warning.
651         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
652         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
653
654 2012-06-28  Bruno Haible  <bruno@clisp.org>
655
656         log10f: Fix possible configuration problem.
657         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
658         $LOGF_LIBM.
659         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
660
661 2012-06-28  Bruno Haible  <bruno@clisp.org>
662
663         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
664         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
665         not gl_cv_func_unlink_works.
666         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
667
668 2012-06-27  Eric Blake  <eblake@redhat.com>
669
670         config: drop scripts that automake says are not independent
671         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
672         * build-aux/elisp-comp: Delete.
673         * build-aux/missing: Likewise.
674         * build-aux/ylwrap: Likewise.
675         * modules/elisp-comp: Likewise.
676         * MODULES.html.sh: Drop mention of elisp-comp.
677         * NEWS: Mention this.
678
679 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
680
681         root-uid: new module
682         This is for portability to Tandem's NonStop Kernel.
683         * lib/root-uid.h, modules/root-uid: New files.
684         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
685         * lib/write-any-file.c, tests/test-sethostname2.c:
686         Include "root-uid.h".
687         * lib/euidaccess.c (euidaccess):
688         * lib/pt_chown.c (main):
689         * lib/unlinkdir.c (cannot_unlink_dir):
690         * lib/write-any-file.c (can_write_any_file):
691         * m4/mknod.m4 (gl_FUNC_MKNOD):
692         * tests/test-sethostname2.c (geteuid, main):
693         Don't assume ROOT_UID == 0.
694         * modules/euidaccess (Depends-on):
695         * modules/pt_chown (Depends-on):
696         * modules/sethostname-tests (Depends-on):
697         * modules/unlinkdir (Depends-on):
698         * modules/write-any-file (Depends-on):
699         Add root-uid.
700
701         regex: use locale-independent comparison for codeset name
702         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
703         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
704         for codeset name.
705         * lib/regex_internal.h: Do not include <strings.h>, since we
706         no longer use strcasecmp.
707         * modules/regex (Depends-on): Remove strcase.
708
709 2012-06-23  Bruno Haible  <bruno@clisp.org>
710
711         getopt-posix: No longer guarantee that option processing is resettable.
712         * doc/posix-functions/getopt.texi: Drop description of problem with
713         internal state. Fix info about mingw and msvc9.
714         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
715         option processing by getopt(). Run three test programs instead of one.
716         Simplify cross-compilation guess.
717         * NEWS: Mention the change.
718         Reported by Rich Felker <dalias@aerifal.cx>.
719
720 2012-06-26  Bruno Haible  <bruno@clisp.org>
721
722         argp, regex: Ensure strcasecmp gets declared.
723         * lib/argp-help.c: Include <strings.h>.
724         * lib/regex_internal.h: Likewise.
725         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
726
727 2012-06-24  Bruno Haible  <bruno@clisp.org>
728
729         ptsname_r: Make it consistent with ptsname on AIX.
730         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
731         implementation as for OSF/1.
732         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
733         a pty master.
734
735         ptsname_r: Make it consistent with ptsname on OSF/1.
736         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
737         OSF/1.
738
739 2012-06-24  Bruno Haible  <bruno@clisp.org>
740
741         ttyname_r: Fix result on OSF/1, Solaris.
742         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
743
744 2012-06-24  Bruno Haible  <bruno@clisp.org>
745
746         ptsname_r: Add support for Solaris.
747         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
748         Solaris.
749
750         ptsname_r: Fix test failure on native Windows.
751         * modules/ptsname_r (Depends-on): Add isatty.
752
753         ptsname_r: Fix test failures on IRIX, Solaris.
754         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
755         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
756         accordingly.
757         * lib/ptsname_r.c: Include <fcntl.h>.
758         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
759         set errno if fd is invalid.
760         * tests/test-isatty.c (main): Update comments.
761
762 2012-06-24  Bruno Haible  <bruno@clisp.org>
763
764         ptsname test: Extend test.
765         * tests/test-ptsname.c: Include <errno.h>.
766         (main): Test behaviour with invalid file descriptor.
767
768 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
769
770         time: fix obsolete comment
771         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
772         reference to HAVE_STRUCT_TIMESPEC in comment.
773
774 2012-06-23  Bruno Haible  <bruno@clisp.org>
775
776         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
777         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
778         does not handle abbreviated long options with equivalent
779         disambiguations, set gl_replace_getopt to yes.
780         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
781
782 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
783
784         time_r: fix typo that always overrode localtime_r decl
785         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
786         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
787         not in a standard include.
788
789 2012-06-22  Bruno Haible  <bruno@clisp.org>
790
791         Write "Mac OS X" instead of "MacOS X".
792         * README: Write "Mac OS X" instead of "MacOS X".
793         * build-aux/bootstrap: Likewise.
794         * build-aux/install-reloc: Likewise.
795         * lib/acl-internal.h: Likewise.
796         * lib/acl_entries.c: Likewise.
797         * lib/argp-ba.c: Likewise.
798         * lib/argp-pv.c: Likewise.
799         * lib/config.charset: Likewise.
800         * lib/copy-acl.c: Likewise.
801         * lib/csharpexec.c: Likewise.
802         * lib/euidaccess.c: Likewise.
803         * lib/fbufmode.c: Likewise.
804         * lib/fflush.c: Likewise.
805         * lib/file-has-acl.c: Likewise.
806         * lib/filemode.h: Likewise.
807         * lib/fpurge.c: Likewise.
808         * lib/freadable.c: Likewise.
809         * lib/freadahead.c: Likewise.
810         * lib/freading.c: Likewise.
811         * lib/freadptr.c: Likewise.
812         * lib/freadseek.c: Likewise.
813         * lib/fseeko.c: Likewise.
814         * lib/fseterr.c: Likewise.
815         * lib/fsusage.c: Likewise.
816         * lib/fwritable.c: Likewise.
817         * lib/fwriting.c: Likewise.
818         * lib/get-rusage-as.c: Likewise.
819         * lib/get-rusage-data.c: Likewise.
820         * lib/getdomainname.c: Likewise.
821         * lib/idpriv-drop.c: Likewise.
822         * lib/idpriv-droptemp.c: Likewise.
823         * lib/localcharset.c: Likewise.
824         * lib/locale.in.h: Likewise.
825         * lib/localename.c: Likewise.
826         * lib/mbsrtowcs-state.c: Likewise.
827         * lib/nproc.c: Likewise.
828         * lib/passfd.c: Likewise.
829         * lib/posix_openpt.c: Likewise.
830         * lib/printf-parse.c: Likewise.
831         * lib/progreloc.c: Likewise.
832         * lib/safe-read.h: Likewise.
833         * lib/safe-write.h: Likewise.
834         * lib/sched.in.h: Likewise.
835         * lib/set-mode-acl.c: Likewise.
836         * lib/signal.in.h: Likewise.
837         * lib/stdint.in.h: Likewise.
838         * lib/stdio-impl.h: Likewise.
839         * lib/stdlib.in.h: Likewise.
840         * lib/strtod.c: Likewise.
841         * lib/sys_select.in.h: Likewise.
842         * lib/tcgetsid.c: Likewise.
843         * lib/unistd.in.h: Likewise.
844         * lib/unlockpt.c: Likewise.
845         * lib/vasnprintf.c: Likewise.
846         * lib/vma-iter.c: Likewise.
847         * lib/wcsrtombs-state.c: Likewise.
848         * m4/acl.m4: Likewise.
849         * m4/acosl.m4: Likewise.
850         * m4/asinl.m4: Likewise.
851         * m4/atanl.m4: Likewise.
852         * m4/c-stack.m4: Likewise.
853         * m4/cosl.m4: Likewise.
854         * m4/expl.m4: Likewise.
855         * m4/extensions.m4: Likewise.
856         * m4/fdatasync.m4: Likewise.
857         * m4/fmal.m4: Likewise.
858         * m4/frexp.m4: Likewise.
859         * m4/frexpf.m4: Likewise.
860         * m4/frexpl.m4: Likewise.
861         * m4/fsusage.m4: Likewise.
862         * m4/getdomainname.m4: Likewise.
863         * m4/getloadavg.m4: Likewise.
864         * m4/getopt.m4: Likewise.
865         * m4/gettext.m4: Likewise.
866         * m4/gnulib-common.m4: Likewise.
867         * m4/intdiv0.m4: Likewise.
868         * m4/intlmacosx.m4: Likewise.
869         * m4/largefile.m4: Likewise.
870         * m4/ldexpl.m4: Likewise.
871         * m4/link-follow.m4: Likewise.
872         * m4/locale-ar.m4: Likewise.
873         * m4/locale-fr.m4: Likewise.
874         * m4/locale-ja.m4: Likewise.
875         * m4/locale-tr.m4: Likewise.
876         * m4/locale-zh.m4: Likewise.
877         * m4/locale_h.m4: Likewise.
878         * m4/lock.m4: Likewise.
879         * m4/logl.m4: Likewise.
880         * m4/mathfunc.m4: Likewise.
881         * m4/minus-zero.m4: Likewise.
882         * m4/mktime.m4: Likewise.
883         * m4/mmap-anon.m4: Likewise.
884         * m4/multiarch.m4: Likewise.
885         * m4/nanosleep.m4: Likewise.
886         * m4/nocrash.m4: Likewise.
887         * m4/poll.m4: Likewise.
888         * m4/printf-frexpl.m4: Likewise.
889         * m4/printf.m4: Likewise.
890         * m4/signbit.m4: Likewise.
891         * m4/sinl.m4: Likewise.
892         * m4/sqrtl.m4: Likewise.
893         * m4/strerror_r.m4: Likewise.
894         * m4/tanl.m4: Likewise.
895         * m4/threadlib.m4: Likewise.
896         * m4/ttyname_r.m4: Likewise.
897         * m4/unlink.m4: Likewise.
898         * m4/visibility.m4: Likewise.
899         * m4/wcwidth.m4: Likewise.
900         * tests/minus-zero.h: Likewise.
901         * tests/test-alloca-opt.c: Likewise.
902         * tests/test-copy-acl.sh: Likewise.
903         * tests/test-copy-file.sh: Likewise.
904         * tests/test-fdatasync.c: Likewise.
905         * tests/test-file-has-acl.sh: Likewise.
906         * tests/test-flock.c: Likewise.
907         * tests/test-fsync.c: Likewise.
908         * tests/test-localename.c: Likewise.
909         * tests/test-malloca.c: Likewise.
910         * tests/test-nonblocking-pipe.h: Likewise.
911         * tests/test-nonblocking-socket.h: Likewise.
912         * tests/test-openpty.c: Likewise.
913         * tests/test-posix_openpt.c: Likewise.
914         * tests/test-ptsname.c: Likewise.
915         * tests/test-ptsname_r.c: Likewise.
916         * tests/test-sameacls.c: Likewise.
917         * tests/test-select.h: Likewise.
918         * tests/test-set-mode-acl.sh: Likewise.
919         * tests/test-snprintf-posix.h: Likewise.
920         * tests/test-sprintf-posix.h: Likewise.
921         * tests/test-strtod.c: Likewise.
922         * tests/test-time.c: Likewise.
923         * tests/test-vasnprintf-posix.c: Likewise.
924         * tests/test-vasprintf-posix.c: Likewise.
925         * doc/acl-resources.txt: Likewise.
926         * doc/**/*.texi: Likewise.
927         Reported by Max Horn <max@quendi.de>.
928
929 2012-06-22  Bruno Haible  <bruno@clisp.org>
930
931         grantpt: Relax requirement regarding invalid file descriptors.
932         * lib/grantpt.c: Don't include <fcntl.h>.
933         (grantpt): Don't verify the validity of the file descriptor.
934         * modules/grantpt (Depends-on): Remove fcntl-h.
935         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
936         file descriptors.
937         * doc/posix-functions/grantpt.texi: Document more platforms on which
938         grantpt succeeds for invalid file descriptors.
939         Reported by Rich Felker <dalias@aerifal.cx>.
940
941 2012-06-22  Bruno Haible  <bruno@clisp.org>
942
943         fbufmode test: Don't test unportable behaviour.
944         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
945         (main): Invoke it three times.
946         Reported by Szabolcs Nagy <nsz@port70.net>
947         and Rich Felker <dalias@aerifal.cx>.
948
949 2012-06-21  Bruno Haible  <bruno@clisp.org>
950
951         gnulib-tool: Refactor inctests variable.
952         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
953         (func_modules_transitive_closure,
954         func_modules_transitive_closure_separately,
955         func_import, func_create_testdir): Update.
956
957         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
958         * gnulib-tool: Accept option --without-tests.
959         (func_usage): Document --without-tests option. Rearrange.
960         (inctests): Normalize according to the mode.
961         * NEWS: Mention the change.
962         Suggested by Simon Josefsson.
963
964 2012-06-21  Bruce Korb  <bkorb@gnu.org>
965
966         parse-duration test: Avoid spurious output.
967         * tests/test-parse-duration.sh: Reindent with leading tabs.
968
969 2012-06-21  Jim Meyering  <meyering@redhat.com>
970
971         maint: disable the strncpy prohibition
972         * cfg.mk: Do not prohibit strncpy here.
973
974 2012-06-21  Bruno Haible  <bruno@clisp.org>
975
976         nonblocking: Avoid compilation error on mingw64.
977         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
978         fscanf.
979         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
980         * modules/vfscanf (configure.ac): Likewise.
981         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
982         definition only if stdio.h has prepared it.
983         Reported by Daniel P. Berrange <berrange@redhat.com>.
984
985 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
986
987         gnulib-tool: Use readlink if it is available.
988         * gnulib-tool (func_readlink): Choose function more appropriately.
989
990 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
991
992         posixtm-tests: port to buggy compiler
993         Problem reported by Simon Josefsson in
994         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
995         * modules/posixtm-tests (Depends-on): Add stdint.
996         * tests/test-posixtm.c (struct posixtm_test.t_expected):
997         Now of type int_least64_t, not int64_t, both because that's
998         what INT64_C returns and because int_least64_t works even
999         on 72-bit hosts.
1000         (T): Use INT64_C on constants outside the traditional int range,
1001         to work around compiler bug noted by Simon.
1002
1003         mktime: fix integer overflow in 'configure'-time test
1004         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
1005         after integer overflow.  Problem reported by Rich Felker in
1006         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
1007         Also, don't look for further instances of a bug if we've already
1008         found one instance; this helps 'configure' run faster.
1009
1010 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
1011
1012         tmpfile, clean-temp: Fix invocation of GetVersionEx.
1013         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
1014         GetVersionEx correctly.
1015         * lib/clean-temp.c (supports_delete_on_close): Likewise.
1016
1017 2012-06-20  Bruno Haible  <bruno@clisp.org>
1018
1019         fdopen: Allow implementations that don't reject invalid fd arguments.
1020         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
1021         succeeds.
1022         Reported by Rich Felker <dalias@aerifal.cx>.
1023
1024 2012-06-20  Simon Josefsson  <simon@josefsson.org>
1025
1026         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
1027         bring in LIBINTL.
1028
1029 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1030
1031         init.sh: do not rely on autoupated PWD
1032         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
1033         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
1034         Although Nelson's bug was not necessarily fixed by this patch,
1035         it seems wise to make the change for safety.
1036         * tests/init.sh (path_prepend_): Do not rely on PWD updating
1037         automagically after 'cd'; this is not reliable on older shells.
1038         (setup_): Fail if we cannot cd to temporary directory.
1039
1040 2012-06-19  Bruno Haible  <bruno@clisp.org>
1041
1042         stat, fstat: Avoid warnings on mingw64.
1043         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
1044         redefining.
1045         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
1046         Reported by Daniel P. Berrange <berrange@redhat.com>.
1047
1048 2012-06-19  Bruno Haible  <bruno@clisp.org>
1049
1050         stdioext: Add support for musl libc.
1051
1052         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
1053         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
1054
1055         * m4/fseterr.m4: New file.
1056         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
1057         function exists.
1058         * modules/fseterr (Files): Add m4/fseterr.m4.
1059         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
1060         __fseterr does not exist.
1061         (Makefile.am): Remove fseterr.c from lib_SOURCES.
1062
1063         * lib/freadable.h: Update comment.
1064
1065         * lib/fwritable.h: Update comment.
1066
1067         * lib/freading.h: Update comment.
1068
1069         * lib/fwriting.h: Update comment.
1070
1071         * m4/freadahead.m4: New file.
1072         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
1073         that function exists.
1074         * modules/freadahead (Files): Add m4/freadahead.m4.
1075         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
1076         __freadahead does not exist.
1077         (Makefile.am): Remove freadahead.c from lib_SOURCES.
1078
1079         * m4/freadptr.m4: New file.
1080         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
1081         function exists.
1082         * modules/freadptr (Files): Add m4/freadptr.m4.
1083         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
1084         __freadptr does not exist.
1085         (Makefile.am): Remove freadptr.c from lib_SOURCES.
1086
1087         * m4/freadseek.m4: New file.
1088         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
1089         exists.
1090         * modules/freadseek (Files): Add m4/freadseek.m4.
1091         (configure.ac): Invoke gl_FUNC_FREADSEEK.
1092
1093         * lib/fpurge.c (fpurge): Update comment.
1094
1095         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
1096
1097 2012-06-19  Bruno Haible  <bruno@clisp.org>
1098
1099         *printf-posix: Put more info into config.log.
1100         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
1101         exit code into config.log.
1102
1103 2012-06-19  Bruno Haible  <bruno@clisp.org>
1104
1105         getopt-gnu: Fix exit code overflow in autoconf test.
1106         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
1107         to keep them below < 128.
1108
1109 2012-06-17  Jim Meyering  <meyering@redhat.com>
1110
1111         maint.mk: fix typo in code to derive GPG key at release time
1112         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
1113
1114 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1115
1116         regex: avoid warning when pointers are not long
1117         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
1118         and uintptr_t, not long, for portability to hosts where pointers and
1119         long have different sizes.  Issue noted by Daniel P. Berrange in
1120         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
1121         and fix suggested by Bruno Haible in
1122         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
1123
1124 2012-06-17  Bruno Haible  <bruno@clisp.org>
1125
1126         dummy: Relicense into the public domain.
1127         * modules/dummy (License): Set to "public domain".
1128         Suggested by Reuben Thomas.
1129
1130 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1131
1132         announce-gen: VPATH issues
1133         * build-aux/announce-gen (--srcdir): New option, used to trim the
1134         $srcdir part of the path from $builddir to NEWS.
1135         * top/maint.mk (announcement): Adjust.
1136
1137 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1138
1139         gnu-web-doc-update: VPATH builds
1140         * build-aux/gnu-web-doc-update (--builddir): New option.
1141         Revamp the handling of options.
1142         Prefer $(...) to `...`.
1143         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
1144         the template, and it is GNU mktemp specific.
1145         Prefer set -e to long series of &&.
1146         Restore the initial git branch, not "master".
1147         Properly initialize submodules (don't rely only on bootstrap).
1148         Do not reconfigure blindly, use config.status.
1149         * top/README-release: Update instructions for gnu-web-doc-update.
1150
1151 2012-06-11  Jim Meyering  <meyering@redhat.com>
1152
1153         maint.mk: revert most of the previous change re "all these"
1154         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
1155         For rationale, see the discussion at
1156         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
1157
1158 2012-06-10  Karl Berry  <karl@gnu.org>
1159
1160         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
1161
1162         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
1163
1164 2012-06-10  Bruce Korb  <bkorb@gnu.org>
1165
1166         parse-duration: Relicense under LGPLv2+.
1167         * modules/parse-duration (License): Change to LGPLv2+.
1168
1169 2012-06-10  Jim Meyering  <meyering@redhat.com>
1170
1171         maint.mk: prohibit common grammar error: "all these"
1172         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
1173         the list of prohibited word sequences.  It should be "all of these".
1174         * lib/tempname.c (__gen_tempname): Fix one of them.
1175
1176 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1177
1178         do-release-commit-and-tag: support VPATH builds
1179         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
1180         (noteworthy): Defined earlier to factor its value.
1181         (noteworthy_stub): New.
1182         Use it to factor.
1183         (help_version): Split into...
1184         (help, version): these.
1185         Adjust the option processing part.
1186         Support "--option=value" in addition to "--option value".
1187         (builddir): New.
1188         (--builddir): New option.
1189         * top/README-release: Document this.
1190         Reword slightly so that the reader cannot understand that he
1191         has to do these steps before calling do-release-commit-and-tag.
1192
1193 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1194
1195         readme-release: also require announce-gen and maintainer-makefile
1196         * modules/readme-release (Depends-on): here.
1197         * modules/announce-gen, modules/do-release-commit-and-tag,
1198         modules/gnu-web-doc-update, modules/maintainer-makefile
1199         (Description): Point to readme-release.
1200
1201 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1202
1203         maint.mk: fix VPATH issues.
1204         * top/maint.mk (news-check): GNU Make understand $< very well.
1205         (release-prep): NEWS is in $(srcdir).
1206
1207 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
1208
1209         readme-release: require the promoted modules.
1210         * modules/readme-release (Depends-on): Add
1211         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
1212         in this text.
1213
1214 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1215             Bruno Haible  <bruno@clisp.org>
1216
1217         error, strerror-override: Support mingw64 from Fedora 17.
1218         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
1219         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
1220         EINPROGRESS.
1221         * lib/strerror-override.h (strerror_override): Test it.
1222         * lib/strerror-override.c (strerror_override): Likewise.
1223         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
1224
1225 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1226             Bruno Haible  <bruno@clisp.org>
1227
1228         error, strerror-override: Support mingw64 from Fedora 17.
1229         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
1230         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
1231         * lib/strerror-override.h (strerror_override): Test it.
1232         * lib/strerror-override.c (strerror_override): Likewise.
1233
1234 2012-06-03  Bruno Haible  <bruno@clisp.org>
1235
1236         error, strerror-override: Support new errno values from POSIX:2008.
1237         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
1238         ENOTRECOVERABLE.
1239         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
1240         platforms.
1241         * lib/strerror-override.c (strerror_override): Conditionalize the
1242         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
1243         * lib/strerror-override.h (strerror_override): Declare also if
1244         GNULIB_defined_EOWNERDEAD is defined.
1245         * tests/test-errno.c (e130, e131): New variables.
1246         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
1247         ENOTRECOVERABLE.
1248         Reported by Paolo Bonzini.
1249
1250 2012-05-31  Jim Meyering  <meyering@redhat.com>
1251
1252         savewd: add missing dependency on sys_wait module
1253         * modules/savewd (Depends-on): Add sys_wait, needed at least
1254         for MSVC.  Report and suggested change by Michael Goffioul.
1255
1256 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1257
1258         system-quote-tests: port to CentOS 5
1259         Problem reported by Tom G. Christensen in
1260         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
1261         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
1262
1263 2012-05-29  Jim Meyering  <meyering@redhat.com>
1264
1265         maint: fix typos in comments and ChangeLog
1266         Culprits identified and fixed mostly automatically using these commands:
1267         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
1268         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
1269         using http://github.com/lyda/misspell-check
1270         * ChangeLog: Fix typos.
1271         * doc/solaris-versions: Likewise.
1272         * lib/regexec.c (re_search_stub): Likewise.
1273         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
1274
1275 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1276
1277         manywarnings: remove duplicate -Wmultichar entry
1278         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
1279         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
1280         so keep the entry marked as documented.
1281
1282 2012-05-27  Karl Berry  <karl@gnu.org>
1283
1284         * config/srclist.txt (mktime.c): remove last libc sync,
1285         perhaps just temporarily.
1286
1287 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1288
1289         regex: don't assume uint64_t or uint32_t
1290         * lib/regcomp.c (init_word_char): Don't assume that the types
1291         uint64_t and uint32_t exist.  The C standard doesn't guarantee
1292         them, and on some 32-bit compilers there is no uint64_t.
1293         Problem reported by Gianluigi Tiesi in
1294         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
1295
1296 2012-05-25  Jim Meyering  <meyering@redhat.com>
1297
1298         maint.mk: add strncpy-prohibiting syntax-check rule
1299         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
1300
1301 2012-05-24  Jim Meyering  <meyering@redhat.com>
1302
1303         maint.mk: compute $(gpg_key_ID) more portably
1304         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
1305         That use of sed is not portable to some fringe systems.
1306         Reported by Paul Eggert in
1307         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
1308
1309 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1310
1311         mktime: sync from glibc
1312         * config/srclist.txt: Uncomment mktime.c.
1313         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
1314         First, indent with tabs, since glibc uses tabs and doesn't want to
1315         change and we'd rather be identical to glibc.  Also, two small
1316         coding changes:
1317         (isdst_differ): Use &&, not &, as && is the usual style.
1318         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
1319         for clarity.
1320
1321 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1322
1323         announce-gen: du -h is more portable than du --human
1324         * build-aux/announce-gen (sizes): Invoke du with -h instead
1325         of --human.  Accept leading white space in its output.
1326
1327 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1328
1329         announce-gen: Improve diagnostics.
1330         * build-aux/announce-gen: When parsing command line options,
1331         prefer "announce-gen: option --release-type requires an argument"
1332         to "Option release-type requires an argument".
1333
1334 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1335
1336         maint.mk: gpg_key_ID: use sed more portably
1337         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
1338         the closing brace.
1339         (refresh-po): Fuse two sed invocations into one.
1340
1341 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
1342
1343         gitlog-to-changelog: support the log message format used in Bison.
1344         * build-aux/gitlog-to-changelog: Support --strip-tab and
1345         --strip-cherry-picked.
1346
1347 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1348
1349         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
1350         the rest of the current time slice to another thread in the current
1351         process. So if the thread that feeds the file decscriptor we're
1352         polling is not in the current process, we get busy-waiting.
1353         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
1354         Patch from Theodore Leblond.
1355         * lib/select.c: Split polling out of the loop that sets the output
1356         fd_sets.  Check for zero result and loop if the wait timeout is
1357         infinite.
1358
1359 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1360
1361         select: Fix build error on IRIX 6.5.
1362         * lib/select.c: Include stddef.h for NULL.
1363
1364 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1365
1366         gc: fix libgcrypt detection on older machines.
1367         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
1368         copyright years because the file has been distributed every year
1369         since it was created.
1370
1371 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1372
1373         crypto: fix bug in large buffer handling
1374         Problem reported by Serge Belyshev for glibc in
1375         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
1376         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
1377         * lib/md4.c (md4_process_block):
1378         * lib/md5.c (md5_process_block):
1379         * lib/sha1.c (sha1_process_block):
1380         * lib/sha256.c (sha256_process_block):
1381         Don't assume the buffer length is less than 2**32.
1382         * lib/sha512.c (sha512_process_block): Likewise.
1383         Here, the bug is present only in the rare case where the host does
1384         not support uint64_t or where size_t is wider than 64 bits.
1385         Use u64size to work around the problems.
1386         * lib/u64.h (u64size): New macro.
1387
1388 2012-05-15  Pádraig Brady  <P@draigBrady.com>
1389
1390         fsusage: fix block size returned on older Linux 2.6
1391
1392         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
1393         which is available since Linux 2.6.
1394         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
1395         when the member is available so it can be used as a fallback.
1396         * doc/posix-functions/statvfs.texi: Mention the hang issue
1397         on Linux < 2.6.36.
1398
1399 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
1400
1401         bootstrap: suppress stderr chatter
1402         * build-aux/bootstrap (insert_sorted_if_absent, main program):
1403         Omit unnecessary chatter to stderr.  The main program chatter
1404         was there only inadvertantly.
1405
1406         bootstrap: .gitignore files created by autopoint, libtool
1407         I ran into this problem when bootstrapping the latest diffutils.
1408         After './bootstrap', 'git status' reported lots of untracked files
1409         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
1410         autopoint and do not need to be version-controlled.
1411         * build-aux/bootstrap: Put into .gitignore the files that
1412         autopoint and libtool create, by keeping track of files that exist
1413         after but not before these programs are run.
1414         (version_controlled_file): Move up.  2nd arg is now full file
1415         name, not base name; this is more convenient.  Put CVS at the end,
1416         as it's now somewhat deprecated.
1417
1418 2012-05-14  Jim Meyering  <meyering@redhat.com>
1419
1420         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
1421         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
1422         definition.  Reported by Bruno Haible.
1423
1424 2012-05-13  Bruno Haible  <bruno@clisp.org>
1425             Paul Eggert  <eggert@cs.ucla.edu>
1426
1427         binary-io: Define set_binary_mode function.
1428         * lib/binary-io.h (set_binary_mode): New function.
1429         (SET_BINARY): Define in terms of set_binary_mode.
1430         * modules/binary-io (configure.ac): Require AC_C_INLINE.
1431         * tests/test-binary-io.c (main): Accept an argument, and test either
1432         set_binary_mode or SET_BINARY depending on the argument.
1433         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
1434         argument. Clean up also t-bin-out0.tmp.
1435
1436 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1437
1438         bootstrap: take advantage of POSIX shell features
1439
1440         The 'bootstrap' script offered by Gnulib script already uses POSIX
1441         shell features (like $((...)) arithmetic expansions) that are not
1442         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
1443         means that bootstrap must already be run using a proper POSIX shell,
1444         which will thus provide more features, like ${var#pattern} parameter
1445         expansion or inversion of a command exit status with '!'.  We can
1446         thus use these features to improve the clarity and the performances
1447         of the bootstrap script.
1448
1449         Suggested by Eric Blake.
1450
1451         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
1452         of sed/expr plus command substitutions, to save some forks.  While
1453         we are at it, prefer the POSIX $(...) form of command substitution,
1454         rather than the legacy form `...` (since the former is visually
1455         clearer and interacts better with quoting), and prefer the idiom:
1456           "if ! CMD; then ACTION ..."
1457         over the idiom:
1458           "if CMD; then :; else ACTION ..."
1459         which was required by legacy Bourne shells not supporting '!'.
1460
1461 2012-05-12  Bruno Haible  <bruno@clisp.org>
1462
1463         system-quote: Add more comments.
1464         * lib/system-quote.h: Add more comments about wilcards and limitations.
1465         Suggested by Eli Zaretskii <eliz@gnu.org>.
1466
1467         sh-quote, system-quote: Add comments about wildcards.
1468         * lib/sh-quote.h: Clarify what happens with wildcard characters.
1469         * lib/system-quote.h: Likewise.
1470         Reported by Eli Zaretskii <eliz@gnu.org>.
1471
1472 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
1473
1474         fsusage: check for GNU/Linux statvfs problem dynamically
1475         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
1476         Define STAT_STATFS2_BSIZE too, since in this case the code now
1477         checks dynamically whether statvfs is reliable, falling back on
1478         Linux-style statfs otherwise.
1479         (statvfs_works): New function, for dynamically testing statvfs.
1480         (get_fs_usage) [STAT_STATVFS]: Use it.
1481         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
1482         statvfs on GNU/Linux hosts, since it's now done dynamically.
1483
1484 2012-05-10  Bruno Haible  <bruno@clisp.org>
1485
1486         system-quote, execute, spawn-pipe: Escape '?' on Windows.
1487         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
1488         '?' character.
1489         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
1490         * tests/test-system-quote-main.c (check_all): Check also strings like
1491         "??????????".
1492         Reported by Eli Zaretskii <eliz@gnu.org>.
1493
1494 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
1495
1496         _Noreturn: port config.h to gcc -Wundef
1497         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
1498         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
1499         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
1500
1501 2012-05-10  Bruno Haible  <bruno@clisp.org>
1502
1503         system-quote: Refactor.
1504         * lib/system-quote.h (system_quote_copy): Fix comment.
1505         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
1506         New functions, extracted from system_quote_copy.
1507         (system_quote_length, system_quote_copy): Use these functions.
1508         Reported by Paul Eggert.
1509
1510 2012-05-08  Bruno Haible  <bruno@clisp.org>
1511
1512         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
1513         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
1514
1515 2012-05-08  Bruno Haible  <bruno@clisp.org>
1516
1517         Tests for module 'system-quote'.
1518         * modules/system-quote-tests: New file.
1519         * tests/test-system-quote.sh: New file.
1520         * tests/test-system-quote-main.c: New file.
1521         * tests/test-system-quote-child.c: New file.
1522
1523         New module 'system-quote'.
1524         * lib/system-quote.h: New file.
1525         * lib/system-quote.c: New file.
1526         * modules/system-quote: New file.
1527
1528 2012-05-08  Bruno Haible  <bruno@clisp.org>
1529
1530         sh-quote: Make C++ safe and allow multiple inclusion.
1531         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
1532         declarations in extern "C".
1533
1534 2012-05-08  Bruno Haible  <bruno@clisp.org>
1535
1536         sh-quote tests: Make tests stricter.
1537         * tests/test-sh-quote.c (check_one): Check the return value of
1538         shell_quote_copy.
1539         (main): Check a string with a CR character. Check a string that
1540         contains UCHAR_MAX.
1541
1542 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
1543
1544         warnings.m4: provide a means to specify the program to compile.
1545         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
1546         (gl_WARN_ADD): here.
1547         Use gl_AS_VAR_APPEND.
1548         Support an argument to specify the program to compile.
1549         (gl_WARN_ADD): Accept an argument to specify the program to compile.
1550         AC_SUBST the WARN_CFLAGS when they are used.
1551         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
1552         leave this to gl_WARN_ADD.
1553
1554 2012-05-08  Eric Blake  <eblake@redhat.com>
1555
1556         doc: recommendations on gettext version
1557         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
1558         choice between versions.
1559         * DEPENDENCIES (gettext): Cover both approaches.
1560
1561 2012-05-08  Jim Meyering  <meyering@redhat.com>
1562
1563         init.sh: explain why EXEEXT support uses aliases rather than functions
1564         * tests/init.sh: Add a comment.
1565
1566         init.sh: don't let bash aliases interfere with tests
1567         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
1568         is bash.  This avoids problems for those who alias standard commands to
1569         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
1570         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
1571
1572 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1573
1574         stdint: be more consistent with glibc, SunOS libc
1575         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
1576         (gl_int_fast16_t, gl_uint_fast16_t)
1577         (gl_int_fast32_t, gl_uint_fast32_t)
1578         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
1579         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
1580         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
1581         Be consistent with glibc by default, and with SunOS 5.10 and later
1582         if __sun is defined.  This lessens the likelihood of clashes if
1583         code compiled for older hosts is combined with code compiled for
1584         newer ones.  Problem reported by Niels Möller in
1585         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
1586
1587 2012-05-07  Eric Blake  <eblake@redhat.com>
1588
1589         isatty: relax license to LGPLv2+
1590         * modules/isatty (License): Relax license.
1591
1592 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1593
1594         stat-size: comment fix
1595         * lib/stat-size.h: Remove obsolete comment about indenting.
1596
1597 2012-05-06  Bruno Haible  <bruno@clisp.org>
1598
1599         Tests for module 'sh-quote'.
1600         * modules/sh-quote-tests: New file.
1601         * tests/test-sh-quote.c: New file.
1602
1603 2012-05-06  Bruno Haible  <bruno@clisp.org>
1604
1605         sh-quote: Improve shell_quote_argv's signature.
1606         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
1607         * lib/sh-quote.c (shell_quote_argv): Likewise.
1608
1609 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1610
1611         stdint: document issues with int_fast8_t etc.
1612         * doc/posix-headers/stdint.texi (stdint.h): Say that other
1613         stdint.h substitutes may define these types differently.  See
1614         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
1615
1616 2012-05-05  Bruno Haible  <bruno@clisp.org>
1617
1618         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
1619         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
1620         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
1621         or 'guessing no (mishandles large arguments)'.
1622
1623 2012-05-05  Bruno Haible  <bruno@clisp.org>
1624
1625         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
1626         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
1627         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1628         set gl_cv_func_link_follows_symlink to "guessing no".
1629
1630 2012-05-05  Bruno Haible  <bruno@clisp.org>
1631
1632         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
1633         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
1634         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
1635         "guessing no".
1636         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
1637
1638 2012-05-05  Bruno Haible  <bruno@clisp.org>
1639
1640         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
1641         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
1642         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1643         set gl_cv_struct_dirent_d_ino to "guessing yes".
1644
1645 2012-05-05  Bruno Haible  <bruno@clisp.org>
1646
1647         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
1648         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
1649         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
1650         "guessing yes".
1651
1652 2012-05-05  Bruno Haible  <bruno@clisp.org>
1653
1654         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
1655         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
1656         compiling to a glibc system, set gl_cv_func_signbit and
1657         gl_cv_func_signbit_gcc to "guessing yes".
1658
1659 2012-05-05  Bruno Haible  <bruno@clisp.org>
1660
1661         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
1662         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
1663         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
1664         to "guessing yes".
1665         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
1666         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
1667
1668 2012-05-05  Bruno Haible  <bruno@clisp.org>
1669
1670         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
1671         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
1672         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
1673         gl_cv_func_realpath_works to "guessing yes".
1674
1675 2012-05-05  Bruno Haible  <bruno@clisp.org>
1676
1677         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
1678         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
1679         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
1680
1681 2012-05-04  Bruno Haible  <bruno@clisp.org>
1682
1683         Tweak last commit.
1684         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
1685         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1686
1687 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
1688
1689         unistd_h: make it easier to avoid sys_types_h
1690         This is useful for Emacs, which has its own method of porting to
1691         Windows, and which therefore does not need the sys_types_h module.
1692         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
1693         code moved here from gl_SYS_TYPES_H.
1694         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
1695         using the code directly.
1696         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
1697         gl_SYS_TYPES_H.
1698         * modules/sys_types (Files):
1699         * modules/unistd (Files): Add m4/off_t.m4.
1700
1701 2012-05-03  Bruno Haible  <bruno@clisp.org>
1702
1703         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
1704         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
1705         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
1706         "guessing yes" or "guessing no".
1707         (gl_FUNC_LSTAT): Update.
1708         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
1709         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1710         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
1711
1712 2012-05-03  Bruno Haible  <bruno@clisp.org>
1713
1714         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
1715         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
1716         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
1717         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
1718         cross-compiling, choose the first alternative on glibc systems.
1719         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
1720
1721 2012-05-03  Bruno Haible  <bruno@clisp.org>
1722
1723         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
1724         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
1725         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
1726
1727 2012-05-03  Bruno Haible  <bruno@clisp.org>
1728
1729         chown: Avoid "guessing no" when cross-compiling to glibc systems.
1730         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
1731
1732 2012-05-03  Bruno Haible  <bruno@clisp.org>
1733
1734         Avoid "guessing no" guesses when cross-compiling to glibc systems.
1735         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
1736         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
1737         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
1738         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
1739         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
1740         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
1741         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
1742         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
1743         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
1744         compiling to glibc systems, set gl_cv_func_chown_slash_works,
1745         gl_cv_func_chown_ctime_works to "guessing yes".
1746         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
1747         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
1748         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
1749         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
1750         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
1751         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
1752         compiling to glibc systems, set gl_cv_func_open_directory_works to
1753         "guessing yes".
1754         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
1755         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
1756         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
1757         "guessing yes".
1758         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
1759         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
1760         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
1761         compiling to glibc systems, set gl_cv_func_floorf_ieee to
1762         "guessing yes".
1763         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
1764         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
1765         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
1766         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
1767         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
1768         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
1769         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
1770         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
1771         "guessing yes".
1772         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
1773         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
1774         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
1775         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
1776         "guessing yes".
1777         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
1778         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
1779         "guessing yes".
1780         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
1781         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
1782         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
1783         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
1784         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
1785         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
1786         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
1787         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
1788         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
1789         compiling to glibc systems, set gl_cv_func_log10f_ieee to
1790         "guessing yes".
1791         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
1792         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
1793         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
1794         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
1795         "guessing yes".
1796         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
1797         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
1798         "guessing yes".
1799         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
1800         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
1801         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
1802         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
1803         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
1804         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
1805         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
1806         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
1807         compiling to glibc systems, set gl_cv_func_mkfifo_works to
1808         "guessing yes".
1809         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
1810         compiling to glibc systems, set gl_cv_func_mknod_works to
1811         "guessing yes".
1812         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
1813         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
1814         "guessing yes".
1815         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
1816         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
1817         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
1818         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
1819         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
1820         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
1821         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
1822         compiling to glibc systems, set gl_cv_func_svid_putenv to
1823         "guessing yes".
1824         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
1825         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
1826         "guessing yes".
1827         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
1828         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
1829         "guessing yes".
1830         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
1831         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
1832         to "guessing yes".
1833         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
1834         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
1835         to "guessing yes".
1836         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
1837         compiling to glibc systems, set gl_cv_func_rmdir_works to
1838         "guessing yes".
1839         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
1840         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
1841         gl_cv_func_unlink_parent_fails to "guessing yes".
1842         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
1843         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
1844         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
1845         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
1846         gl_cv_func_rename_dest_works to "guessing yes".
1847         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
1848         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
1849         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
1850         compiling to glibc systems, set gl_cv_func_roundf_ieee to
1851         "guessing yes".
1852         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
1853         compiling to glibc systems, set gl_cv_func_roundl_ieee to
1854         "guessing yes".
1855         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
1856         compiling to glibc systems, set gl_cv_func_setenv_works to
1857         "guessing yes".
1858         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
1859         compiling to glibc systems, set gl_cv_func_unsetenv_works to
1860         "guessing yes".
1861         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
1862         compiling to glibc systems, set gl_cv_func_sleep_works to
1863         "guessing yes".
1864         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
1865         compiling to glibc systems, set gl_cv_func_stat_file_slash to
1866         "guessing yes".
1867         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
1868         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
1869         "guessing yes".
1870         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
1871         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
1872         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
1873         compiling to glibc systems, set gl_cv_func_truncf_ieee to
1874         "guessing yes".
1875         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
1876         compiling to glibc systems, set gl_cv_func_truncl_ieee to
1877         "guessing yes".
1878         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
1879         compiling to glibc systems, set gl_cv_func_usleep_works to
1880         "guessing yes".
1881         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
1882         compiling to glibc systems, set gl_cv_func_futimesat_works to
1883         "guessing yes".
1884
1885 2012-05-03  Bruno Haible  <bruno@clisp.org>
1886
1887         Say "guessing yes" or "guessing no" when cross-compiling.
1888         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
1889         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
1890         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
1891         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
1892         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
1893         am_cv_func_working_getline to "guessing yes" or "guessing no".
1894         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
1895         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
1896         (gl_FUNC_MEMMEM): When cross-compiling, set
1897         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
1898         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
1899         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
1900         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
1901         set gl_cv_func_strcasestr_works_always to "guessing yes" or
1902         "guessing no".
1903         (gl_FUNC_STRCASESTR): When cross-compiling, set
1904         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
1905         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
1906         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
1907         (gl_FUNC_STRSTR): When cross-compiling, set
1908         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
1909         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
1910         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
1911         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
1912         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
1913
1914 2012-05-01  Bruno Haible  <bruno@clisp.org>
1915
1916         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
1917         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
1918         * build-aux/reloc-ldflags: Likewise.
1919         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
1920
1921 2012-05-01  Bruno Haible  <bruno@clisp.org>
1922
1923         gnulib-tool: Remove transitional code.
1924         * gnulib-tool: Don't warn about --import with 0 arguments any more.
1925         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1926
1927 2012-05-01  Bruno Haible  <bruno@clisp.org>
1928
1929         getcwd: Fix misindentation.
1930         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
1931
1932 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
1933
1934         exclude: process exclude and include directives in order
1935         This restores the pre-2009 behavior, and is part of a fix of a
1936         grep bug reported by Quentin Arce in
1937         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
1938         * lib/exclude.c (struct exclude): Remove 'tail' member.
1939         (new_exclude_segment): Prepend the new segment instead of appending.
1940         Return void, since that's now more convenient.
1941         (file_pattern_matches): Renamed from excluded_file_pattern_p.
1942         (file_name_matches): Renamed from excluded_file_name_p.
1943         (file_pattern_matches, file_name_matches):
1944         Return true if the pattern matches, not if it excludes.
1945         All callers changed.
1946         (excluded_file_name): Process the list in reverse order;
1947         since the list is now reversed this restores the pre-2009 behavior.
1948         (add_exclude): Adjust to new reversed-order list.  Use local var
1949         rather than macro, for clarity.
1950         * tests/test-exclude7.sh: Adjust to corrected behavior.
1951
1952         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
1953         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
1954         it's not possible here.  Handle the case of \ at end of pattern
1955         without dumping core.
1956         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
1957
1958         _Noreturn: future-proof non-GNU and non-MSVC compilers
1959         * build-aux/snippet/_Noreturn.h (_Noreturn):
1960         * m4/gnulib-common.m4 (gl_COMMON_BODY):
1961         Do not define _Noreturn if __STDC_VERSION__ indicates this is
1962         C11 or later.  This is more likely to work with random future C
1963         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
1964         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
1965
1966         exclude: handle wildcards with FNM_EXTMATCH
1967         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
1968         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
1969         comment that "has wildcards" really means "has or may have
1970         wildcards".  Simplify by avoiding the need to call strcspn.
1971
1972 2012-04-29  Bruno Haible  <bruno@clisp.org>
1973
1974         gnulib-tool: Fix list of authors.
1975         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
1976
1977 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
1978
1979         bootstrap: support Automake-NG in $buildreq
1980         * bootstrap (check_versions): Handle automake and aclocal from
1981         Automake-NG specially.  They can be specified as respectively
1982         the "automake-ng" and "aclocal-ng" requirements.
1983
1984 2012-04-25  Eric Blake  <eblake@redhat.com>
1985
1986         bootstrap: only force latest Makefile.in.in for gettext module
1987         * build-aux/bootstrap (with_gettext): Only install latest
1988         Makefile.in.in for projects requesting bleeding edge gettext.
1989
1990 2012-04-22  Bruno Haible  <bruno@clisp.org>
1991
1992         doc: Mention reason for replacement on glibc/Linux systems.
1993         * doc/posix-functions/dprintf.texi: Mention the problem with special
1994         'long double' values.
1995         * doc/posix-functions/fprintf.texi: Likewise.
1996         * doc/posix-functions/printf.texi: Likewise.
1997         * doc/posix-functions/snprintf.texi: Likewise.
1998         * doc/posix-functions/sprintf.texi: Likewise.
1999         * doc/posix-functions/vdprintf.texi: Likewise.
2000         * doc/posix-functions/vfprintf.texi: Likewise.
2001         * doc/posix-functions/vprintf.texi: Likewise.
2002         * doc/posix-functions/vsnprintf.texi: Likewise.
2003         * doc/posix-functions/vsprintf.texi: Likewise.
2004         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
2005         platforms with F_DUPFD_CLOEXEC problems.
2006         * doc/posix-functions/glob.texi: Mention which platforms are affected
2007         by the problem with symbolic links.
2008         * doc/posix-functions/linkat.texi: Mention the problem with
2009         AT_SYMLINK_FOLLOW on Linux.
2010
2011 2012-04-22  Bruno Haible  <bruno@clisp.org>
2012
2013         pwrite: Don't replace on all platforms.
2014         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
2015
2016 2012-04-22  Bruno Haible  <bruno@clisp.org>
2017
2018         rint* tests: Avoid gcc warnings.
2019         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
2020         * tests/test-rintf.c (INFINITY, NAN): Likewise.
2021         * tests/test-rintl.c (INFINITY, NAN): Likewise.
2022
2023 2012-04-21  Bruno Haible  <bruno@clisp.org>
2024
2025         users.txt: Update.
2026         * users.txt: Add freedink, wdiff. Update URLs for projects that have
2027         switched from CVS to git, bzr, or svn.
2028
2029 2012-04-21  Bruno Haible  <bruno@clisp.org>
2030
2031         Large File Support for native Windows platforms.
2032
2033         * m4/largefile.m4 (gl_LARGEFILE): New macro.
2034         * modules/largefile (configure.ac): Require gl_LARGEFILE.
2035
2036         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
2037         type.
2038         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
2039         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
2040         * doc/posix-headers/sys_types.texi: Mention the effect of the
2041         'largefile' module.
2042
2043         * lib/fcntl.in.h: Add comments about off_t.
2044         * modules/fcntl-h (Depends-on): Add sys_types.
2045
2046         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
2047         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
2048         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
2049         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
2050         * modules/unistd (Depends-on): Add sys_types.
2051         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
2052
2053         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
2054         instead of lseek.
2055         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
2056         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
2057         * modules/lseek (Depends-on): Add sys_types.
2058
2059         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
2060         msvc-nothrow.h.
2061         (SetFileSize): New function.
2062         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
2063         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
2064         if Large File Support is requested.
2065         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
2066         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
2067
2068         * lib/stdio.in.h: Add comments about off_t.
2069         * modules/stdio (Depends-on): Add sys_types.
2070
2071         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
2072         instead of ftello.
2073         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
2074         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
2075         (gl_PREREQ_FTELLO): New macro.
2076         * modules/ftello (Depends-on): Add sys_types.
2077         (configure.ac): Incoke gl_PREREQ_FTELLO.
2078
2079         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
2080         instead of fseeko.
2081         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
2082         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
2083         (gl_PREREQ_FSEEKO): New macro.
2084         * modules/fseeko (Depends-on): Add sys_types.
2085         (configure.ac): Invoke gl_PREREQ_FSEEKO.
2086
2087         * lib/sys_stat.in.h: Add comments about off_t.
2088         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
2089         64-bit integer for st_size in 'struct stat'.
2090         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
2091         Define _GL_WINDOWS_64_BIT_ST_SIZE.
2092         * modules/sys_stat (Depends-on): Add sys_types.
2093         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
2094
2095         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
2096         instead of stat or _stat.
2097
2098         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
2099         'struct _stati64' instead of fstat and 'struct stat'.
2100         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
2101         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
2102
2103         Reported by Ray Satiro <raysatiro@yahoo.com>.
2104
2105 2012-04-19  Eric Blake  <eblake@redhat.com>
2106
2107         bootstrap: accommodate older libtool
2108         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
2109         Reported by Daniel P. Berrange.
2110
2111 2012-04-19  Jim Meyering  <meyering@redhat.com>
2112
2113         announce-gen: avoid failure due to lack of Digest::SHA1
2114         Even with the preferred Digest::SHA available, this script
2115         would fail when the backup module, Digest::SHA1, was not installed.
2116         * build-aux/announce-gen: Quote the conditional use of "use".
2117         Reported by Reuben Thomas in:
2118         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
2119
2120         bootstrap: don't let a user's CDPATH setting affect this script
2121         When CDPATH is set, cd will sometimes generate output.
2122         When "cd" is run in a subshell whose output matters, that
2123         surprising-to-some output can cause malfunction.
2124         Unsetting CDPATH turns off this shell "feature."
2125         * build-aux/bootstrap (CDPATH): Unset.
2126         Reported by Reuben Thomas in:
2127         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
2128         and inspired by his patch here:
2129         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
2130
2131 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
2132         and Jim Meyering  <meyering@redhat.com>
2133
2134         maint.mk: catch "see @xref{}" and similar
2135         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
2136         prohibit "See also @xref{", "Also see @pxref{", and similar.
2137
2138 2012-04-16  Jim Meyering  <meyering@redhat.com>
2139
2140         bootstrap: really use gnulib's po/Makefile.in.in
2141         * build-aux/bootstrap: Correct the source file name in previous change.
2142         Reported by Akim Demaille.
2143
2144         configmake: correct minor inconsistency in Makefile rule
2145         * modules/configmake (Makefile.am): All other rules like this one
2146         run the final "mv -f ..." in the same backslash-continued command
2147         as the one that does everything else.  This one put the mv -f ...
2148         command on a separate, non-backslash-continued line.
2149         Make it like the others.
2150
2151         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
2152         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
2153         the one from gettext.  Reported by Akim Demaille.
2154
2155 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
2156
2157         Fix recursion of install-* into po directories.
2158         Bison's install-pdf bug reported by Hans Aberg at
2159         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
2160         * build-aux/po/Makefile.in.in (install-dvi, install-html)
2161         (install-info, install-pdf, install-ps): New targets.
2162
2163 2012-04-16  Jim Meyering  <meyering@redhat.com>
2164
2165         maint: avoid spurious "make sc_maint" failure
2166         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
2167         exempt all *.class file names, for lib/javaversion.class.
2168
2169 2012-04-15  Bruno Haible  <bruno@clisp.org>
2170
2171         lseek: Make configure test independent of environment.
2172         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
2173         Windows, we know that lseek() on pipes is broken; skip the runtime
2174         test.
2175
2176 2012-04-14  Bruno Haible  <bruno@clisp.org>
2177
2178         stat: Bypass buggy override in mingw64.
2179         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
2180         * lib/stat.c (stat) [mingw64]: Define to _stat.
2181         * doc/posix-functions/stat.texi: Mention mingw64 bug.
2182
2183 2012-04-14  Bruno Haible  <bruno@clisp.org>
2184
2185         pathmax: Fix compilation error on MSVC 9.
2186         * modules/pathmax (Depends-on): Add unistd.
2187
2188 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
2189
2190         README: document pointer comparison assumption
2191         * README (Portability guidelines): Document assumption about
2192         pointer comparisons, in response to a recent bug-gnulib comment by
2193         Jeffrey Kegler.
2194
2195 2012-04-12  Bruno Haible  <bruno@clisp.org>
2196
2197         Tests for module 'getrusage'.
2198         * modules/getrusage-tests: New file.
2199         * tests/test-getrusage.c: New file.
2200
2201         New module 'getrusage'.
2202         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
2203         warn-on-use.h.
2204         (getrusage): New declaration.
2205         * lib/getrusage.c: New file.
2206         * m4/getrusage.m4: New file.
2207         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
2208         is declared.
2209         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
2210         HAVE_GETRUSAGE.
2211         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
2212         snippet/c++defs, snippet/warn-on-use.
2213         (Makefile.am): Update generation of sys/resource.h. Substitute
2214         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
2215         * modules/getrusage: New file.
2216         * doc/posix-functions/getrusage.texi: Mention the new module.
2217
2218 2012-04-12  Bruno Haible  <bruno@clisp.org>
2219
2220         Tests for module 'sys_resource'.
2221         * modules/sys_resource-tests: New file.
2222         * tests/test-sys_resource.c: New file.
2223
2224         New module 'sys_resource'.
2225         * lib/sys_resource.in.h: New file.
2226         * m4/sys_resource_h.m4: New file.
2227         * modules/sys_resource: New file.
2228         * doc/posix-headers/sys_resource.texi: Mention the new module.
2229
2230 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
2231
2232         ioctl: Fix compilation error on mingw.
2233         * lib/ioctl.c: Include <windows.h>.
2234         Also reported by Ray Satiro <raysatiro@yahoo.com>.
2235
2236 2012-04-04  Jim Meyering  <meyering@redhat.com>
2237
2238         regex: correct #pragma guard expression
2239         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
2240         not 4.3.  Correct its cpp guard expression.
2241
2242 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
2243
2244         regex: remove unnecessary type punning
2245         Problem reported by Vladimir Serbinenko in
2246         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
2247         * lib/regex.h (struct re_pattern_buffer): Change the type of
2248         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
2249         Fix comment to match code.
2250         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
2251         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
2252         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
2253         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
2254         (set_regs):
2255         Omit no-longer-necessary casts.
2256
2257 2012-04-03  Bruno Haible  <bruno@clisp.org>
2258
2259         Tests for module 'ilogbl'.
2260         * modules/ilogbl-tests: New file.
2261         * tests/test-ilogbl.c: New file.
2262
2263         New module 'ilogbl'.
2264         * lib/math.in.h (ilogbl): New declaration.
2265         * lib/ilogbl.c: New file.
2266         * m4/ilogbl.m4: New file.
2267         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
2268         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
2269         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
2270         Split sed invocation, to avoid the limit of 100 substitutions of
2271         HP-UX 'sed'.
2272         * modules/ilogbl: New file.
2273         * tests/test-math-c++.cc: Check the declaration of ilogbl.
2274         * doc/posix-functions/ilogbl.texi: Mention the new module.
2275
2276 2012-04-03  Bruno Haible  <bruno@clisp.org>
2277
2278         Tests for module 'ilogbf'.
2279         * modules/ilogbf-tests: New file.
2280         * tests/test-ilogbf.c: New file.
2281
2282         New module 'ilogbf'.
2283         * lib/math.in.h (ilogbf): New declaration.
2284         * lib/ilogbf.c: New file.
2285         * m4/ilogbf.m4: New file.
2286         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
2287         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
2288         REPLACE_ILOGBF.
2289         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
2290         REPLACE_ILOGBF.
2291         * modules/ilogbf: New file.
2292         * tests/test-math-c++.cc: Check the declaration of ilogbf.
2293         * doc/posix-functions/ilogbf.texi: Mention the new module.
2294
2295 2012-04-03  Bruno Haible  <bruno@clisp.org>
2296
2297         Tests for module 'ilogb'.
2298         * modules/ilogb-tests: New file.
2299         * tests/test-ilogb.c: New file.
2300         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
2301         tests/test-logb-ieee.h.
2302
2303         New module 'ilogb'.
2304         * lib/math.in.h (ilogb): New declaration.
2305         * lib/ilogb.c: New file.
2306         * m4/ilogb.m4: New file.
2307         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
2308         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
2309         REPLACE_ILOGB.
2310         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
2311         REPLACE_ILOGB.
2312         * modules/ilogb: New file.
2313         * tests/test-math-c++.cc: Check the declaration of ilogb.
2314         * doc/posix-functions/ilogb.texi: Mention the new module.
2315
2316 2012-04-03  Bruno Haible  <bruno@clisp.org>
2317
2318         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
2319         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
2320         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
2321         (main): Check their values.
2322         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
2323         problem.
2324
2325 2012-04-03  Bruno Haible  <bruno@clisp.org>
2326
2327         Tests for module 'logbl-ieee'.
2328         * modules/logbl-ieee-tests: New file.
2329         * tests/test-logbl-ieee.c: New file.
2330
2331         New module 'logbl-ieee'.
2332         * modules/logbl-ieee: New file.
2333
2334         Tests for module 'logb-ieee'.
2335         * modules/logb-ieee-tests: New file.
2336         * tests/test-logb-ieee.c: New file.
2337
2338         New module 'logb-ieee'.
2339         * modules/logb-ieee: New file.
2340
2341         Tests for module 'logbf-ieee'.
2342         * modules/logbf-ieee-tests: New file.
2343         * tests/test-logbf-ieee.c: New file.
2344         * tests/test-logb-ieee.h: New file.
2345
2346         New module 'logbf-ieee'.
2347         * modules/logbf-ieee: New file.
2348
2349 2012-04-03  Bruno Haible  <bruno@clisp.org>
2350
2351         Tests for module 'logbl'.
2352         * modules/logbl-tests: New file.
2353         * tests/test-logbl.c: New file.
2354
2355         New module 'logbl'.
2356         * lib/math.in.h (logbl): New declaration.
2357         * lib/logbl.c: New file.
2358         * m4/logbl.m4: New file.
2359         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
2360         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
2361         REPLACE_LOGBL.
2362         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
2363         REPLACE_LOGBL.
2364         * modules/logbl: New file.
2365         * tests/test-math-c++.cc: Check the declaration of logbl.
2366         * doc/posix-functions/logbl.texi: Mention the new module.
2367
2368 2012-04-02  Bruno Haible  <bruno@clisp.org>
2369
2370         Tests for module 'logbf'.
2371         * modules/logbf-tests: New file.
2372         * tests/test-logbf.c: New file.
2373
2374         New module 'logbf'.
2375         * lib/math.in.h (logbf): New declaration.
2376         * lib/logbf.c: New file.
2377         * m4/logbf.m4: New file.
2378         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
2379         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
2380         REPLACE_LOGBF.
2381         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
2382         REPLACE_LOGBF.
2383         * modules/logbf: New file.
2384         * tests/test-math-c++.cc: Check the declaration of logbf.
2385         * doc/posix-functions/logbf.texi: Mention the new module.
2386
2387 2012-04-02  Bruno Haible  <bruno@clisp.org>
2388
2389         logb tests: More tests.
2390         * tests/test-logb.h: New file, based on tests/test-logb.c and
2391         tests/test-frexp.h.
2392         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
2393         (main): Just invoke test_function.
2394         * modules/logb-tests (Files): Add tests/test-logb.h,
2395         tests/minus-zero.h, tests/randomd.c.
2396         (Makefile.am): Add randomd.c to test_logb_SOURCES.
2397
2398         logb: Provide replacement and workarounds.
2399         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
2400         is 1.
2401         * lib/logb.c: New file.
2402         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
2403         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
2404         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
2405         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
2406         * modules/logb (Files): Add lib/logb.c.
2407         (Depends-on): Add isfinite, frexp, isnand.
2408         (configure.ac): Compile the replacement code logb.c if needed.
2409         * tests/test-math-c++.cc: Check the declaration of logb.
2410         * doc/posix-functions/logb.texi: Mention the replacement and the bug
2411         with subnormal numbers.
2412
2413 2012-04-02  Bruno Haible  <bruno@clisp.org>
2414
2415         log10* tests: Speed up.
2416         * tests/test-log10.h (test_function): Reduce amount of random numbers
2417         to test.
2418
2419 2012-04-01  Bruno Haible  <bruno@clisp.org>
2420
2421         logf-ieee: Fix test whether logf works.
2422         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
2423
2424 2012-04-01  Bruno Haible  <bruno@clisp.org>
2425
2426         log10l: Work around log10l-ieee test failure on IRIX 6.5.
2427         * lib/log10l.c: Include <float.h>
2428         (log10l): On IRIX, normalize the +Infinity value.
2429         * modules/log10l (Depends-on): Add 'float'.
2430         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
2431         +Infinity.
2432
2433         log10f-ieee: Work around test failure on NetBSD 5.1.
2434         * m4/log10f-ieee.m4: New file.
2435         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
2436         test whether log10f works with a negative argument. Replace it if not.
2437         * lib/log10f.c (log10f): For negative arguments, return NaN.
2438         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
2439         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
2440         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
2441
2442         log10f-ieee: Work around test failure on Solaris 9.
2443         * modules/log10f-ieee (Depends-on): Add log10-ieee.
2444         (configure.ac): Require gl_FUNC_LOG10F.
2445
2446         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2447         * m4/log10-ieee.m4: New file.
2448         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
2449         whether log10 works with a negative argument. Replace it if not.
2450         * lib/log10.c (log10): For negative arguments, return NaN.
2451         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
2452         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
2453         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
2454
2455         Tests for module 'log10l-ieee'.
2456         * modules/log10l-ieee-tests: New file.
2457         * tests/test-log10l-ieee.c: New file.
2458
2459         New module 'log10l-ieee'.
2460         * modules/log10l-ieee: New file.
2461
2462         Tests for module 'log10-ieee'.
2463         * modules/log10-ieee-tests: New file.
2464         * tests/test-log10-ieee.c: New file.
2465
2466         New module 'log10-ieee'.
2467         * modules/log10-ieee: New file.
2468
2469         Tests for module 'log10f-ieee'.
2470         * modules/log10f-ieee-tests: New file.
2471         * tests/test-log10f-ieee.c: New file.
2472         * tests/test-log10-ieee.h: New file.
2473
2474         New module 'log10f-ieee'.
2475         * modules/log10f-ieee: New file.
2476
2477 2012-04-01  Bruno Haible  <bruno@clisp.org>
2478
2479         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
2480         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
2481         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
2482         workaround.
2483         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
2484         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
2485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
2486         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
2487         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
2488         (Depends-on): Update conditions.
2489         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
2490         IRIX 6.5, OSF/1 5.1 problems.
2491
2492 2012-04-01  Bruno Haible  <bruno@clisp.org>
2493
2494         log10f: Work around OSF/1 5.1 bug.
2495         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
2496         * lib/log10f.c (log10f): If logf exists, use it and provide just the
2497         workaround.
2498         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
2499         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
2500         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
2501         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
2502         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
2503         (Depends-on): Update conditions.
2504         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
2505
2506 2012-04-01  Bruno Haible  <bruno@clisp.org>
2507
2508         log10: Work around OSF/1 5.1 bug.
2509         * lib/math.in.h (log10): New declaration.
2510         * lib/log10.c: New file.
2511         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
2512         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
2513         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
2514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
2515         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
2516         * modules/log10 (Files): Add lib/log10.c.
2517         (Depends-on): Add math.
2518         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
2519         * tests/test-math-c++.cc: Check the declaration of log10.
2520         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
2521
2522 2012-03-31  Bruno Haible  <bruno@clisp.org>
2523
2524         log10l tests: More tests.
2525         * modules/log10l-tests (Files): Add tests/test-log10l.h,
2526         tests/minus-zero.h, tests/randoml.c.
2527         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
2528         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
2529         (main): Invoke test_function.
2530
2531         log10f tests: More tests.
2532         * modules/log10f-tests (Files): Add tests/test-log10.h,
2533         tests/minus-zero.h, tests/randomf.c.
2534         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
2535         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
2536         (main): Invoke test_function.
2537
2538         log10 tests: More tests.
2539         * tests/test-log10.h: New file.
2540         * modules/log10-tests (Files): Add tests/test-log10.h,
2541         tests/minus-zero.h, tests/randomd.c.
2542         (Makefile.am): Add randomd.c to test_log10_SOURCES.
2543         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
2544         (main): Invoke test_function.
2545
2546 2012-03-31  Simon Josefsson  <simon@josefsson.org>
2547
2548         fflush: Fix syntax error.
2549         * lib/fflush.c: Include unused-parameter.h, needed for
2550         _GL_UNUSED_PARAMETER.
2551         * modules/fflush (Depends-on): Add snippet/unused-parameter.
2552
2553 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
2554
2555         regex: pacify GCC when compiling GRUB
2556         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
2557         a diagnostic.  Reported by Vladimir Serbinenko in
2558         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
2559
2560 2012-03-29  Eric Blake  <eblake@redhat.com>
2561
2562         stdio: don't assume gets any more
2563         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
2564         support.
2565         * modules/stdio (Makefile.am): Likewise.
2566         * lib/stdio-read.c (gets): Likewise.
2567         * tests/test-stdio-c++.cc: Likewise.
2568         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
2569         * lib/stdio.in.h (gets): Make warning occur in more places.
2570         * doc/posix-functions/gets.texi (gets): Update documentation.
2571         Reported by Christer Solskogen.
2572
2573         maint.mk: fix syntax checks without exclusions
2574         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
2575         Reported by Daniel P. Berrange.
2576
2577         strerror_r: avoid compiler warning
2578         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
2579         level.
2580
2581         fflush: avoid compiler warning
2582         * lib/fflush.c (update_fpos_cache): Mark variables that are
2583         potentially unused.
2584
2585 2012-03-25  Bruno Haible  <bruno@clisp.org>
2586
2587         Tests for module 'localeconv'.
2588         * modules/localeconv-tests: New file.
2589         * tests/test-localeconv.c: New file.
2590
2591         New module 'localeconv'.
2592         * lib/locale.in.h (localeconv): New declaration.
2593         * lib/localeconv.c: New file.
2594         * m4/localeconv.m4: New file.
2595         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
2596         REPLACE_LOCALECONV.
2597         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
2598         REPLACE_LOCALECONV.
2599         * modules/localeconv: New file.
2600         * modules/nl_langinfo (Depends-on): Add localeconv.
2601         * modules/human (Depends-on): Likewise.
2602         * doc/posix-functions/localeconv.texi: Mention the new module.
2603
2604 2012-03-25  Bruno Haible  <bruno@clisp.org>
2605
2606         locale: Provide a complete 'struct lconv'.
2607         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2608         'struct lconv' does not contain int_p_cs_precedes.
2609         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2610         * doc/posix-headers/locale.texi: Update.
2611
2612         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
2613         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
2614         * doc/posix-headers/locale.texi: Update.
2615
2616         locale: Provide a working 'struct lconv'.
2617         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
2618         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2619         'struct lconv' does not even contain decimal_point.
2620         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
2621         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
2622         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2623         * doc/posix-headers/locale.texi: Mention the problems with
2624         'struct lconv'.
2625         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
2626
2627 2012-03-24  Bruno Haible  <bruno@clisp.org>
2628
2629         Enable common subexpression optimization in GCC.
2630         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
2631         macros.
2632         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
2633         GCC attribute 'const'.
2634         (uc_locale_language): Declare with GCC attribute 'pure'.
2635         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
2636         with GCC attribute 'const'.
2637         * lib/unictype.in.h (uc_is_general_category_withtable,
2638         uc_combining_class, uc_combining_class_name,
2639         uc_combining_class_long_name, uc_bidi_class_name,
2640         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
2641         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
2642         uc_decimal_value, uc_digit_value, uc_numeric_value,
2643         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
2644         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
2645         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
2646         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
2647         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
2648         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
2649         Declare with GCC attribute 'const'.
2650         (uc_general_category_name, uc_general_category_long_name,
2651         uc_general_category_byname, uc_general_category,
2652         uc_is_general_category, uc_combining_class_byname,
2653         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
2654         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
2655         Declare with GCC attribute 'pure'.
2656         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
2657         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
2658         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
2659         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
2660         with GCC attribute 'pure'.
2661         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
2662         'const'.
2663         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
2664         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
2665         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
2666         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
2667         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
2668         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
2669         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
2670         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
2671         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
2672         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
2673         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
2674         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
2675         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
2676         GCC attribute 'pure'.
2677         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
2678         'const'.
2679         * lib/uniwidth.in.h (uc_width): Simplify declaration.
2680         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
2681         u32_strwidth): Declare with GCC attribute 'pure'.
2682
2683         Enable common subexpression optimization in GCC.
2684         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2685         (alphasort): Declare with GCC attribute 'pure'.
2686         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2687         (atoll): Declare with GCC attribute 'pure'.
2688         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
2689         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
2690         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
2691         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2692         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
2693         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
2694         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
2695
2696 2012-03-24  Bruno Haible  <bruno@clisp.org>
2697
2698         gnulib-tool: Avoid unintended error output from 'cmp'.
2699         * gnulib-tool (func_add_file, func_update_file, func_import): Use
2700         "cmp -s", not "cmp > /dev/null".
2701
2702 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2703
2704         gnulib-tool: fix imprecise comments w.r.t. an automake bug
2705
2706         It's not just Automake versions < 1.9b that creates an empty
2707         pkgdatadir at installation time if pkgdata_DATA is specified
2708         to empty; modern automake versions do this as well, at least
2709         until automake 1.11.4 (not yet released at the moment of writing,
2710         but soon to appear).  That behaviour was generally considered a
2711         feature rather than a bug, at least until this discussion:
2712         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
2713
2714         See also automake bugs #10997 and #11030.
2715
2716         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
2717         reference to relevant automake bug numbers.
2718         (func_emit_tests_Makefile_am): Likewise.
2719
2720 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2721
2722         announce-gen: use Digest::SHA when possible
2723         * build-aux/announce-gen: Use Digest::SHA when possible, falling
2724         back to Digest::SHA1 if necessary.
2725
2726 2012-03-20  Jim Meyering  <meyering@redhat.com>
2727
2728         tests: avoid gcc warnings about argv vs. const initializers
2729         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
2730         warnings about discarding 'const' qualifier from pointer target type.
2731         * tests/test-posix_spawn2.c (main): Likewise.
2732
2733 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2734
2735         README-release: simplify slightly
2736         * top/README-release: Run "git checkout master" only once.
2737
2738 2012-03-15  Mark Wielaard  <mark@klomp.org>
2739
2740         git-merge-changelog: add specific example on how to use with hg.
2741         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
2742
2743 2012-03-18  Mark Wielaard  <mark@klomp.org>
2744
2745         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
2746
2747 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
2748
2749         git-version-gen: don't let "prefix" envvar cause trouble
2750         * build-aux/git-version-gen (prefix): Initialize properly,
2751         so as not to use a value specified via the environment.
2752         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
2753
2754 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2755
2756         regex: diagnose too-large repeat counts in EREs
2757         Previously, the code did not diagnose the too-large repeat count
2758         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
2759         as if it were 'b\{1000000000}', which is unexpected.
2760         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
2761         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
2762         is a reasonable one for this problem.  Another option would be to
2763         create a new REG_OVERFLOW error for repeat counts that are too large.
2764         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
2765         count is too large, so that the caller can distinguish the two cases.
2766         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
2767         "Too large" return code, and that repeat counts are one example of this.
2768
2769 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2770
2771         doc: some glibc x32 integer width issues
2772         * doc/posix-headers/sys_types.texi (sys/types.h):
2773         * doc/posix-headers/time.texi (time.h):
2774         Mention that glibc x32 does not conform to POSIX in a couple of
2775         areas related to integer widths.
2776
2777 2012-03-15  Bruno Haible  <bruno@clisp.org>
2778
2779         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
2780         * lib/fma.c (VOLATILE): New macro.
2781         (FUNC): Use it to work around a GCC compiler bug.
2782
2783 2012-03-13  Bruno Haible  <bruno@clisp.org>
2784
2785         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2786         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
2787         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
2788         REPLACE_HYPOTL to 1.
2789         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
2790
2791 2012-03-13  Bruno Haible  <bruno@clisp.org>
2792
2793         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2794         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
2795         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
2796         REPLACE_REMAINDERL to 1.
2797         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
2798         bug.
2799
2800 2012-03-13  Bruno Haible  <bruno@clisp.org>
2801
2802         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2803         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
2804         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
2805         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
2806         too big rounding errors.
2807         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
2808         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
2809         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
2810         (Depends-on): Update conditions.
2811         * tests/test-sqrtl.c (my_ldexpl): New function.
2812         (main): Add test of a particular value.
2813         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2814
2815 2012-03-13  Pádraig Brady  <P@draigBrady.com>
2816
2817         doc: Update timer_* platform portability notes.
2818         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
2819         that always return ENOSYS.
2820         * doc/posix-functions/timer_delete.texi: Likewise.
2821         * doc/posix-functions/timer_gettime.texi: Likewise.
2822         * doc/posix-functions/timer_settime.texi: Likewise.
2823
2824 2012-03-13  Bruno Haible  <bruno@clisp.org>
2825
2826         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2827         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
2828         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
2829         REPLACE_CBRTL to 1.
2830         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2831
2832 2012-03-13  Bruno Haible  <bruno@clisp.org>
2833
2834         remainderl: Avoid compilation error on AIX >= 5.2.
2835         * lib/math.in.h (remainderl): Undefine macro from the system header.
2836
2837 2012-03-13  Bruno Haible  <bruno@clisp.org>
2838
2839         Avoid compilation errors with MSVC option -fp:strict.
2840         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
2841         * lib/cbrtf.c: Likewise.
2842         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2843
2844 2012-03-12  Bruno Haible  <bruno@clisp.org>
2845
2846         uninorm: Don't crash in out-of-memory conditions.
2847         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
2848         gracefully.
2849         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
2850         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
2851
2852 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
2853
2854         quote: fix syntax-check
2855         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
2856         also exports quote_quoting_options.
2857
2858 2012-03-12  Simon Josefsson  <simon@josefsson.org>
2859
2860         Collapse list of copyright years to ranges.  See
2861         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
2862         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
2863         build-aux/csharpexec.sh.in, build-aux/gnupload,
2864         build-aux/install-reloc, build-aux/javacomp.sh.in,
2865         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
2866         build-aux/move-if-change, build-aux/reloc-ldflags,
2867         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2868
2869 2012-03-11  Bruno Haible  <bruno@clisp.org>
2870
2871         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2872         * m4/log2f-ieee.m4: New file.
2873         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
2874         whether log2f works with a minus zero argument. Replace it if not.
2875         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
2876         (Depends-on): Add log2-ieee.
2877         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
2878         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
2879
2880         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2881         * m4/log2-ieee.m4: New file.
2882         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
2883         whether log2 works with a minus zero argument. Replace it if not.
2884         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
2885         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
2886         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
2887
2888         Tests for module 'log2l-ieee'.
2889         * modules/log2l-ieee-tests: New file.
2890         * tests/test-log2l-ieee.c: New file.
2891
2892         New module 'log2l-ieee'.
2893         * modules/log2l-ieee: New file.
2894
2895         Tests for module 'log2-ieee'.
2896         * modules/log2-ieee-tests: New file.
2897         * tests/test-log2-ieee.c: New file.
2898
2899         New module 'log2-ieee'.
2900         * modules/log2-ieee: New file.
2901
2902         Tests for module 'log2f-ieee'.
2903         * modules/log2f-ieee-tests: New file.
2904         * tests/test-log2f-ieee.c: New file.
2905         * tests/test-log2-ieee.h: New file.
2906
2907         New module 'log2f-ieee'.
2908         * modules/log2f-ieee: New file.
2909
2910 2012-03-11  Bruno Haible  <bruno@clisp.org>
2911
2912         Tests for module 'log2l'.
2913         * modules/log2l-tests: New file.
2914         * tests/test-log2l.c: New file.
2915
2916         New module 'log2l'.
2917         * lib/math.in.h (log2l): New declaration.
2918         * lib/log2l.c: New file.
2919         * m4/log2l.m4: New file.
2920         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
2921         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
2922         REPLACE_LOG2L.
2923         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
2924         REPLACE_LOG2L.
2925         * modules/log2l: New file.
2926         * tests/test-math-c++.cc: Check the declaration of log2l.
2927         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
2928         and OSF/1 problems.
2929
2930 2012-03-11  Bruno Haible  <bruno@clisp.org>
2931
2932         Tests for module 'log2f'.
2933         * modules/log2f-tests: New file.
2934         * tests/test-log2f.c: New file.
2935
2936         New module 'log2f'.
2937         * lib/math.in.h (log2f): New declaration.
2938         * lib/log2f.c: New file.
2939         * m4/log2f.m4: New file.
2940         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
2941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
2942         REPLACE_LOG2F.
2943         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
2944         REPLACE_LOG2F.
2945         * modules/log2f: New file.
2946         * tests/test-math-c++.cc: Check the declaration of log2f.
2947         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
2948         and OSF/1 and Cygwin problems.
2949
2950 2012-03-11  Bruno Haible  <bruno@clisp.org>
2951
2952         Tests for module 'log2'.
2953         * modules/log2-tests: New file.
2954         * tests/test-log2.c: New file.
2955         * tests/test-log2.h: New file.
2956
2957         New module 'log2'.
2958         * lib/math.in.h (log2): New declaration.
2959         * lib/log2.c: New file.
2960         * m4/log2.m4: New file.
2961         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
2962         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
2963         REPLACE_LOG2.
2964         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
2965         REPLACE_LOG2.
2966         * modules/log2: New file.
2967         * tests/test-math-c++.cc: Check the declaration of log2.
2968         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
2969         and OSF/1 and Cygwin problems.
2970
2971 2012-03-11  Bruno Haible  <bruno@clisp.org>
2972
2973         exp2* tests: More tests.
2974         * tests/test-exp2.h (test_function): Test all integral arguments that
2975         don't need to overflow or denormalized numbers.
2976         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
2977         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
2978         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
2979
2980 2012-03-10  Bruno Haible  <bruno@clisp.org>
2981
2982         log1pl-ieee: Work around test failure on AIX 7.1.
2983         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
2984
2985         log1pl-ieee: Work around test failure on IRIX 6.5.
2986         * m4/log1pl-ieee.m4: New file.
2987         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
2988         test whether log1pl works with a minus zero argument. Replace it if
2989         not.
2990         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
2991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
2992         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
2993         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
2994         (Depends-on): Update conditions.
2995         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2996         m4/signbit.m4.
2997         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
2998         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
2999
3000         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
3001         * m4/log1pf-ieee.m4: New file.
3002         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
3003         test whether log1pf works with a minus zero argument. Replace it if
3004         not.
3005         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
3006         m4/signbit.m4.
3007         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
3008         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
3009
3010         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
3011         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
3012         (configure.ac): Require gl_FUNC_LOG1PF.
3013
3014         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
3015         * m4/log1p-ieee.m4: New file.
3016         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
3017         whether log1p works with a minus zero argument. Replace it if not.
3018         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
3019         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
3020         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
3021         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
3022         (Depends-on): Update conditions.
3023         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3024         m4/signbit.m4.
3025         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
3026         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
3027
3028         Tests for module 'log1pl-ieee'.
3029         * modules/log1pl-ieee-tests: New file.
3030         * tests/test-log1pl-ieee.c: New file.
3031
3032         New module 'log1pl-ieee'.
3033         * modules/log1pl-ieee: New file.
3034
3035         Tests for module 'log1p-ieee'.
3036         * modules/log1p-ieee-tests: New file.
3037         * tests/test-log1p-ieee.c: New file.
3038
3039         New module 'log1p-ieee'.
3040         * modules/log1p-ieee: New file.
3041
3042         Tests for module 'log1pf-ieee'.
3043         * modules/log1pf-ieee-tests: New file.
3044         * tests/test-log1pf-ieee.c: New file.
3045         * tests/test-log1p-ieee.h: New file.
3046
3047         New module 'log1pf-ieee'.
3048         * modules/log1pf-ieee: New file.
3049
3050 2012-03-10  Bruno Haible  <bruno@clisp.org>
3051
3052         Tests for module 'log1pl'.
3053         * modules/log1pl-tests: New file.
3054         * tests/test-log1pl.c: New file.
3055
3056         New module 'log1pl'.
3057         * lib/math.in.h (log1pl): New declaration.
3058         * lib/log1pl.c: New file.
3059         * m4/log1pl.m4: New file.
3060         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
3061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
3062         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
3063         * modules/log1pl: New file.
3064         * tests/test-math-c++.cc: Check the declaration of log1pl.
3065         * doc/posix-functions/log1pl.texi: Mention the new module.
3066
3067 2012-03-10  Bruno Haible  <bruno@clisp.org>
3068
3069         Tests for module 'log1pf'.
3070         * modules/log1pf-tests: New file.
3071         * tests/test-log1pf.c: New file.
3072
3073         New module 'log1pf'.
3074         * lib/math.in.h (log1pf): New declaration.
3075         * lib/log1pf.c: New file.
3076         * m4/log1pf.m4: New file.
3077         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
3078         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
3079         REPLACE_LOG1PF.
3080         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
3081         REPLACE_LOG1PF.
3082         * modules/log1pf: New file.
3083         * tests/test-math-c++.cc: Check the declaration of log1pf.
3084         * doc/posix-functions/log1pf.texi: Mention the new module.
3085
3086 2012-03-10  Bruno Haible  <bruno@clisp.org>
3087
3088         log1p tests: More tests.
3089         * tests/test-log1p.h: New file.
3090         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
3091         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
3092         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
3093         (main): Invoke test_function.
3094
3095         log1p: Provide replacement for Minix and MSVC.
3096         * lib/math.in.h (log1p): New declaration.
3097         * lib/log1p.c: New file.
3098         * m4/log1p.m4: New file.
3099         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
3100         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
3101         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
3102         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
3103         (Depends-on): Add math, isnand, log, round.
3104         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
3105         HAVE_LOG1P is 0.
3106         * tests/test-math-c++.cc: Check the declaration of log1p.
3107         * doc/posix-functions/log1p.texi: Mention the replacement.
3108
3109 2012-03-10  Bruno Haible  <bruno@clisp.org>
3110
3111         math tests: Small simplification.
3112         * tests/test-exp.h (test_function): Use the same err_bound for
3113         'double' on platforms with sizeof (long double) == sizeof (double)
3114         than on platforms with sizeof (long double) > sizeof (double).
3115         * tests/test-exp2.h (test_function): Likewise.
3116         * tests/test-expm1.h (test_function): Likewise.
3117         * tests/test-log.h (test_function): Likewise.
3118
3119 2012-03-10  Bruno Haible  <bruno@clisp.org>
3120
3121         Fix some comments.
3122         * lib/expl.c: Fix an ambiguous comment.
3123         * lib/expm1.c: Likewise.
3124         * lib/expm1l.c: Likewise.
3125         * lib/exp2.c: Likewise.
3126         * lib/exp2l.c: Likewise.
3127
3128 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
3129
3130         regex: allow inclusion of <regex.h> before <limits.h>
3131         Without this patch, portable programs had to include <limits.h> before
3132         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
3133         I ran into this problem with a test version of GNU grep on Solaris 8.
3134         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
3135         This is done conditionally so that this change can be merged
3136         back to glibc.
3137         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
3138         using the included regex.
3139
3140         fts: depend on fdopendir
3141         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
3142         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
3143         problem was introduced when fdopendir was split out.
3144
3145 2012-03-10  Bruno Haible  <bruno@clisp.org>
3146
3147         Remove unused variables.
3148         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
3149         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3150
3151 2012-03-10  Bruno Haible  <bruno@clisp.org>
3152
3153         isnanf-nolibm: Fix last commit.
3154         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
3155
3156         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
3157         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
3158
3159 2012-03-10  Bruno Haible  <bruno@clisp.org>
3160
3161         logf-ieee: Work around test failure on NetBSD 5.1.
3162         * m4/logf-ieee.m4: New file.
3163         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
3164         whether logf works with a negative argument. Replace it if not.
3165         * lib/logf.c (logf): For negative arguments, return NaN.
3166         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
3167         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
3168         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
3169
3170         logf-ieee: Work around test failure on Solaris 9.
3171         * modules/logf-ieee (Depends-on): Add log-ieee.
3172         (configure.ac): Require gl_FUNC_LOGF.
3173
3174         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3175         * m4/log-ieee.m4: New file.
3176         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
3177         log works with a negative argument. Replace it if not.
3178         * lib/log.c (log): For negative arguments, return NaN.
3179         * modules/log-ieee (Files): Add m4/log-ieee.m4.
3180         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
3181         * doc/posix-functions/log.texi: Mention the log-ieee module.
3182
3183         Tests for module 'logl-ieee'.
3184         * modules/logl-ieee-tests: New file.
3185         * tests/test-logl-ieee.c: New file.
3186
3187         New module 'logl-ieee'.
3188         * modules/logl-ieee: New file.
3189
3190         Tests for module 'log-ieee'.
3191         * modules/log-ieee-tests: New file.
3192         * tests/test-log-ieee.c: New file.
3193
3194         New module 'log-ieee'.
3195         * modules/log-ieee: New file.
3196
3197         Tests for module 'logf-ieee'.
3198         * modules/logf-ieee-tests: New file.
3199         * tests/test-logf-ieee.c: New file.
3200         * tests/test-log-ieee.h: New file.
3201
3202         New module 'logf-ieee'.
3203         * modules/logf-ieee: New file.
3204
3205 2012-03-10  Bruno Haible  <bruno@clisp.org>
3206
3207         log: Fix bug introduced on 2012-03-09.
3208         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
3209
3210 2012-03-10  Pádraig Brady  <P@draigBrady.com>
3211
3212         timer-time: link explicitly with pthreads on glibc
3213         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3214         to support static linking, when newer glibc is
3215         detected, as that contains pthread emulation of
3216         POSIX timer functions where required.
3217         * modules/timer-time: Depend on threadlib to
3218         pull in the appropriate library to link.
3219
3220 2012-03-10  Bruno Haible  <bruno@clisp.org>
3221
3222         log* tests: More tests.
3223         * tests/test-log.h: New file.
3224         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
3225         (main): Invoke test_function.
3226         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
3227         (main): Invoke test_function.
3228         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
3229         (main): Invoke test_function.
3230         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3231         tests/randomd.c.
3232         (Makefile.am): Add randomd.c to test_log_SOURCES.
3233         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3234         tests/randomf.c.
3235         (Makefile.am): Add randomf.c to test_logf_SOURCES.
3236         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3237         tests/randoml.c.
3238         (Depends-on): Add 'float'.
3239         (Makefile.am): Add randoml.c to test_logl_SOURCES.
3240
3241 2012-03-09  Bruno Haible  <bruno@clisp.org>
3242
3243         logl: Work around OSF/1 5.1 bug.
3244         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
3245         * lib/logl.c (logl): If logl exists, use it and provide just the
3246         workaround.
3247         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
3248         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
3249         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
3250         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
3251         * modules/logl (configure.ac): Consider REPLACE_LOGL.
3252         (Depends-on): Update conditions.
3253         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
3254
3255 2012-03-09  Bruno Haible  <bruno@clisp.org>
3256
3257         logf: Work around OSF/1 5.1 bug.
3258         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
3259         * lib/logf.c (logf): If logf exists, use it and provide just the
3260         workaround.
3261         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
3262         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
3263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
3264         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
3265         * modules/logf (configure.ac): Consider REPLACE_LOGF.
3266         (Depends-on): Update conditions.
3267         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
3268
3269 2012-03-09  Bruno Haible  <bruno@clisp.org>
3270
3271         log: Work around OSF/1 5.1 bug.
3272         * lib/math.in.h (log): New declaration.
3273         * lib/log.c: New file.
3274         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
3275         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
3276         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
3277         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
3278         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
3279         * modules/log (Files): Add lib/log.c.
3280         (Depends-on): Add math.
3281         (configure.ac): If REPLACE_LOG is 1, compile an override.
3282         * tests/test-math-c++.cc: Check the declaration of log.
3283         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
3284
3285 2012-03-09  Jim Meyering  <meyering@redhat.com>
3286
3287         readtokens.c: adjust wording in a comment
3288         * lib/readtokens.c: Insert omitted "that" in a comment.
3289
3290 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3291
3292         modechange: add notations +40, 00440, etc.
3293         * lib/modechange.c (mode_compile): Support new notations
3294         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
3295
3296 2012-03-08  Bruno Haible  <bruno@clisp.org>
3297
3298         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
3299         * m4/exp2l-ieee.m4: New file.
3300         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
3301         test whether exp2l works with a NaN argument and with a negative
3302         infinity argument. Replace it if not.
3303         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
3304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
3305         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
3306         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
3307         (Depends-on): Update conditions.
3308         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
3309         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
3310         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
3311
3312         Tests for module 'exp2l-ieee'.
3313         * modules/exp2l-ieee-tests: New file.
3314         * tests/test-exp2l-ieee.c: New file.
3315
3316         New module 'exp2l-ieee'.
3317         * modules/exp2l-ieee: New file.
3318
3319         Tests for module 'exp2-ieee'.
3320         * modules/exp2-ieee-tests: New file.
3321         * tests/test-exp2-ieee.c: New file.
3322
3323         New module 'exp2-ieee'.
3324         * modules/exp2-ieee: New file.
3325
3326         Tests for module 'exp2f-ieee'.
3327         * modules/exp2f-ieee-tests: New file.
3328         * tests/test-exp2f-ieee.c: New file.
3329         * tests/test-exp2-ieee.h: New file.
3330
3331         New module 'exp2f-ieee'.
3332         * modules/exp2f-ieee: New file.
3333
3334 2012-03-08  Bruno Haible  <bruno@clisp.org>
3335
3336         Tests for module 'exp2l'.
3337         * modules/exp2l-tests: New file.
3338         * tests/test-exp2l.c: New file.
3339
3340         New module 'exp2l'.
3341         * lib/math.in.h (exp2l): New declaration.
3342         * lib/exp2l.c: New file.
3343         * lib/expl-table.c: New file, extracted from lib/expl.c.
3344         * lib/expl.c (gl_expl_table): New declaration.
3345         (expl): Remove expl_table. Update reference.
3346         * m4/exp2l.m4: New file.
3347         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
3348         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
3349         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
3350         * modules/exp2l: New file.
3351         * modules/expl (Files): Add lib/expl-table.c.
3352         (configure.ac): Compile also expl-table.c.
3353         * tests/test-math-c++.cc: Check the declaration of exp2l.
3354         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
3355         problem.
3356
3357 2012-03-08  Bruno Haible  <bruno@clisp.org>
3358
3359         Tests for module 'exp2f'.
3360         * modules/exp2f-tests: New file.
3361         * tests/test-exp2f.c: New file.
3362
3363         New module 'exp2f'.
3364         * lib/math.in.h (exp2f): New declaration.
3365         * lib/exp2f.c: New file.
3366         * m4/exp2f.m4: New file.
3367         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
3368         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
3369         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
3370         * modules/exp2f: New file.
3371         * tests/test-math-c++.cc: Check the declaration of exp2f.
3372         * doc/posix-functions/exp2f.texi: Mention the new module and the
3373         IRIX problem.
3374
3375 2012-03-08  Bruno Haible  <bruno@clisp.org>
3376
3377         Tests for module 'exp2'.
3378         * modules/exp2-tests: New file.
3379         * tests/test-exp2.c: New file.
3380         * tests/test-exp2.h: New file.
3381
3382         New module 'exp2'.
3383         * lib/math.in.h (exp2): New declaration.
3384         * lib/exp2.c: New file.
3385         * m4/exp2.m4: New file.
3386         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
3387         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
3388         REPLACE_EXP2.
3389         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
3390         REPLACE_EXP2.
3391         * modules/exp2: New file.
3392         * tests/test-math-c++.cc: Check the declaration of exp2.
3393         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
3394         and OpenBSD problems.
3395
3396 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3397
3398         savedir: fix comment typo
3399         * lib/savedir.c (savedirstream): Fix typo in comment.
3400
3401 2012-03-08  Bruno Haible  <bruno@clisp.org>
3402
3403         test-readtokens.c: use const; remove unwarranted cast
3404         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
3405
3406 2012-03-08  Bruno Haible  <bruno@clisp.org>
3407
3408         fmal: Avoid compilation error on AIX.
3409         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
3410         AIX 5.2..7.1.
3411
3412 2012-03-08  Bruno Haible  <bruno@clisp.org>
3413
3414         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
3415         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
3416         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
3417         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
3418         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
3419         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
3420         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
3421
3422 2012-03-08  Bruno Haible  <bruno@clisp.org>
3423
3424         remainderf: Override buggy system function on IRIX 6.5.
3425         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
3426         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
3427         when it exists.
3428         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
3429
3430 2012-03-08  Jim Meyering  <meyering@redhat.com>
3431
3432         test-readtokens.c: avoid const-related compilation warnings
3433         * tests/test-readtokens.c: Avoid const-related compilation warnings.
3434
3435 2012-03-07  Jim Meyering  <meyering@redhat.com>
3436             Bruno Haible  <bruno@clisp.org>
3437
3438         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
3439         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
3440         tests/randomd.c.
3441         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
3442         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
3443         tests/randoml.c.
3444         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
3445
3446 2012-03-07  Bruno Haible  <bruno@clisp.org>
3447
3448         expm1l: Avoid compilation error on AIX.
3449         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
3450         AIX 5.2..7.1.
3451
3452 2012-03-07  Bruno Haible  <bruno@clisp.org>
3453
3454         expm1l: Don't override undeclared system function on IRIX 6.5.
3455         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
3456         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
3457         it exists. Set HAVE_DECL_EXPM1L.
3458         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
3459         HAVE_EXPM1L.
3460         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
3461         HAVE_EXPM1L.
3462         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
3463
3464 2012-03-07  Bruno Haible  <bruno@clisp.org>
3465
3466         remainderl: Don't override undeclared system function on IRIX 6.5.
3467         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
3468         HAVE_REMAINDERL.
3469         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
3470         declared when it exists. Set HAVE_DECL_REMAINDERL.
3471         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
3472         not HAVE_REMAINDERL.
3473         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
3474         HAVE_REMAINDERL.
3475         * doc/posix-functions/remainderl.texi: Mention missing declaration
3476         problem.
3477
3478 2012-03-07  Bruno Haible  <bruno@clisp.org>
3479
3480         rintf: Don't override undeclared system function on IRIX 6.5.
3481         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
3482         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
3483         exists. Set HAVE_DECL_RINTF.
3484         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
3485         HAVE_RINTF.
3486         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
3487         HAVE_RINTF.
3488         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
3489
3490 2012-03-07  Bruno Haible  <bruno@clisp.org>
3491
3492         roundl: Avoid compilation error on AIX.
3493         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
3494         AIX 5.2..7.1.
3495
3496 2012-03-07  Bruno Haible  <bruno@clisp.org>
3497
3498         roundl: Don't override undeclared system function on IRIX 6.5.
3499         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
3500         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
3501         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3502         * modules/roundl (configure.ac): For replacement code, test
3503         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3504         (Depends-on): Update conditions.
3505         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
3506
3507 2012-03-07  Bruno Haible  <bruno@clisp.org>
3508
3509         roundf: Don't override undeclared system function on IRIX 6.5.
3510         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
3511         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
3512         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3513         * modules/roundf (configure.ac): For replacement code, test
3514         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3515         (Depends-on): Update conditions.
3516         * modules/roundf-ieee (Depends-on): Update conditions.
3517         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
3518
3519 2012-03-07  Bruno Haible  <bruno@clisp.org>
3520
3521         round: Don't override undeclared system function on IRIX 6.5.
3522         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
3523         argument.
3524         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
3525         also when it is not declared. Set HAVE_ROUND. For replacement code,
3526         test HAVE_ROUND, not HAVE_DECL_ROUND.
3527         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
3528         not HAVE_DECL_ROUND.
3529         (Depends-on): Update conditions.
3530         * modules/round-ieee (Depends-on): Update conditions.
3531         * doc/posix-functions/round.texi: Mention the IRIX problem.
3532
3533 2012-03-07  Bruno Haible  <bruno@clisp.org>
3534
3535         copysignf: Don't override undeclared system function on IRIX 6.5.
3536         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
3537         HAVE_COPYSIGNF.
3538         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
3539         declared when it exists. Set HAVE_DECL_COPYSIGNF.
3540         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
3541         not HAVE_COPYSIGNF.
3542         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
3543         HAVE_COPYSIGNF.
3544         * doc/posix-functions/copysignf.texi: Mention missing declaration
3545         problem.
3546
3547 2012-03-07  Jim Meyering  <meyering@redhat.com>
3548
3549         readtokens: add tests
3550         * modules/readtokens-tests: New file.
3551         * tests/test-readtokens.c: New file.
3552
3553 2012-03-07  Jim Meyering  <meyering@redhat.com>
3554
3555         quotearg: the module must now include quote.h
3556         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
3557         So must the module.
3558         * modules/quotearg (Files): Add quote.h.
3559
3560 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
3561
3562         readtokens: avoid core dumps with unusual calling patterns
3563         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
3564         * lib/readtokens.c: Include limits.h.
3565         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
3566         (readtoken): Don't cache the delimiters; the cache code was buggy
3567         if !delim && saved_delim, or if the new n_delim differs from the old.
3568         Also, it wasn't thread-safe.
3569
3570 2012-03-07  Bruno Haible  <bruno@clisp.org>
3571
3572         quote: Adhere to common module description layout.
3573         * modules/quote (Makefile.am): Add back empty section.
3574
3575 2012-03-06  Akim Demaille  <demaille@gostai.com>
3576
3577         quote: fuse into quotearg
3578         This patch is made for the benefit of Bison.
3579         quote does not leave the choice of the quoting style to the user.
3580         quoting_style provides poor customizability, yet quoting_options,
3581         which is very rich, is hidden inside quotearg.c.  So in order to
3582         allow quote customization, move its implementation to quotearg.c.
3583         * lib/quote.c: Remove.
3584         * modules/quote: Adjust.
3585         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
3586         warning: provide all the members of literal structs.
3587         (quote_quoting_options): New.
3588         (quote, quote_n): Import implementation from quote.c.
3589         * lib/quote.h: Import the comments from quote.c.
3590         (quote_quoting_options): New.
3591
3592 2012-03-06  Bruno Haible  <bruno@clisp.org>
3593
3594         Tests for module 'expm1l-ieee'.
3595         * modules/expm1l-ieee-tests: New file.
3596         * tests/test-expm1l-ieee.c: New file.
3597
3598         New module 'expm1l-ieee'.
3599         * modules/expm1l-ieee: New file.
3600
3601         Tests for module 'expm1f-ieee'.
3602         * modules/expm1f-ieee-tests: New file.
3603         * tests/test-expm1f-ieee.c: New file.
3604
3605         New module 'expm1f-ieee'.
3606         * modules/expm1f-ieee: New file.
3607
3608         Tests for module 'expm1-ieee'.
3609         * modules/expm1-ieee-tests: New file.
3610         * tests/test-expm1-ieee.c: New file.
3611         * tests/test-expm1-ieee.h: New file.
3612
3613         New module 'expm1-ieee'.
3614         * modules/expm1-ieee: New file.
3615         * m4/expm1-ieee.m4: New file.
3616         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
3617         whether expm1 works with a minus zero argument. Replace it if not.
3618         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
3619         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
3620         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
3621         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
3622         (Depends-on): Update conditions.
3623         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
3624         AIX problem.
3625
3626 2012-03-06  Bruno Haible  <bruno@clisp.org>
3627
3628         Work around expm1f bug on IRIX 6.5.
3629         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
3630         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
3631         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
3632         not work.
3633         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
3634         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
3635         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
3636         (Depends-on): Update conditions.
3637         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
3638
3639 2012-03-06  Bruno Haible  <bruno@clisp.org>
3640
3641         Tests for module 'expm1l'.
3642         * modules/expm1l-tests: New file.
3643         * tests/test-expm1l.c: New file.
3644
3645         New module 'expm1l'.
3646         * lib/math.in.h (expm1l): New declaration.
3647         * lib/expm1l.c: New file.
3648         * m4/expm1l.m4: New file.
3649         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
3650         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
3651         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
3652         * modules/expm1l: New file.
3653         * tests/test-math-c++.cc: Check the declaration of expm1l.
3654         * doc/posix-functions/expm1l.texi: Mention the new module.
3655
3656 2012-03-06  Bruno Haible  <bruno@clisp.org>
3657
3658         Tests for module 'expm1f'.
3659         * modules/expm1f-tests: New file.
3660         * tests/test-expm1f.c: New file.
3661
3662         New module 'expm1f'.
3663         * lib/math.in.h (expm1f): New declaration.
3664         * lib/expm1f.c: New file.
3665         * m4/expm1f.m4: New file.
3666         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
3667         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
3668         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
3669         * modules/expm1f: New file.
3670         * tests/test-math-c++.cc: Check the declaration of expm1f.
3671         * doc/posix-functions/expm1f.texi: Mention the new module.
3672
3673 2012-03-06  Bruno Haible  <bruno@clisp.org>
3674
3675         Tests for module 'expm1'.
3676         * modules/expm1-tests: New file.
3677         * tests/test-expm1.c: New file.
3678         * tests/test-expm1.h: New file.
3679
3680         New module 'expm1'.
3681         * lib/math.in.h (expm1): New declaration.
3682         * lib/expm1.c: New file.
3683         * m4/expm1.m4: New file.
3684         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
3685         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
3686         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
3687         * modules/expm1: New file.
3688         * tests/test-math-c++.cc: Check the declaration of expm1.
3689         * doc/posix-functions/expm1.texi: Mention the new module.
3690
3691 2012-03-06  Bruno Haible  <bruno@clisp.org>
3692
3693         math: Ensure declarations of math functions.
3694         * modules/acosf (Depends-on): Add 'extensions'.
3695         * modules/asinf (Depends-on): Likewise.
3696         * modules/atan2f (Depends-on): Likewise.
3697         * modules/atanf (Depends-on): Likewise.
3698         * modules/cbrt (Depends-on): Likewise.
3699         * modules/cbrtf (Depends-on): Likewise.
3700         * modules/cbrtl (Depends-on): Likewise.
3701         * modules/copysignf (Depends-on): Likewise.
3702         * modules/copysignl (Depends-on): Likewise.
3703         * modules/cosf (Depends-on): Likewise.
3704         * modules/coshf (Depends-on): Likewise.
3705         * modules/expf (Depends-on): Likewise.
3706         * modules/fabsf (Depends-on): Likewise.
3707         * modules/fabsl (Depends-on): Likewise.
3708         * modules/fmaf (Depends-on): Likewise.
3709         * modules/fmal (Depends-on): Likewise.
3710         * modules/fmodf (Depends-on): Likewise.
3711         * modules/fmodl (Depends-on): Likewise.
3712         * modules/frexpf (Depends-on): Likewise.
3713         * modules/frexpl (Depends-on): Likewise.
3714         * modules/hypot (Depends-on): Likewise.
3715         * modules/hypotf (Depends-on): Likewise.
3716         * modules/hypotl (Depends-on): Likewise.
3717         * modules/ldexpf (Depends-on): Likewise.
3718         * modules/ldexpl (Depends-on): Likewise.
3719         * modules/log10f (Depends-on): Likewise.
3720         * modules/log10l (Depends-on): Likewise.
3721         * modules/log1p (Depends-on): Likewise.
3722         * modules/logb (Depends-on): Likewise.
3723         * modules/logf (Depends-on): Likewise.
3724         * modules/modff (Depends-on): Likewise.
3725         * modules/modfl (Depends-on): Likewise.
3726         * modules/powf (Depends-on): Likewise.
3727         * modules/remainderf (Depends-on): Likewise.
3728         * modules/remainderl (Depends-on): Likewise.
3729         * modules/rintf (Depends-on): Likewise.
3730         * modules/rintl (Depends-on): Likewise.
3731         * modules/sinf (Depends-on): Likewise.
3732         * modules/sinhf (Depends-on): Likewise.
3733         * modules/sqrtf (Depends-on): Likewise.
3734         * modules/tanf (Depends-on): Likewise.
3735         * modules/tanhf (Depends-on): Likewise.
3736         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
3737         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
3738         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
3739         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
3740         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
3741         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
3742         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
3743         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
3744         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
3745         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
3746         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
3747         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
3748         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
3749         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
3750         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
3751         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
3752         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
3753         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3754         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
3755         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
3756         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
3757         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
3758         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
3759         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
3760         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3761         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
3762         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
3763         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3764         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
3765         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
3766         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3767         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
3768         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3769         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3770         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3771         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3772         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
3773         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
3774         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
3775         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
3776         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
3777
3778 2012-03-06  Bruno Haible  <bruno@clisp.org>
3779
3780         math: Update module names in warnings.
3781         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3782         tanl): Use specific module name in warn-on-use warning.
3783
3784 2012-03-06  Bruno Haible  <bruno@clisp.org>
3785
3786         expl: Simplify computation.
3787         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
3788
3789 2012-03-05  Bruno Haible  <bruno@clisp.org>
3790
3791         exp* tests: More tests.
3792         * tests/test-exp.h: New file.
3793         * tests/test-exp.c: Include <float.h> and test-exp.h.
3794         (main): Invoke test_function.
3795         * tests/test-expf.c: Include <float.h> and test-exp.h.
3796         (main): Invoke test_function.
3797         * tests/test-expl.c: Include <float.h> and test-exp.h.
3798         (main): Invoke test_function.
3799         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
3800         (Makefile.am): Add randomd.c to test_exp_SOURCES.
3801         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
3802         (Makefile.am): Add randomf.c to test_expf_SOURCES.
3803         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
3804         (Depends-on): Add 'float'.
3805         (Makefile.am): Add randoml.c to test_expl_SOURCES.
3806
3807         expl: Fix precision of computed result.
3808         * lib/expl.c: Completely rewritten.
3809         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
3810         (Maintainer): Add me.
3811         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
3812
3813 2012-03-05  Bruno Haible  <bruno@clisp.org>
3814
3815         cbrt* tests: More tests.
3816         * tests/test-cbrt.h: New file.
3817         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
3818         (main): Invoke test_function.
3819         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
3820         (main): Invoke test_function.
3821         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
3822         (main): Invoke test_function.
3823         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
3824         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
3825         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
3826         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
3827         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
3828         (Depends-on): Add 'float'.
3829         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
3830
3831 2012-03-05  Bruno Haible  <bruno@clisp.org>
3832
3833         hypot* tests: More tests.
3834         * tests/test-hypot.h: New file, partially extracted from
3835         tests/test-hypotl.c.
3836         * tests/test-hypot.c: Include test-hypot.h.
3837         (main): Invoke test_function.
3838         * tests/test-hypotf.c: Include test-hypot.h.
3839         (main): Invoke test_function.
3840         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
3841         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
3842         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
3843         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
3844         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
3845         tests/randomf.c.
3846         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
3847         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
3848         tests/randoml.c.
3849         (Depends-on): Add 'fpucw', 'float'.
3850         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
3851
3852 2012-03-05  Bruno Haible  <bruno@clisp.org>
3853
3854         fpucw: Doc about FreeBSD.
3855         * lib/fpucw.h: Mention FreeBSD in comments.
3856
3857 2012-03-04  Bruno Haible  <bruno@clisp.org>
3858
3859         sqrt* tests: More tests.
3860         * tests/test-sqrt.h: New file.
3861         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
3862         (main): Invoke test_function.
3863         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
3864         (main): Invoke test_function.
3865         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
3866         (main): Invoke test_function.
3867         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
3868         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
3869         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
3870         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
3871         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
3872         (Depends-on): Add 'float'.
3873         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
3874
3875 2012-03-04  Bruno Haible  <bruno@clisp.org>
3876
3877         remainder* tests: More tests.
3878         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
3879         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
3880         (main): Invoke test_function.
3881         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
3882         (main): Invoke test_function.
3883         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
3884         (main): Invoke test_function.
3885         * modules/remainder-tests (Files): Add tests/test-remainder.h,
3886         tests/randomd.c.
3887         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
3888         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
3889         tests/randomf.c.
3890         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
3891         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
3892         tests/randoml.c.
3893         (Depends-on): Add 'float'.
3894         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
3895
3896 2012-03-04  Bruno Haible  <bruno@clisp.org>
3897
3898         remainder, remainderf, remainderl: Fix computation for large quotients.
3899         * lib/remainder.c: Completely rewritten.
3900         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
3901         USE_FLOAT.
3902         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
3903         USE_LONG_DOUBLE.
3904         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
3905         isnand, isinf. Remove round, fma.
3906         * modules/remainderf (Files): Add lib/remainder.c.
3907         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
3908         Remove roundf, fmaf.
3909         * modules/remainderl (Files): Add lib/remainder.c.
3910         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
3911         isinf. Remove roundl, fmal.
3912         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
3913         REMAINDER_LIBM.
3914         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
3915         REMAINDERF_LIBM.
3916         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
3917         REMAINDERL_LIBM.
3918
3919 2012-03-04  Bruno Haible  <bruno@clisp.org>
3920
3921         fmod* tests: More tests.
3922         * tests/test-fmod.h (my_ldexp): New function.
3923         (test_function): Reduce amount of random numbers to test. Add tests
3924         of very large quotients x / y.
3925         * tests/test-fmod.c (MAX_EXP): New macro.
3926         * tests/test-fmodf.c (MAX_EXP): Likewise.
3927         * tests/test-fmodl.c (MAX_EXP): Likewise.
3928
3929 2012-03-04  Bruno Haible  <bruno@clisp.org>
3930
3931         fmod, fmodl: Fix computation for large quotients x / y.
3932         * lib/fmod.c: Completely rewritten.
3933         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
3934         USE_LONG_DOUBLE.
3935         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
3936         isnand. Remove fma.
3937         * modules/fmodl (Files): Add lib/fmod.c.
3938         (Depends-on): Add float, isfinite, signbit, fabsl,
3939         frexpl, ldexpl, isnanl. Remove fma.
3940         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
3941         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
3942
3943 2012-03-03  Bruno Haible  <bruno@clisp.org>
3944
3945         fmod* tests: More tests.
3946         * tests/test-fmod.h: New file.
3947         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
3948         (main): Invoke test_function.
3949         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
3950         (main): Invoke test_function.
3951         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
3952         (main): Invoke test_function.
3953         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
3954         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
3955         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
3956         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
3957         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
3958         (Depends-on): Add 'float'.
3959         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
3960
3961 2012-03-03  Bruno Haible  <bruno@clisp.org>
3962
3963         rint* tests: More tests.
3964         * tests/test-rint.h: New file, partially extracted from
3965         tests/test-rintl.c.
3966         * tests/test-rint.c: Include test-rint.h.
3967         (main): Invoke test_function.
3968         * tests/test-rintf.c: Include test-rint.h.
3969         (main): Invoke test_function.
3970         * tests/test-rintl.c: Include test-rint.h.
3971         (main): Invoke test_function.
3972         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
3973         (Makefile.am): Add randomd.c to test_rint_SOURCES.
3974         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
3975         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
3976         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
3977         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
3978
3979 2012-03-03  Bruno Haible  <bruno@clisp.org>
3980
3981         modf* tests: More tests.
3982         * tests/test-modf.h: New file.
3983         * tests/test-modf.c: Include <float.h> and test-modf.h.
3984         (main): Invoke test_function.
3985         * tests/test-modff.c: Include <float.h> and test-modf.h.
3986         (main): Invoke test_function.
3987         * tests/test-modfl.c: Include <float.h> and test-modf.h.
3988         (main): Invoke test_function.
3989         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
3990         (Makefile.am): Add randomd.c to test_modf_SOURCES.
3991         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
3992         (Makefile.am): Add randomf.c to test_modff_SOURCES.
3993         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
3994         (Depends-on): Add 'float'.
3995         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
3996
3997 2012-03-03  Bruno Haible  <bruno@clisp.org>
3998
3999         fabs* tests: More tests.
4000         * tests/test-fabs.h: New file, partially extracted from
4001         tests/test-fabsl.c.
4002         * tests/test-fabs.c (RANDOM): New macro.
4003         * tests/test-fabsf.c (RANDOM): New macro.
4004         * tests/test-fabsl.c (RANDOM): New macro.
4005         * modules/fabs-tests (Files): Add tests/randomd.c.
4006         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
4007         * modules/fabsf-tests (Files): Add tests/randomf.c.
4008         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
4009         * modules/fabsl-tests (Files): Add tests/randoml.c.
4010         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
4011
4012 2012-03-03  Bruno Haible  <bruno@clisp.org>
4013
4014         ldexp* tests: More tests.
4015         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
4016         * tests/test-ldexp.c (RANDOM): New macro.
4017         * tests/test-ldexpf.c (RANDOM): New macro.
4018         * tests/test-ldexpl.c (RANDOM): New macro.
4019         * modules/ldexp-tests (Files): Add tests/randomd.c.
4020         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
4021         * modules/ldexpf-tests (Files): Add tests/randomf.c.
4022         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
4023         * modules/ldexpl-tests (Files): Add tests/randoml.c.
4024         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
4025
4026 2012-03-03  Bruno Haible  <bruno@clisp.org>
4027
4028         frexp* tests: More tests.
4029         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
4030         * tests/test-frexp.c (RANDOM): New macro.
4031         * tests/test-frexpf.c (RANDOM): New macro.
4032         * tests/test-frexpl.c (RANDOM): New macro.
4033         * modules/frexp-tests (Files): Add tests/randomd.c.
4034         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
4035         * modules/frexpf-tests (Files): Add tests/randomf.c.
4036         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
4037         * modules/frexpl-tests (Files): Add tests/randoml.c.
4038         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
4039
4040 2012-03-03  Bruno Haible  <bruno@clisp.org>
4041
4042         Support for pseudo-random numbers in tests.
4043         * tests/randomf.c: New file.
4044         * tests/randomd.c: New file.
4045         * tests/randoml.c: New file.
4046         * tests/macros.h (randomf, randomd, randoml): New declarations.
4047
4048 2012-03-03  Bruno Haible  <bruno@clisp.org>
4049
4050         frexp* tests: Refactor.
4051         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
4052         * tests/test-frexp.c: Include and use it.
4053         * tests/test-frexpf.c: Likewise.
4054         * tests/test-frexpl.c: Likewise.
4055         * modules/frexp-tests (Files): Add tests/test-frexp.h.
4056         * modules/frexpf-tests (Files): Likewise.
4057         * modules/frexpl-tests (Files): Likewise.
4058
4059 2012-03-02  Jim Meyering  <meyering@redhat.com>
4060
4061         maint: don't specify XZ_OPT=-9ev in dist-related rule
4062         Using xz's -9 option is warranted only if you have a very large
4063         tarball (see xz's documentation for the sizes vs. presets), and
4064         requires 64MiB of memory at decompression time.
4065         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
4066         Automake's default of just "-e" is fine.  Override on a
4067         per-package basis by setting XZ_OPT e.g., in cfg.mk.
4068
4069 2012-03-01  Eric Blake  <eblake@redhat.com>
4070
4071         maint.mk: allow announcement for non-gnulib project
4072         * maint.mk (announcement): Skip gnulib version if not used.
4073
4074 2012-03-01  Jim Meyering  <meyering@redhat.com>
4075
4076         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
4077         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
4078         envvar settings cannot interfere.  Otherwise, setting envvars like
4079         prohibit=foo require=bar, etc. would cause spurious test failures.
4080
4081 2012-03-01  Eric Blake  <eblake@redhat.com>
4082
4083         maint.mk: add per-line exclusions to prohibitions
4084         * maint.mk (_sc_search_regexp): Add $exclude parameter.
4085         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
4086         (sc_const_long_option): Use it.
4087
4088 2012-03-01  Bruno Haible  <bruno@clisp.org>
4089
4090         Tests for module 'expl-ieee'.
4091         * modules/expl-ieee-tests: New file.
4092         * tests/test-expl-ieee.c: New file.
4093
4094         New module 'expl-ieee'.
4095         * modules/expl-ieee: New file.
4096
4097         Tests for module 'exp-ieee'.
4098         * modules/exp-ieee-tests: New file.
4099         * tests/test-exp-ieee.c: New file.
4100
4101         New module 'exp-ieee'.
4102         * modules/exp-ieee: New file.
4103
4104         Tests for module 'expf-ieee'.
4105         * modules/expf-ieee-tests: New file.
4106         * tests/test-expf-ieee.c: New file.
4107         * tests/test-exp-ieee.h: New file.
4108
4109         New module 'expf-ieee'.
4110         * modules/expf-ieee: New file.
4111
4112 2012-02-29  Bruno Haible  <bruno@clisp.org>
4113
4114         cbrtl-ieee: Work around test failure on IRIX 6.5.
4115         * m4/cbrtl-ieee.m4: New file.
4116         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
4117         test whether cbrtl works with a minus zero argument. Replace it if not.
4118         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
4119         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
4120         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
4121         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
4122         (Depends-on): Update conditions.
4123         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
4124         m4/signbit.m4.
4125         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
4126         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
4127         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
4128
4129         Tests for module 'cbrtl-ieee'.
4130         * modules/cbrtl-ieee-tests: New file.
4131         * tests/test-cbrtl-ieee.c: New file.
4132
4133         New module 'cbrtl-ieee'.
4134         * modules/cbrtl-ieee: New file.
4135
4136         Tests for module 'cbrt-ieee'.
4137         * modules/cbrt-ieee-tests: New file.
4138         * tests/test-cbrt-ieee.c: New file.
4139
4140         New module 'cbrt-ieee'.
4141         * modules/cbrt-ieee: New file.
4142
4143         Tests for module 'cbrtf-ieee'.
4144         * modules/cbrtf-ieee-tests: New file.
4145         * tests/test-cbrtf-ieee.c: New file.
4146         * tests/test-cbrt-ieee.h: New file.
4147
4148         New module 'cbrtf-ieee'.
4149         * modules/cbrtf-ieee: New file.
4150
4151 2012-02-29  Bruno Haible  <bruno@clisp.org>
4152
4153         cbrtf: Work around bug in IRIX 6.5 system function.
4154         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
4155         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
4156         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
4157         work.
4158         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
4159         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
4160         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
4161         (Depends-on): Update conditions.
4162         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
4163
4164 2012-02-29  Bruno Haible  <bruno@clisp.org>
4165
4166         Tests for module 'cbrtl'.
4167         * modules/cbrtl-tests: New file.
4168         * tests/test-cbrtl.c: New file.
4169
4170         New module 'cbrtl'.
4171         * lib/math.in.h (cbrtl): New declaration.
4172         * lib/cbrtl.c: New file.
4173         * m4/cbrtl.m4: New file.
4174         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
4175         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
4176         HAVE_DECL_CBRTL.
4177         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
4178         HAVE_DECL_CBRTL.
4179         * modules/cbrtl: New file.
4180         * tests/test-math-c++.cc: Check the declaration of cbrtl.
4181         * doc/posix-functions/cbrtl.texi: Mention the new module.
4182
4183 2012-02-29  Bruno Haible  <bruno@clisp.org>
4184
4185         Tests for module 'cbrtf'.
4186         * modules/cbrtf-tests: New file.
4187         * tests/test-cbrtf.c: New file.
4188
4189         New module 'cbrtf'.
4190         * lib/math.in.h (cbrtf): New declaration.
4191         * lib/cbrtf.c: New file.
4192         * m4/cbrtf.m4: New file.
4193         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
4194         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
4195         HAVE_DECL_CBRTF.
4196         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
4197         HAVE_DECL_CBRTF.
4198         * modules/cbrtf: New file.
4199         * tests/test-math-c++.cc: Check the declaration of cbrtf.
4200         * doc/posix-functions/cbrtf.texi: Mention the new module.
4201
4202 2012-02-29  Bruno Haible  <bruno@clisp.org>
4203
4204         cbrt: Provide replacement on MSVC and Minix.
4205         * lib/math.in.h (cbrt): New declaration.
4206         * lib/cbrt.c: New file.
4207         * m4/cbrt.m4: New file.
4208         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
4209         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
4210         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
4211         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
4212         (Depends-on): Add dependencies.
4213         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
4214         * tests/test-math-c++.cc: Check the declaration of cbrt.
4215         * doc/posix-functions/cbrt.texi: Mention that the module provides a
4216         replacement.
4217
4218 2012-02-29  Bruno Haible  <bruno@clisp.org>
4219
4220         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
4221         * m4/hypotl-ieee.m4: New file.
4222         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
4223         test whether hypotl works with mixed NaN and Infinity arguments.
4224         Replace it if not.
4225         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
4226         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
4227         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
4228         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
4229         (Depends-on): Update conditions.
4230         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
4231         (Depends-on): Add hypot-ieee.
4232         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
4233         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
4234
4235         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
4236         * m4/hypotf-ieee.m4: New file.
4237         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
4238         test whether hypotf works with mixed NaN and Infinity arguments.
4239         Replace it if not.
4240         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
4241         (Depends-on): Add hypot-ieee.
4242         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
4243         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
4244
4245         hypot-ieee: Work around test failure on OSF/1 and native Windows.
4246         * lib/math.in.h (hypot): New declaration.
4247         * lib/hypot.c: New file.
4248         * m4/hypot-ieee.m4: New file.
4249         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
4250         whether hypot works with mixed NaN and Infinity arguments. Replace it
4251         if not.
4252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
4253         REPLACE_HYPOT.
4254         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
4255         * modules/hypot (Files): Add lib/hypot.c.
4256         (Depends-on): Add dependencies.
4257         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
4258         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
4259         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
4260         * tests/test-math-c++.cc: Check the declaration of hypot.
4261         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
4262
4263         Tests for module 'hypotl-ieee'.
4264         * modules/hypotl-ieee-tests: New file.
4265         * tests/test-hypotl-ieee.c: New file.
4266
4267         New module 'hypotl-ieee'.
4268         * modules/hypotl-ieee: New file.
4269
4270         Tests for module 'hypot-ieee'.
4271         * modules/hypot-ieee-tests: New file.
4272         * tests/test-hypot-ieee.c: New file.
4273
4274         New module 'hypot-ieee'.
4275         * modules/hypot-ieee: New file.
4276
4277         Tests for module 'hypotf-ieee'.
4278         * modules/hypotf-ieee-tests: New file.
4279         * tests/test-hypotf-ieee.c: New file.
4280         * tests/test-hypot-ieee.h: New file.
4281
4282         New module 'hypotf-ieee'.
4283         * modules/hypotf-ieee: New file.
4284
4285 2012-02-29  Bruno Haible  <bruno@clisp.org>
4286
4287         Remove unused variables.
4288         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
4289         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4290         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
4291         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
4292
4293 2012-02-29  Eric Blake  <eblake@redhat.com>
4294
4295         termios: fix pid_t always, not just for tcgetsid
4296         * doc/posix-headers/termios.texi (termios.h): Mention problem.
4297         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
4298         just when building tcgetsid.
4299
4300 2012-02-29  Bruno Haible  <bruno@clisp.org>
4301
4302         Tests for module 'hypotl'.
4303         * modules/hypotl-tests: New file.
4304         * tests/test-hypotl.c: New file.
4305
4306         New module 'hypotl'.
4307         * lib/math.in.h (hypotl): New declaration.
4308         * lib/hypotl.c: New file.
4309         * m4/hypotl.m4: New file.
4310         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4311         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
4312         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
4313         * modules/hypotl: New file.
4314         * tests/test-math-c++.cc: Check the hypotl declaration.
4315         * doc/posix-functions/hypotl.texi: Mention the new module.
4316
4317 2012-02-29  Eric Blake  <eblake@redhat.com>
4318
4319         tcgetsid: fix cygwin header bug
4320         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
4321
4322         docs: update cygwin progress
4323         * doc/posix-functions/llround.texi (llround): Added in cygwin
4324         1.7.8.
4325         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
4326         * doc/glibc-functions/program_invocation_name.texi
4327         (program_invocation_name): Likewise.
4328         * doc/glibc-functions/program_invocation_short_name.texi
4329         (program_invocation_short_name): Likewise.
4330         * doc/glibc-functions/madvise.texi (madvise): Likewise.
4331         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
4332         Likewise.
4333         * doc/posix-functions/pthread_spin_destroy.texi
4334         (pthread_spin_destroy): Added in cygwin 1.7.10.
4335         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
4336         Likewise.
4337         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
4338         Likewise.
4339         * doc/posix-functions/pthread_spin_trylock.texi
4340         (pthread_spin_trylock): Likewise.
4341         * doc/posix-functions/pthread_spin_unlock.texi
4342         (pthread_spin_unlock): Likewise.
4343         * doc/posix-functions/pthread_setschedprio.texi
4344         (pthread_setschedprio): Likewise.
4345         * doc/posix-functions/pthread_attr_getstack.texi
4346         (pthread_attr_getstack): Likewise.
4347         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
4348         (pthread_attr_getstackaddr): Likewise.
4349         * doc/glibc-functions/pthread_getattr_np.texi
4350         (pthread_getattr_np): Likewise.
4351         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
4352         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
4353         * doc/posix-functions/clock_settime.texi (clock_settime):
4354         Likewise.
4355         * doc/posix-functions/pthread_attr_getguardsize.texi
4356         (pthread_attr_getguardsize): Likewise.
4357         * doc/posix-functions/pthread_attr_setguardsize.texi
4358         (pthread_attr_setguardsize): Likewise.
4359         * doc/posix-functions/pthread_attr_setstack.texi
4360         (pthread_attr_setstack): Likewise.
4361         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
4362         (pthread_attr_setstackaddr): Likewise.
4363         * doc/posix-functions/clock_getcpuclockid.texi
4364         (clock_getcpuclockid): Likewise.
4365         * doc/posix-functions/pthread_getcpuclockid.texi
4366         (pthread_getcpuclockid): Likewise.
4367         * doc/glibc-functions/error.texi (error): Likewise.
4368         * doc/glibc-functions/error_at_line.texi (error_at_line):
4369         Likewise.
4370         * doc/glibc-functions/error_message_count.texi
4371         (error_message_count): Likewise.
4372         * doc/glibc-functions/error_one_per_line.texi
4373         (error_one_per_line): Likewise.
4374         * doc/glibc-functions/error_print_progname.texi
4375         (error_print_progname): Likewise.
4376         * doc/posix-functions/pthread_condattr_getclock.texi
4377         (pthread_condattr_getclock): Likewise.
4378         * doc/posix-functions/pthread_condattr_setclock.texi
4379         (pthread_condattr_setclock): Likewise.
4380         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
4381         Likewise.
4382         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
4383         * doc/glibc-functions/getpt.texi (getpt): Likewise.
4384         * doc/glibc-functions/get_current_dir_name.texi
4385         (get_current_dir_name): Likewise.
4386         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
4387         Likewise.
4388         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
4389         wrong return type.
4390         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
4391         1.7.11.
4392
4393 2012-02-29  Bruno Haible  <bruno@clisp.org>
4394
4395         Tests for module 'hypotf'.
4396         * modules/hypotf-tests: New file.
4397         * tests/test-hypotf.c: New file.
4398
4399         New module 'hypotf'.
4400         * lib/math.in.h (hypotf): New declaration.
4401         * lib/hypotf.c: New file.
4402         * m4/hypotf.m4: New file.
4403         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
4405         REPLACE_HYPOTF.
4406         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
4407         REPLACE_HYPOTF.
4408         * modules/hypotf: New file.
4409         * tests/test-math-c++.cc: Check the hypotf declaration.
4410         * doc/posix-functions/hypotf.texi: Mention the new module.
4411
4412         hypot: Prepare for hypotf module.
4413         * m4/hypot.m4: New file.
4414         * modules/hypot (Files): Add m4/hypot.m4.
4415         (configure.ac): Invoke gl_FUNC_HYPOT.
4416
4417 2012-02-29  Bruno Haible  <bruno@clisp.org>
4418
4419         hypot tests: More tests.
4420         * tests/test-hypot.c: Include <float.h>.
4421         (main): Add tests about overflow and underflow.
4422
4423 2012-02-29  Bruno Haible  <bruno@clisp.org>
4424
4425         math code: Add comments.
4426         * lib/acosl.c: Add comment about related glibc source files.
4427         * lib/asinl.c: Likewise.
4428         * lib/atanl.c: Likewise.
4429         * lib/expl.c: Likewise.
4430         * lib/logl.c: Likewise.
4431         * lib/sincosl.c: Likewise.
4432         * lib/sinl.c: Likewise.
4433         * lib/tanl.c: Likewise.
4434         * lib/trigl.c: Likewise.
4435         * lib/cosl.c: Likewise. Fix comments.
4436
4437 2012-02-28  Bruno Haible  <bruno@clisp.org>
4438
4439         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
4440         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
4441         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
4442         HUGE_VALL are defined.
4443         (numeric_equald): Renamed from numeric_equal.
4444         (numeric_equalf, numeric_equall): New functions.
4445         (main): Check also HUGE_VALF, HUGE_VALL.
4446         * modules/math-tests (Files): Add tests/macros.h.
4447         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
4448         HUGE_VALL.
4449
4450 2012-02-28  Bruno Haible  <bruno@clisp.org>
4451
4452         doc: Move ISO C11 feature notes into POSIX chapters.
4453         * doc/posix-functions/aligned_alloc.texi: Renamed from
4454         doc/glibc-functions/aligned_alloc.texi.
4455         * doc/posix-functions/quick_exit.texi: Renamed from
4456         doc/glibc-functions/quick_exit.texi.
4457         * doc/posix-headers/uchar.texi: Renamed from
4458         doc/glibc-headers/uchar.texi.
4459         * doc/posix-functions/c16rtomb.texi: Renamed from
4460         doc/glibc-functions/c16rtomb.texi.
4461         * doc/posix-functions/c32rtomb.texi: Renamed from
4462         doc/glibc-functions/c32rtomb.texi.
4463         * doc/posix-functions/mbrtoc16.texi: Renamed from
4464         doc/glibc-functions/mbrtoc16.texi.
4465         * doc/posix-functions/mbrtoc32.texi: Renamed from
4466         doc/glibc-functions/mbrtoc32.texi.
4467         * doc/gnulib.texi: Update.
4468         (Glibc uchar.h): Remove section.
4469         Suggested by Eric Blake.
4470
4471 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
4472
4473         stdnoreturn: port to MSVC better
4474         MSVC standard headers use __declspec(noreturn), so #define noreturn
4475         to empty on that platform.  Reported by Bruno Haible in
4476         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
4477         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
4478         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
4479
4480 2012-02-28  Bruno Haible  <bruno@clisp.org>
4481
4482         doc: Mention new glibc headers and functions.
4483         * doc/glibc-headers/uchar.texi: New file.
4484         * doc/glibc-functions/aligned_alloc.texi: New file.
4485         * doc/glibc-functions/c16rtomb.texi: New file.
4486         * doc/glibc-functions/c32rtomb.texi: New file.
4487         * doc/glibc-functions/clock_adjtime.texi: New file.
4488         * doc/glibc-functions/fanotify_init.texi: New file.
4489         * doc/glibc-functions/fanotify_mark.texi: New file.
4490         * doc/glibc-functions/inet6_opt_append.texi: New file.
4491         * doc/glibc-functions/inet6_opt_find.texi: New file.
4492         * doc/glibc-functions/inet6_opt_finish.texi: New file.
4493         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
4494         * doc/glibc-functions/inet6_opt_init.texi: New file.
4495         * doc/glibc-functions/inet6_opt_next.texi: New file.
4496         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
4497         * doc/glibc-functions/inet6_rth_add.texi: New file.
4498         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
4499         * doc/glibc-functions/inet6_rth_init.texi: New file.
4500         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
4501         * doc/glibc-functions/inet6_rth_segments.texi: New file.
4502         * doc/glibc-functions/inet6_rth_space.texi: New file.
4503         * doc/glibc-functions/login.texi: New file.
4504         * doc/glibc-functions/mbrtoc16.texi: New file.
4505         * doc/glibc-functions/mbrtoc32.texi: New file.
4506         * doc/glibc-functions/name_to_handle_at.texi: New file.
4507         * doc/glibc-functions/ntp_gettimex.texi: New file.
4508         * doc/glibc-functions/open_by_handle_at.texi: New file.
4509         * doc/glibc-functions/prlimit.texi: New file.
4510         * doc/glibc-functions/process_vm_readv.texi: New file.
4511         * doc/glibc-functions/process_vm_writev.texi: New file.
4512         * doc/glibc-functions/recvmmsg.texi: New file.
4513         * doc/glibc-functions/scandirat.texi: New file.
4514         * doc/glibc-functions/sendmmsg.texi: New file.
4515         * doc/glibc-functions/setns.texi: New file.
4516         * doc/glibc-functions/timespec_get.texi: New file.
4517         * doc/gnulib.texi: Include them.
4518         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
4519         sections.
4520         Reported by Eric Blake.
4521
4522 2012-02-28  Bruno Haible  <bruno@clisp.org>
4523
4524         Avoid compilation errors with MSVC option -fp:strict.
4525         * lib/floor.c: Use MSVC specific pragma fenv_access.
4526         * lib/ceil.c: Likewise.
4527         * lib/trunc.c: Likewise.
4528         * lib/round.c: Likewise.
4529         * lib/rint.c: Likewise.
4530         * lib/fma.c: Likewise.
4531         * lib/integer_length.c: Likewise.
4532         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4533         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4534         * tests/test-floor2.c: Likewise.
4535         * tests/test-floorf2.c: Likewise.
4536         * tests/test-ceil2.c: Likewise.
4537         * tests/test-ceilf2.c: Likewise.
4538         * tests/test-trunc2.c: Likewise.
4539         * tests/test-truncf2.c: Likewise.
4540         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4541
4542 2012-02-27  Bruno Haible  <bruno@clisp.org>
4543
4544         Tests for module 'sqrtl-ieee'.
4545         * modules/sqrtl-ieee-tests: New file.
4546         * tests/test-sqrtl-ieee.c: New file.
4547
4548         New module 'sqrtl-ieee'.
4549         * modules/sqrtl-ieee: New file.
4550
4551         Tests for module 'sqrt-ieee'.
4552         * modules/sqrt-ieee-tests: New file.
4553         * tests/test-sqrt-ieee.c: New file.
4554
4555         New module 'sqrt-ieee'.
4556         * modules/sqrt-ieee: New file.
4557
4558         Tests for module 'sqrtf-ieee'.
4559         * modules/sqrtf-ieee-tests: New file.
4560         * tests/test-sqrtf-ieee.c: New file.
4561         * tests/test-sqrt-ieee.h: New file.
4562
4563         New module 'sqrtf-ieee'.
4564         * modules/sqrtf-ieee: New file.
4565
4566 2012-02-27  Bruno Haible  <bruno@clisp.org>
4567
4568         remainderl-ieee: Work around test failure on OSF/1.
4569         * m4/remainderl-ieee.m4: New file.
4570         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
4571         present, test whether remainderl works with a zero second argument.
4572         Replace it if not.
4573         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
4574         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
4575         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
4576         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
4577         (Depends-on): Update conditions.
4578         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
4579         (Depends-on): Add remainder-ieee.
4580         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
4581         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
4582         module.
4583
4584         remainderf-ieee: Work around test failure on OSF/1.
4585         * m4/remainderf-ieee.m4: New file.
4586         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
4587         present, test whether remainderf works with a zero second argument.
4588         Replace it if not.
4589         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
4590         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
4591         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
4592         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
4593         (Depends-on): Update conditions.
4594         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
4595         (Depends-on): Add remainder-ieee.
4596         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
4597         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
4598         module.
4599
4600         remainder-ieee: Work around test failure on OSF/1.
4601         * m4/remainder-ieee.m4: New file.
4602         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
4603         present, test whether remainder works with a zero second argument.
4604         Replace it if not.
4605         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
4606         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
4607         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
4608         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
4609         (Depends-on): Update dependencies.
4610         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
4611         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
4612         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
4613
4614         Tests for module 'remainderl-ieee'.
4615         * modules/remainderl-ieee-tests: New file.
4616         * tests/test-remainderl-ieee.c: New file.
4617
4618         New module 'remainderl-ieee'.
4619         * modules/remainderl-ieee: New file.
4620
4621         Tests for module 'remainder-ieee'.
4622         * modules/remainder-ieee-tests: New file.
4623         * tests/test-remainder-ieee.c: New file.
4624
4625         New module 'remainder-ieee'.
4626         * modules/remainder-ieee: New file.
4627
4628         Tests for module 'remainderf-ieee'.
4629         * modules/remainderf-ieee-tests: New file.
4630         * tests/test-remainderf-ieee.c: New file.
4631         * tests/test-remainder-ieee.h: New file.
4632
4633         New module 'remainderf-ieee'.
4634         * modules/remainderf-ieee: New file.
4635
4636 2012-02-27  Bruno Haible  <bruno@clisp.org>
4637
4638         modff, modfl: Fix configure syntax error.
4639         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
4640         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4641
4642 2012-02-27  Bruno Haible  <bruno@clisp.org>
4643
4644         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
4645         * m4/fmodl-ieee.m4: New file.
4646         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
4647         whether fmodl works with zero arguments. Replace it if not.
4648         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
4649         (Depends-on): Add fmod-ieee.
4650         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
4651         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
4652
4653         fmodf-ieee: Work around test failure on OSF/1.
4654         * m4/fmodf-ieee.m4: New file.
4655         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
4656         whether fmodf works with zero arguments. Replace it if not.
4657         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
4658         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
4659         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
4660         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
4661         (Depends-on): Update dependencies.
4662         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
4663         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
4664         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
4665
4666         fmodf-ieee: Work around test failure on MSVC 9.
4667         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
4668         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
4669
4670         fmod-ieee: Work around test failures on OSF/1, mingw.
4671         * m4/fmod-ieee.m4: New file.
4672         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
4673         whether fmod works with zero arguments. Replace it if not.
4674         * lib/math.in.h (fmod): New declaration.
4675         * lib/fmod.c: New file.
4676         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
4677         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
4678         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
4679         * modules/fmod (Files): Add lib/fmod.c.
4680         (Depends-on): Add math, isinf, trunc, fma.
4681         (configure.ac): Arrange to compile lib/fmod.c if needed.
4682         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
4683         m4/signbit.m4.
4684         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
4685         * tests/test-math-c++.cc: Check the declaration of fmod.
4686         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
4687
4688         fmodl-ieee: Fix test failures.
4689         * lib/fmodl.c (fmodl): Treat Inf specially.
4690         * modules/fmodl (Depends-on): Add isinf.
4691
4692         Tests for module 'fmodl-ieee'.
4693         * modules/fmodl-ieee-tests: New file.
4694         * tests/test-fmodl-ieee.c: New file.
4695
4696         New module 'fmodl-ieee'.
4697         * modules/fmodl-ieee: New file.
4698
4699         Tests for module 'fmod-ieee'.
4700         * modules/fmod-ieee-tests: New file.
4701         * tests/test-fmod-ieee.c: New file.
4702
4703         New module 'fmod-ieee'.
4704         * modules/fmod-ieee: New file.
4705
4706         Tests for module 'fmodf-ieee'.
4707         * modules/fmodf-ieee-tests: New file.
4708         * tests/test-fmodf-ieee.c: New file.
4709         * tests/test-fmod-ieee.h: New file.
4710
4711         New module 'fmodf-ieee'.
4712         * modules/fmodf-ieee: New file.
4713
4714 2012-02-27  Bruno Haible  <bruno@clisp.org>
4715
4716         Tests for module 'rintl-ieee'.
4717         * modules/rintl-ieee-tests: New file.
4718         * tests/test-rintl-ieee.c: New file.
4719
4720         New module 'rintl-ieee'.
4721         * modules/rintl-ieee: New file.
4722
4723         Tests for module 'rint-ieee'.
4724         * modules/rint-ieee-tests: New file.
4725         * tests/test-rint-ieee.c: New file.
4726
4727         New module 'rint-ieee'.
4728         * modules/rint-ieee: New file.
4729
4730         Tests for module 'rintf-ieee'.
4731         * modules/rintf-ieee-tests: New file.
4732         * tests/test-rintf-ieee.c: New file.
4733         * tests/test-rint-ieee.h: New file.
4734
4735         New module 'rintf-ieee'.
4736         * modules/rintf-ieee: New file.
4737
4738 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
4739
4740         regex: re_search etc. should return -2 when memory exhausted
4741         This bug was uncovered when testing 'grep'.  Without the fix,
4742         re_search and friends return -1 when memory is exhausted, but -1
4743         means no match, and this causes grep to falsely report no-match
4744         instead of memory-exhaustion.  See
4745         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
4746         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
4747         trouble; this can occur if re_search_internal ran out of memory.
4748
4749 2012-02-26  Bruno Haible  <bruno@clisp.org>
4750
4751         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
4752         * m4/modfl-ieee.m4: New file.
4753         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
4754         whether modfl works with Inf. Replace it if not.
4755         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
4756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
4757         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
4758         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
4759         (Depends-on): Update dependencies.
4760         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
4761         m4/signbit.m4.
4762         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
4763         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
4764
4765         modfl-ieee: Fix dependencies.
4766         * modules/modfl-ieee (Depends-on): Add modf-ieee.
4767
4768         modfl-ieee: Fix test failures.
4769         * lib/modfl.c (modfl): Treat NaN and Inf specially.
4770         * modules/modfl (Depends-on): Add isfinite, isinf.
4771
4772         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
4773         * m4/modff-ieee.m4: New file.
4774         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
4775         whether modff works with NaN and Inf. Replace it if not.
4776         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
4777         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
4778         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
4779         * modules/modff (configure.ac): Consider REPLACE_MODFF.
4780         (Depends-on): Update dependencies.
4781         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
4782         m4/signbit.m4.
4783         (Depends-on): Add modf-ieee.
4784         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
4785         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
4786
4787         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
4788         * m4/modf-ieee.m4: New file.
4789         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
4790         whether modf works with NaN and Inf. Replace it if not.
4791         * lib/math.in.h (modf): New declaration.
4792         * lib/modf.c: New file.
4793         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
4794         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
4795         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
4796         * modules/modf (Files): Add lib/modf.c.
4797         (Depends-on): Add math, isfinite, trunc, isinf.
4798         (configure.ac): Addrange to compile lib/modf.c if needed.
4799         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
4800         m4/signbit.m4.
4801         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
4802         * tests/test-math-c++.cc: Check the declaration of modf.
4803         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
4804
4805         Tests for module 'modfl-ieee'.
4806         * modules/modfl-ieee-tests: New file.
4807         * tests/test-modfl-ieee.c: New file.
4808
4809         New module 'modfl-ieee'.
4810         * modules/modfl-ieee: New file.
4811
4812         Tests for module 'modf-ieee'.
4813         * modules/modf-ieee-tests: New file.
4814         * tests/test-modf-ieee.c: New file.
4815
4816         New module 'modf-ieee'.
4817         * modules/modf-ieee: New file.
4818
4819         Tests for module 'modff-ieee'.
4820         * modules/modff-ieee-tests: New file.
4821         * tests/test-modff-ieee.c: New file.
4822         * tests/test-modf-ieee.h: New file.
4823
4824         New module 'modff-ieee'.
4825         * modules/modff-ieee: New file.
4826
4827 2012-02-26  Bruno Haible  <bruno@clisp.org>
4828
4829         Tests for module 'fabsl-ieee'.
4830         * modules/fabsl-ieee-tests: New file.
4831         * tests/test-fabsl-ieee.c: New file.
4832
4833         New module 'fabsl-ieee'.
4834         * modules/fabsl-ieee: New file.
4835
4836         Tests for module 'fabs-ieee'.
4837         * modules/fabs-ieee-tests: New file.
4838         * tests/test-fabs-ieee.c: New file.
4839
4840         New module 'fabs-ieee'.
4841         * modules/fabs-ieee: New file.
4842
4843         Tests for module 'fabsf-ieee'.
4844         * modules/fabsf-ieee-tests: New file.
4845         * tests/test-fabsf-ieee.c: New file.
4846         * tests/test-fabs-ieee.h: New file.
4847
4848         New module 'fabsf-ieee'.
4849         * modules/fabsf-ieee: New file.
4850
4851 2012-02-26  Bruno Haible  <bruno@clisp.org>
4852
4853         Tests for module 'fmal-ieee'.
4854         * modules/fmal-ieee-tests: New file.
4855         * tests/test-fmal-ieee.c: New file.
4856
4857         New module 'fmal-ieee'.
4858         * modules/fmal-ieee: New file.
4859
4860         Tests for module 'fma-ieee'.
4861         * modules/fma-ieee-tests: New file.
4862         * tests/test-fma-ieee.c: New file.
4863
4864         New module 'fma-ieee'.
4865         * modules/fma-ieee: New file.
4866
4867         Tests for module 'fmaf-ieee'.
4868         * modules/fmaf-ieee-tests: New file.
4869         * tests/test-fmaf-ieee.c: New file.
4870         * tests/test-fma-ieee.h: New file.
4871
4872         New module 'fmaf-ieee'.
4873         * modules/fmaf-ieee: New file.
4874
4875 2012-02-26  Bruno Haible  <bruno@clisp.org>
4876
4877         Tests for module 'ldexpl-ieee'.
4878         * modules/ldexpl-ieee-tests: New file.
4879         * tests/test-ldexpl-ieee.c: New file.
4880
4881         New module 'ldexpl-ieee'.
4882         * modules/ldexpl-ieee: New file.
4883
4884         Tests for module 'ldexp-ieee'.
4885         * modules/ldexp-ieee-tests: New file.
4886         * tests/test-ldexp-ieee.c: New file.
4887
4888         New module 'ldexp-ieee'.
4889         * modules/ldexp-ieee: New file.
4890
4891         Tests for module 'ldexpf-ieee'.
4892         * modules/ldexpf-ieee-tests: New file.
4893         * tests/test-ldexpf-ieee.c: New file.
4894         * tests/test-ldexp-ieee.h: New file.
4895
4896         New module 'ldexpf-ieee'.
4897         * modules/ldexpf-ieee: New file.
4898
4899 2012-02-26  Bruno Haible  <bruno@clisp.org>
4900
4901         Refactor frexp*-ieee tests.
4902         * tests/test-frexp-ieee.h: New file.
4903         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
4904         (main): Just call test_function.
4905         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
4906         (main): Just call test_function.
4907         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
4908         (main): Just call test_function.
4909         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
4910         * modules/frexp-ieee-tests (Files): Likewise.
4911         * modules/frexpl-ieee-tests (Files): Likewise.
4912
4913         Tests for module 'frexpl-ieee'.
4914         * modules/frexpl-ieee-tests: New file.
4915         * tests/test-frexpl-ieee.c: New file.
4916
4917         New module 'frexpl-ieee'.
4918         * modules/frexpl-ieee: New file.
4919
4920         Tests for module 'frexp-ieee'.
4921         * modules/frexp-ieee-tests: New file.
4922         * tests/test-frexp-ieee.c: New file.
4923
4924         New module 'frexp-ieee'.
4925         * modules/frexp-ieee: New file.
4926
4927         Tests for module 'frexpf-ieee'.
4928         * modules/frexpf-ieee-tests: New file.
4929         * tests/test-frexpf-ieee.c: New file.
4930
4931         New module 'frexpf-ieee'.
4932         * modules/frexpf-ieee: New file.
4933
4934 2012-02-26  Bruno Haible  <bruno@clisp.org>
4935
4936         roundl-ieee tests: More tests.
4937         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4938         (main): Add tests for [MX] shaded specification in POSIX.
4939         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4940         (Depends-on): Add isnanl-nolibm.
4941
4942         round-ieee tests: More tests.
4943         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4944         (main): Add tests for [MX] shaded specification in POSIX.
4945         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4946         (Depends-on): Add isnand-nolibm.
4947
4948         roundf-ieee tests: More tests.
4949         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4950         (main): Add tests for [MX] shaded specification in POSIX.
4951         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4952         (Depends-on): Add isnanf-nolibm.
4953
4954         truncl-ieee tests: More tests.
4955         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4956         (main): Add tests for [MX] shaded specification in POSIX.
4957         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4958         (Depends-on): Add isnanl-nolibm.
4959
4960         trunc-ieee tests: More tests.
4961         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4962         (main): Add tests for [MX] shaded specification in POSIX.
4963         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4964         (Depends-on): Add isnand-nolibm.
4965
4966         truncf-ieee tests: More tests.
4967         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4968         (main): Add tests for [MX] shaded specification in POSIX.
4969         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4970         (Depends-on): Add isnanf-nolibm.
4971
4972         ceill-ieee tests: More tests.
4973         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4974         (main): Add tests for [MX] shaded specification in POSIX.
4975         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4976         (Depends-on): Add isnanl-nolibm.
4977
4978         ceil-ieee tests: More tests.
4979         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4980         (main): Add tests for [MX] shaded specification in POSIX.
4981         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4982         (Depends-on): Add isnand-nolibm.
4983
4984         ceilf-ieee tests: More tests.
4985         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4986         (main): Add tests for [MX] shaded specification in POSIX.
4987         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4988         (Depends-on): Add isnanf-nolibm.
4989
4990         floorl-ieee tests: More tests.
4991         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4992         (main): Add tests for [MX] shaded specification in POSIX.
4993         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4994         (Depends-on): Add isnanl-nolibm.
4995
4996         floor-ieee tests: More tests.
4997         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4998         (main): Add tests for [MX] shaded specification in POSIX.
4999         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5000         (Depends-on): Add isnand-nolibm.
5001
5002         floorf-ieee tests: More tests.
5003         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5004         (main): Add tests for [MX] shaded specification in POSIX.
5005         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5006         (Depends-on): Add isnanf-nolibm.
5007
5008 2012-02-26  Bruno Haible  <bruno@clisp.org>
5009
5010         fpieee: More comments.
5011         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
5012
5013 2012-02-25  Bruno Haible  <bruno@clisp.org>
5014
5015         Tests for module 'log10l'.
5016         * modules/log10l-tests: New file.
5017         * tests/test-log10l.c: New file.
5018         * tests/test-math-c++.cc: Check the declaration of log10l.
5019
5020         New module 'log10l'.
5021         * lib/math.in.h (log10l): New declaration.
5022         * lib/log10l.c: New file.
5023         * m4/log10l.m4: New file.
5024         * modules/log10l: New file.
5025         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
5026         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
5027         HAVE_DECL_LOG10L.
5028         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
5029         HAVE_DECL_LOG10L.
5030         * doc/posix-functions/log10l.texi: Mention the new module.
5031
5032 2012-02-25  Bruno Haible  <bruno@clisp.org>
5033
5034         fmodl, remainder*: Avoid wrong results due to rounding errors.
5035         * lib/fmodl.c (fmodl): Correct the result if it is not within the
5036         expected bounds.
5037         * lib/remainderf.c (remainderf): Likewise.
5038         * lib/remainder.c (remainder): Likewise.
5039         * lib/remainderl.c (remainderl): Likewise.
5040
5041 2012-02-25  Bruno Haible  <bruno@clisp.org>
5042
5043         Tests for module 'remainderl'.
5044         * modules/remainderl-tests: New file.
5045         * tests/test-remainderl.c: New file.
5046         * tests/test-math-c++.cc: Check the declaration of remainderl.
5047
5048         New module 'remainderl'.
5049         * lib/math.in.h (remainderl): New declaration.
5050         * lib/remainderl.c: New file.
5051         * m4/remainderl.m4: New file.
5052         * modules/remainderl: New file.
5053         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
5054         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
5055         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
5056         HAVE_REMAINDERL.
5057         * doc/posix-functions/remainderl.texi: Mention the new module.
5058
5059 2012-02-25  Bruno Haible  <bruno@clisp.org>
5060
5061         Tests for module 'remainderf'.
5062         * modules/remainderf-tests: New file.
5063         * tests/test-remainderf.c: New file.
5064         * tests/test-math-c++.cc: Check the declaration of remainderf.
5065
5066         New module 'remainderf'.
5067         * lib/math.in.h (remainderf): New declaration.
5068         * lib/remainderf.c: New file.
5069         * m4/remainderf.m4: New file.
5070         * modules/remainderf: New file.
5071         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
5072         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
5073         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
5074         HAVE_REMAINDERF.
5075         * doc/posix-functions/remainderf.texi: Mention the new module.
5076
5077 2012-02-25  Bruno Haible  <bruno@clisp.org>
5078
5079         remainder: Support for MSVC.
5080         * lib/math.in.h (remainder): New declaration.
5081         * lib/remainder.c: New file.
5082         * m4/remainder.m4: New file.
5083         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
5084         (Depends-on): Add math, round, fma.
5085         (configure.ac): Use results of gl_FUNC_REMAINDER.
5086         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
5087         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
5088         HAVE_DECL_REMAINDER.
5089         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
5090         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
5091         * tests/test-math-c++.cc: Check the declaration of remainder.
5092         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
5093         problems are fixed.
5094
5095 2012-02-25  Bruno Haible  <bruno@clisp.org>
5096
5097         Tests for module 'fmodl'.
5098         * modules/fmodl-tests: New file.
5099         * tests/test-fmodl.c: New file.
5100         * tests/test-math-c++.cc: Check the declaration of fmodl.
5101
5102         New module 'fmodl'.
5103         * lib/math.in.h (fmodl): New declaration.
5104         * lib/fmodl.c: New file.
5105         * m4/fmodl.m4: New file.
5106         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
5107         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
5108         REPLACE_FMODL.
5109         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
5110         REPLACE_FMODL.
5111         * modules/fmodl: New file.
5112         * doc/posix-functions/fmodl.texi: Mention the new module.
5113
5114 2012-02-25  Bruno Haible  <bruno@clisp.org>
5115
5116         Tests for module 'modfl'.
5117         * modules/modfl-tests: New file.
5118         * tests/test-modfl.c: New file.
5119         * tests/test-math-c++.cc: Check the declaration of modfl.
5120
5121         New module 'modfl'.
5122         * lib/math.in.h (modfl): New declaration.
5123         * lib/modfl.c: New file.
5124         * m4/modfl.m4: New file.
5125         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
5126         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
5127         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
5128         * modules/modfl: New file.
5129         * doc/posix-functions/modfl.texi: Mention the new module.
5130
5131 2012-02-25  Bruno Haible  <bruno@clisp.org>
5132
5133         Tests for module 'fabsl'.
5134         * modules/fabsl-tests: New file.
5135         * tests/test-fabsl.c: New file.
5136         * tests/test-math-c++.cc: Check the declaration of fabsl.
5137
5138         New module 'fabsl'.
5139         * lib/math.in.h (fabsl): New declaration.
5140         * lib/fabsl.c: New file.
5141         * m4/fabsl.m4: New file.
5142         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
5143         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
5144         REPLACE_FABSL.
5145         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
5146         REPLACE_FABSL.
5147         * modules/fabsl: New file.
5148         * doc/posix-functions/fabsl.texi: Mention the new module.
5149
5150 2012-02-25  Bruno Haible  <bruno@clisp.org>
5151
5152         fabs tests: More tests.
5153         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
5154         (zero): New variable.
5155         (main): Add tests for signed zero.
5156         * modules/fabs-tests (Files): Add tests/minus-zero.h.
5157
5158         fabsf tests: More tests.
5159         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
5160         (zero): New variable.
5161         (main): Add tests for signed zero.
5162         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
5163
5164 2012-02-24  Bruno Haible  <bruno@clisp.org>
5165
5166         atanl: Provide function definition on MSVC.
5167         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
5168         function pointer.
5169         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
5170
5171 2012-02-24  Bruno Haible  <bruno@clisp.org>
5172
5173         acosl: Provide function definition on MSVC.
5174         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
5175         function pointer.
5176         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
5177
5178 2012-02-24  Bruno Haible  <bruno@clisp.org>
5179
5180         asinl: Provide function definition on MSVC.
5181         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
5182         function pointer.
5183         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
5184
5185 2012-02-24  Bruno Haible  <bruno@clisp.org>
5186
5187         tanl: Provide function definition on MSVC.
5188         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
5189         function pointer.
5190         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
5191
5192 2012-02-24  Bruno Haible  <bruno@clisp.org>
5193
5194         cosl: Provide function definition on MSVC.
5195         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
5196         function pointer.
5197         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
5198
5199 2012-02-24  Bruno Haible  <bruno@clisp.org>
5200
5201         sinl: Provide function definition on MSVC.
5202         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
5203         function pointer.
5204         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
5205
5206 2012-02-24  Bruno Haible  <bruno@clisp.org>
5207
5208         logl: Provide function definition on MSVC.
5209         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
5210         function pointer.
5211         * lib/math.in.h (logl): Undefine if it does not exist as a function.
5212
5213 2012-02-24  Bruno Haible  <bruno@clisp.org>
5214
5215         expl: Provide function definition on MSVC.
5216         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
5217         function pointer.
5218         * lib/math.in.h (expl): Undefine if it does not exist as a function.
5219
5220 2012-02-24  Bruno Haible  <bruno@clisp.org>
5221
5222         sqrtl: Provide function definition on MSVC.
5223         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
5224         a function pointer.
5225         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
5226
5227 2012-02-24  Bruno Haible  <bruno@clisp.org>
5228
5229         ceill: Provide function definition on MSVC.
5230         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
5231         used as a function pointer.
5232         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
5233
5234 2012-02-24  Bruno Haible  <bruno@clisp.org>
5235
5236         floorl: Provide function definition on MSVC.
5237         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
5238         used as a function pointer.
5239         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
5240
5241 2012-02-24  Bruno Haible  <bruno@clisp.org>
5242
5243         ceilf: Provide function definition on MSVC.
5244         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
5245         used as a function pointer.
5246         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
5247
5248 2012-02-24  Bruno Haible  <bruno@clisp.org>
5249
5250         floorf: Provide function definition on MSVC.
5251         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
5252         used as a function pointer.
5253         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
5254
5255 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5256
5257         stdnoreturn: new module
5258         This implements a replacement for C11's <stdnoreturn.h>.
5259         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
5260         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
5261         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5262         * tests/test-stdnoreturn.c: New files.
5263
5264 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
5265
5266         regex: fix false multibyte matches in some regular expressions
5267         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
5268         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
5269         * lib/regex_internal.c (re_string_skip_chars):
5270         Fix miscomputation of remain_len that may cause incomplete
5271         multi-byte character and false match.
5272
5273 2012-02-24  Jim Meyering  <meyering@redhat.com>
5274
5275         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
5276         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
5277         uses with "==" *before* the call, e.g., 0 == strcmp (...)
5278         Remove now-unnecessary str''cmp obfuscation.
5279         Suggested by Akim Demaille.
5280
5281 2012-02-24  Bruno Haible  <bruno@clisp.org>
5282
5283         streq: Rename macro.
5284         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
5285         * NEWS: Mention the change.
5286         * lib/mbrtowc.c (mbrtowc): Update.
5287         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
5288         * lib/wcwidth.c (wcwidth): Update.
5289         Suggested by Akim Demaille and Jim Meyering.
5290
5291 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5292
5293         regex: fix typo in definition of MIN
5294         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
5295         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
5296
5297 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5298             Bruno Haible  <bruno@clisp.org>
5299
5300         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
5301         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
5302         entries into a stack-allocated buffer directly.
5303         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
5304
5305 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5306             Bruno Haible  <bruno@clisp.org>
5307
5308         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
5309
5310          - There were several instances of this pattern:
5311
5312              for (;;) {
5313                n = acl (f, GETACLCNT, 0, NULL);
5314                [ allocate an array A of size N ]
5315                if (acl (f, GETACL, n, a) == n)
5316                  break;
5317              }
5318
5319            This loop might never terminate if some other process is constantly
5320            manipulating the file's ACL.  The loop should be rewritten to
5321            terminate.
5322
5323          - The acl (... GETACLNT ...) call is merely an optimization; its value
5324            is merely a hint as to how big to make the array.  A better
5325            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
5326            and just guess a reasonably-big size, growing the size and trying
5327            again if it's not large enough.  This guarantees termination, and
5328            saves a system call.
5329
5330         * lib/acl-internal.h: Include <limits.h>.
5331         (MIN, SIZE_MAX): New macros.
5332         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
5333         a stack-allocated buffer, and use malloc if it does not fit. Don't
5334         use GETACLCNT.
5335         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5336
5337 2012-02-19  Bruno Haible  <bruno@clisp.org>
5338
5339         acl: Fix endless loop on Solaris with vxfs.
5340         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
5341         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
5342         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5343         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
5344         * tests/test-sameacls.c (main)[Solaris]: Likewise.
5345         Reported by Bill Jones in
5346         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
5347
5348 2012-02-19  Bruno Haible  <bruno@clisp.org>
5349
5350         acl: Fix copy-acl test failure on Solaris 11 2011-11.
5351         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
5352         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
5353         that this function returns 0 in some more cases.
5354
5355 2012-02-19  Bruno Haible  <bruno@clisp.org>
5356
5357         acl: Update doc references.
5358         * doc/acl-resources.txt: Update links to Solaris documentation.
5359
5360 2012-02-19  Bruno Haible  <bruno@clisp.org>
5361
5362         Fix test failure in many locales on Solaris 11.
5363         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
5364         'tr' arguments.
5365         * tests/test-pipe-filter-ii1.c (main): Likewise.
5366         * build-aux/bootstrap (check_versions): Run 'tr' command with range
5367         expressions in the C locale.
5368         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5369         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5370
5371 2012-02-19  Bruno Haible  <bruno@clisp.org>
5372
5373         gnulib-tool: Improve usage message.
5374         * gnulib-tool (func_usage): Move doc of --help and --version to the
5375         section "Operation modes".
5376
5377 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
5378
5379         README-release: make it easier to execute commands
5380         * top/README-release: break commands out on to separate lines.
5381
5382 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5383
5384         GNUmakefile: simplify detection of unconfigured trees
5385         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
5386         whether the tree make is being run from is already configured or
5387         not.  Related simplifications.
5388
5389 2012-02-13  Simon Josefsson  <simon@josefsson.org>
5390
5391         * gnulib-tool (func_usage): Document --help and --version.
5392
5393 2012-02-11  Jim Meyering  <meyering@redhat.com>
5394
5395         bootstrap: don't exit 0 upon gnulib-tool failure
5396         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
5397         its exit status, not 0.
5398
5399 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
5400
5401         README-release: various improvements
5402         * top/README-release: Give a command to push changes for the
5403         release.  Add "distcheck" to list of other pre-release checks.
5404         Fix instance of "make stable" which should be "make TYPE".
5405
5406 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5407
5408         maint: replace FSF snail-mail addresses with URLs
5409         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
5410         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
5411         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
5412         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
5413         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
5414         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
5415         * lib/check-version.c, lib/check-version.h, lib/config.charset:
5416         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
5417         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
5418         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
5419         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
5420         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
5421         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
5422         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
5423         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
5424         * lib/glthread/thread.c, lib/glthread/thread.h:
5425         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
5426         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
5427         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
5428         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
5429         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
5430         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
5431         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
5432         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
5433         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
5434         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
5435         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
5436         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
5437         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
5438         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
5439         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
5440         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
5441         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
5442         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
5443         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
5444         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
5445         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
5446         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
5447         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
5448         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
5449         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
5450         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
5451         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
5452         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
5453         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
5454         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
5455         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
5456         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
5457         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
5458         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
5459         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
5460         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
5461         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
5462         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
5463         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
5464         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
5465         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
5466         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
5467         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
5468         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
5469         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
5470         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
5471         * tests/test-poll.c, tests/test-quotearg-simple.c:
5472         * tests/test-quotearg.c, tests/test-quotearg.h:
5473         * tests/test-round-ieee.c, tests/test-round1.c:
5474         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
5475         * tests/test-roundl-ieee.c, tests/test-roundl.c:
5476         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
5477         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
5478         * tests/test-strerror.c, tests/test-strerror_r.c:
5479         * tests/test-strsignal.c, tests/test-strverscmp.c:
5480         * tests/test-xmemdup0.c:
5481         Replace FSF snail mail addresses with URLs, as per GNU coding
5482         standards.  See glibc bug
5483         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
5484
5485 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5486
5487         README-release: capitalize a word and split a line
5488         * top/README-release: Fix punctuation and spacing.
5489
5490 2012-02-08  Akim Demaille  <demaille@gostai.com>
5491
5492         fatal-signal: use C prototypes (with explicit void).
5493         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
5494         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
5495
5496 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5497
5498         regex: spelling fix
5499         * lib/regexec.c: spelling fix
5500
5501         regex: rely on stdint.h for SIZE_MAX
5502         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
5503
5504 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5505
5506         regex: merge glibc changes
5507
5508         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
5509         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
5510         (init_word_char): Work even if bitset words are not exactly 32 or
5511         64 bits wide.  Don't assume there are no padding bits.
5512         * lib/regex.c [_LIBC]: Do not include <config.h>.
5513         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
5514         and -Wtype-limits.
5515         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
5516         needless disagreement with glibc.  All uses changed.  Define it to
5517         1 only if _GNU_SOURCE, to match glibc.
5518         (_REG_RM_NAME): Remove; no longer needed, since the names in
5519         question are now all protected by __USE_GNU.
5520         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
5521         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
5522         * lib/regex_internal.h (MIN): New macro.
5523
5524         2012-01-03 Ulrich Drepper <drepper@gmail.com>
5525         * lib/regcomp.c (init_word_char): Optimize regex a bit.
5526
5527         2011-12-30 Jakub Jelinek <jakub@redhat.com>
5528         * lib/regex_internal.c (re_string_fetch_byte_case):
5529         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
5530         is miscompiled, and it turns out it is because of an incorrect
5531         attribute on re_string_fetch_byte_case.  Unlike
5532         re_string_peek_byte_case, this one is really not pure, it modifies
5533         memory (increments pstr->cur_idx), and with the pure attribute GCC
5534         assumed it doesn't and it cached the presumed value of
5535         regexp->cur_idx in a variable across the
5536          for (;; ++i)
5537            {
5538              if (i >= BRACKET_NAME_BUF_SIZE)
5539                return REG_EBRACK;
5540              if (token->type == OP_OPEN_CHAR_CLASS)
5541                ch = re_string_fetch_byte_case (regexp);
5542              else
5543                ch = re_string_fetch_byte (regexp);
5544              if (re_string_eoi(regexp))
5545                return REG_EBRACK;
5546              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
5547                break;
5548              elem->opr.name[i] = ch;
5549            }
5550
5551         2011-11-29 Andreas Schwab <schwab@redhat.com>
5552         * lib/regcomp.c (build_equiv_class):
5553         Fix access after end of search string in regex matcher.
5554
5555         2011-11-12 Ulrich Drepper <drepper@redhat.com>
5556         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
5557
5558         2011-10-12 Ulrich Drepper <drepper@redhat.com>
5559         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
5560
5561         2011-10-11 Ulrich Drepper <drepper@redhat.com>
5562         * lib/regcomp.c (parse_branch, parse_sub_exp):
5563         More regex memory leak fixes and tests.
5564         (parse_sub_exp, parse_bracket_exp):
5565         Fix memory leak for some invalid regular expressions.
5566
5567         2011-05-28 Ulrich Drepper <drepper@gmail.com>
5568         * lib/regex_internal.c, lib/regexec.c:
5569         Fix unnecessary overallocation due to incomplete character.  When
5570         incomplete characters are found at the end of a string the code
5571         ran amok and allocated lots of memory.  Stricter limits are now in
5572         place.
5573
5574         2011-05-20 Reuben Thomas <rrt@sc3d.org>
5575         * lib/regex.h: Update documentation.
5576
5577         2011-05-16 Aharon Robbins <arnold@skeeve.com>
5578         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
5579
5580         2010-05-05 Andreas Schwab <schwab@redhat.com>
5581         * lib/regexec.c (find_collation_sequence_value):
5582         Fix lookup of collation sequence value during regexp matching.
5583
5584         2010-01-22 Ulrich Drepper <drepper@redhat.com>
5585         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
5586
5587         2008-01-16 Ulrich Drepper <drepper@redhat.com>
5588         * lib/regex.h: Cleanup namespace.
5589
5590         2007-11-26 Ulrich Drepper <drepper@redhat.com>
5591         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
5592
5593         2007-08-26 Ulrich Drepper <drepper@redhat.com>
5594         * lib/regex_internal.h: Prevent some declarations and definitions
5595         to be seen when used in tests.
5596
5597         2005-05-06 Ulrich Drepper <drepper@redhat.com>
5598         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
5599         __libc_lock_* macros if not _LIBC.
5600         (struct re_dfa_t): Add lock.
5601
5602 2012-02-07  Eric Blake  <eblake@redhat.com>
5603
5604         maint.mk: also prohibit lower-case @var@
5605         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
5606         lower case, like @top_srcdir@.
5607
5608 2012-02-04  Eric Blake  <eblake@redhat.com>
5609
5610         canonicalize: avoid uninitialized memory use
5611         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
5612         random '/' left in dest.
5613         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
5614
5615 2012-02-04  Bruno Haible  <bruno@clisp.org>
5616
5617         isatty: Fix test failure of ptsname_r on native Windows.
5618         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
5619         and don't set errno.
5620         (isatty): Test first whether fd is valid. Set errno when returning 0.
5621
5622 2012-02-04  Bruno Haible  <bruno@clisp.org>
5623
5624         spawn-pipe tests: Fix a NULL program name in a diagnostic.
5625         * tests/test-spawn-pipe-main.c: Include progname.h.
5626         (main): Invoke set_program_name.
5627         * modules/spawn-pipe-tests (Depends-on): Add progname.
5628
5629         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
5630         * tests/test-nonblocking-socket-main.c: Include progname.h.
5631         (main): Invoke set_program_name.
5632         * modules/nonblocking-socket-tests (Depends-on): Add progname.
5633
5634         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
5635         * tests/test-nonblocking-pipe-main.c: Include progname.h.
5636         (main): Invoke set_program_name.
5637         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
5638
5639 2012-02-04  Eric Blake  <eblake@redhat.com>
5640
5641         canonicalize-lgpl: fix // handling
5642         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
5643
5644         canonicalize: fix // handling
5645         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
5646         /// to //, since only // is special.
5647
5648 2012-02-04  Bruno Haible  <bruno@clisp.org>
5649
5650         ioctl: Fix test failure on native Windows.
5651         * lib/ioctl.c: Include msvc-nothrow.h.
5652         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
5653
5654 2012-02-04  Bruno Haible  <bruno@clisp.org>
5655
5656         fsync: Avoid test failure on native Windows.
5657         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
5658         read-only.
5659
5660 2012-02-04  Bruno Haible  <bruno@clisp.org>
5661
5662         sys_select: Avoid syntax error on OpenBSD 5.0.
5663         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
5664         currently being included, just include the system's <sys/select.h>.
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: Include <signal.h> only after the include_next
5670         <sys/select.h>, not before.
5671         Reported by Jiri B <jirib@devio.us>.
5672
5673 2012-02-04  Bruno Haible  <bruno@clisp.org>
5674
5675         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
5676         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
5677         global variables.
5678         * tests/test-get-rusage-data.c (main): Likewise.
5679         Reported by Jim Meyering.
5680
5681 2012-02-04  Bruno Haible  <bruno@clisp.org>
5682
5683         stdioext: Fix last commit.
5684         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
5685
5686 2012-02-03  Bruno Haible  <bruno@clisp.org>
5687
5688         stdioext: Add tentative support for Plan9.
5689         * lib/stdio-impl.h: Include <errno.h>.
5690         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
5691         * lib/freadable.c (freadable): Likewise.
5692         * lib/fwritable.c (fwritable): Likewise.
5693         * lib/fbufmode.c (fbufmode): Likewise.
5694         * lib/freading.c (freading): Likewise.
5695         * lib/fwriting.c (fwriting): Likewise.
5696         * lib/freadptr.c (freadptr): Likewise.
5697         * lib/freadseek.c (freadptrinc): Likewise.
5698         * lib/freadahead.c (freadahead): Likewise.
5699         * lib/fpurge.c (fpurge): Likewise.
5700         * lib/fseeko.c (rpl_fseeko): Likewise.
5701         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
5702         Reported by Jens Staal <staal1978@gmail.com>.
5703
5704 2012-02-02  Jim Meyering  <meyering@redhat.com>
5705
5706         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
5707         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
5708         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
5709         not even to try to add the attribute.  Instead, add a pragma to suppress
5710         the suggestion/warning.
5711
5712 2012-01-31  Karl Berry  <karl@gnu.org>
5713
5714         setstate doc: typo.
5715         * doc/posix-functions/setstate.texi (setstate): { not (.
5716
5717 2012-01-31  Bruno Haible  <bruno@clisp.org>
5718
5719         popen: Make more robust on Windows.
5720         * lib/popen.c: On native Windows, use the _popen based code even if
5721         HAVE_POPEN is set.
5722         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
5723         environment variable on native Windows.
5724
5725 2012-01-30  Bruno Haible  <bruno@clisp.org>
5726
5727         pclose: Fix typo.
5728         * lib/stdio.in.h (pclose): Fix typo in warning message.
5729
5730 2012-01-30  Bruno Haible  <bruno@clisp.org>
5731
5732         doc about getlogin_r, setstate.
5733         * doc/posix-functions/getlogin_r.texi: List the incompatible
5734         declaration problem under "not fixed by gnulib".
5735         * doc/posix-functions/setstate.texi: Mention incompatible declaration
5736         problem on Solaris 11 and other platforms.
5737
5738 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
5739             Bruno Haible  <bruno@clisp.org>
5740
5741         poll tests: Make test more robust.
5742         * tests/test-poll.c: Include macros.h.
5743         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
5744         return value of various I/O operations.
5745         * modules/poll-tests (Files): Add tests/macros.h.
5746
5747 2012-01-30  Bruno Haible  <bruno@clisp.org>
5748
5749         sys_stat: Fix support for mingw64 and MSVC.
5750         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
5751         header files already do it.
5752         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
5753         stat itself.
5754         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5755
5756 2012-01-30  Bruno Haible  <bruno@clisp.org>
5757
5758         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
5759         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
5760         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
5761
5762 2012-01-29  Bruno Haible  <bruno@clisp.org>
5763
5764         quotearg: Fix test failure on MacOS X 10.5.
5765         * tests/test-quotearg-simple.c: Include localcharset.h.
5766         (main): If the locale encoding is not ASCII, bypass the tests of
5767         locale_quoting_style and clocale_quoting_style.
5768         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
5769
5770 2012-01-29  Jim Meyering  <meyering@redhat.com>
5771
5772         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
5773         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
5774         detect uses of canonicalize_file_name.
5775
5776 2012-01-28  Bruno Haible  <bruno@clisp.org>
5777
5778         test-framework-sh: Fix test failure with AIX 7.1 diff.
5779         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
5780         in column 1, like 'diff -c' does.
5781         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
5782         whether 'diff -u' is used. Instead, test whether the output contains
5783         some '@' character.
5784
5785 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5786
5787         strtoimax: eliminate need for stdint.h, inttypes.h checks
5788         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
5789         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
5790         the prerequisites for a recently-introduced strtoimax test.
5791         I guess this might cause strtoimax to be replaced when not
5792         strictly necessary on older hosts, but this shouldn't introduce
5793         any bugs and it should make Emacs 'configure' faster on typical
5794         modern hosts.  Problem discovered when importing the latest gnulib
5795         to an Emacs test version.
5796         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
5797
5798 2012-01-28  Bruno Haible  <bruno@clisp.org>
5799
5800         sys_time: Override 'struct timeval' on some native Windows platforms.
5801         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
5802         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
5803         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
5804         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
5805         needs to be overridden.
5806         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
5807         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
5808         * tests/test-sys_select.c: Check that the tv_sec member has the same
5809         size as a 'time_t'.
5810         * tests/test-sys_time.c: Likewise.
5811         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
5812         is set, set also REPLACE_GETTIMEOFDAY.
5813         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
5814         convert the resulting 'struct timeval' before returning.
5815         * lib/select.c: Include <sys/time.h>.
5816         (select, timeval): Undefine at the right place.
5817         * modules/select (Depends-on): Add sys_time.
5818         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
5819         some Windows platforms.
5820         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5821
5822 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5823
5824         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
5825         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
5826         an integer.
5827         * lib/fcntl.c (dupfd): Likewise.
5828         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
5829
5830 2012-01-28  Bruno Haible  <bruno@clisp.org>
5831
5832         fcntl: Avoid compilation error on native Windows.
5833         * modules/fcntl (Depends-on): Add 'close'.
5834
5835 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5836
5837         select, poll, isatty: Avoid warnings on x86_64 mingw64.
5838         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
5839         pointer to an integer.
5840         * lib/poll.c (IsConsoleHandle): Likewise.
5841         * lib/isatty.c (IsConsoleHandle): Likewise.
5842
5843 2012-01-28  Jim Meyering  <meyering@redhat.com>
5844
5845         doc: clarify README-release
5846         * top/README-release: Clarify: you should make a point to have
5847         the latest stable versions of build tools in your PATH, and the
5848         reference to buildreq is solely for its list of tool names, not
5849         for its minimal-functional version numbers.
5850         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
5851
5852         maint.mk: use more readable (yet functionally equivalent) quoting
5853         It is common to quote a single quote in a single quoted string like
5854         this:  '...'\''...'.  Unless you know the idiom, that looks like
5855         gibberish, so prefer to double-quote the string when possible.
5856         Then you can use a more readable, lone single quote: "...'..."
5857         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
5858         "don't" is more readable than the equivalent 'don'\''t'.
5859         (sc_cast_of_x_alloc_return_value): Likewise.
5860         (sc_cast_of_alloca_return_value): Likewise.
5861         (sc_makefile_path_separator_check): Similar: use ":" in '...',
5862         rather than '\'':'\''.
5863
5864 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5865
5866         stdalign: relax _Alignof and tighten _Alignas test
5867         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
5868         as it was too strict: alignof must divide offsetof, but it need
5869         not equal offsetof.  Inspired by Joseph S. Myers's comment
5870         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
5871         Conversely, tighten the _Alignas test a bit, as the resulting
5872         alignment must be exactly 8.
5873
5874 2012-01-27  Bruno Haible  <bruno@clisp.org>
5875
5876         stdalign: Document the last change.
5877         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
5878
5879 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5880
5881         stdalign: check that alignof and offsetof are consistent
5882         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
5883         Problem reported for gnulib by Richard W.M. Jones in
5884         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
5885
5886 2012-01-27  Jim Meyering  <meyering@redhat.com>
5887
5888         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
5889         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
5890         convert a sequence with gaps to the minimal containing range.
5891         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
5892         * tests/test-update-copyright.sh: Test for this.
5893         The FSF confirmed it is ok to do this, assuming there is at
5894         least one significant change per year in the affected range:
5895         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
5896
5897 2012-01-26  Bruno Haible  <bruno@clisp.org>
5898
5899         pipe2: refine doc about thread-safety
5900         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
5901         multithread-safety problem.
5902         * doc/glibc-functions/accept4.texi: Likewise.
5903
5904 2012-01-26  Bruno Haible  <bruno@clisp.org>
5905
5906         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
5907         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
5908         In the test program, include <fcntl.h>, for O_RDONLY.
5909
5910 2012-01-26  Eric Blake  <eblake@redhat.com>
5911
5912         pipe2: document lack of thread-safety in replacement
5913         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
5914         issue in replacement.
5915         * doc/glibc-functions/accept4.texi (accept4): Likewise.
5916         Based on a report by Eric Wong.
5917
5918 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5919             Bruno Haible  <bruno@clisp.org>
5920
5921         malloca: Avoid warnings on x86_64 mingw64.
5922         * lib/malloca.c: Include <stdint.h>.
5923         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
5924         * modules/malloca (Depends-on): Add stdint.
5925         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
5926
5927 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5928
5929         obstack: remove __STDC__ conditionals
5930         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
5931         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
5932         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
5933         m4/include_next.m4 as the only gnulib-maintained places that still
5934         refer to __STDC__.
5935
5936 2012-01-24  Bruno Haible  <bruno@clisp.org>
5937
5938         havelib: Modern quoting.
5939         * build-aux/config.rpath: Quote 'like this', not `like this', as per
5940         the recent change to the GNU coding standards.
5941
5942 2012-01-24  Bruno Haible  <bruno@clisp.org>
5943
5944         stdint: Improve support for Android.
5945         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
5946         Reported by Simon Josefsson <simon@josefsson.org>.
5947
5948 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5949
5950         doc: omit trailing empty lines from INSTALL etc.
5951         * doc/Makefile (INSTALL): Omit trailing empty lines.
5952         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
5953         omit trailing empty lines.  This simplifies the build procedure.
5954
5955 2012-01-23  Jim Meyering  <meyering@redhat.com>
5956
5957         tests: avoid spurious warnings about gl_sockets_startup
5958         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
5959         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
5960         reporting a "statement with no effect".
5961         * tests/test-accept.c (main): Mark as "(void)".
5962         * tests/test-accept4.c (main): Likewise.
5963         * tests/test-bind.c (main): Likewise.
5964         * tests/test-connect.c (main): Likewise.
5965         * tests/test-getpeername.c (main): Likewise.
5966         * tests/test-getsockname.c (main): Likewise.
5967         * tests/test-getsockopt.c (main): Likewise.
5968         * tests/test-listen.c (main): Likewise.
5969         * tests/test-recv.c (main): Likewise.
5970         * tests/test-recvfrom.c (main): Likewise.
5971         * tests/test-send.c (main): Likewise.
5972         * tests/test-sendto.c (main): Likewise.
5973         * tests/test-setsockopt.c (main): Likewise.
5974         * tests/test-shutdown.c (main): Likewise.
5975
5976 2012-01-21  Bruno Haible  <bruno@clisp.org>
5977
5978         locale-fr.m4: Fix for Android.
5979         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
5980         failure of the test program on Bionic libc.
5981
5982 2012-01-21  Jim Meyering  <meyering@redhat.com>
5983
5984         bootstrap: fail when bootstrap_post_import_hook fails
5985         Otherwise, it's far too easy to miss diagnostics emitted
5986         between gnulib-tool's output and that of running configure.
5987         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
5988
5989 2012-01-17  Jim Meyering  <meyering@redhat.com>
5990
5991         maint: enable sc_trailing_blank
5992         * build-aux/pmccabe.css: Remove trailing blanks.
5993         * doc/acl-cygwin.txt: Likewise.
5994         * doc/gnu-oids.texi: Likewise
5995         * cfg.mk: Enable sc_trailing_blank.
5996         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
5997
5998 2012-01-17  Jim Meyering  <meyering@redhat.com>
5999
6000         maint: enable sc_prohibit_openat_without_use
6001         * cfg.mk: Enable sc_prohibit_openat_without_use.
6002         Exempt lib/selinux-at.c.
6003
6004 2012-01-17  Jim Meyering  <meyering@redhat.com>
6005
6006         maint: enable sc_prohibit_cloexec_without_use
6007         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
6008         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
6009
6010 2012-01-17  Jim Meyering  <meyering@redhat.com>
6011
6012         maint: enable sc_prohibit_intprops_without_use
6013         * cfg.mk: Enable sc_prohibit_intprops_without_use
6014         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
6015
6016 2012-01-17  Jim Meyering  <meyering@redhat.com>
6017
6018         maint: enable sc_prohibit_hash_pjw_without_use
6019         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
6020         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
6021         to match any use of \<hash_pjw\>, i.e., not necessarily with a
6022         following " (".
6023
6024 2012-01-17  Jim Meyering  <meyering@redhat.com>
6025
6026         maint: enable double-word-prohibiting rule
6027         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
6028         Exempt three files.
6029
6030 2012-01-17  Jim Meyering  <meyering@redhat.com>
6031
6032         maint: remove empty lines at EOF, but excluding modules/*
6033         Apply syntax rules at home as well as abroad.  Most changes
6034         were induced by running this:
6035           make srcdir=. _build-aux=build-aux -f top/maint.mk \
6036             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
6037             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
6038         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
6039         Exempt modules/* and two binary files.
6040         Also exempt doc/INSTALL*, per request from Bruno Haible.
6041         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
6042         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
6043         * doc/Copyright/request-assign.future: Likewise.
6044         * doc/Copyright/request-disclaim.changes: Likewise.
6045         * doc/INSTALL: Likewise.
6046         * doc/INSTALL.ISO: Likewise.
6047         * doc/INSTALL.UTF-8: Likewise.
6048         * doc/acl-cygwin.txt: Likewise.
6049         * doc/acl-resources.txt: Likewise.
6050         * doc/fdl-1.2.texi: Likewise.
6051         * doc/fdl-1.3.texi: Likewise.
6052         * doc/fdl.texi: Likewise.
6053         * lib/argp-pin.c: Likewise.
6054         * lib/round.c: Likewise.
6055         * lib/unicase/u16-totitle.c: Likewise.
6056         * lib/unictype/block_test.c: Likewise.
6057         * lib/uninorm/canonical-decomposition.c: Likewise.
6058         * m4/README: Likewise.
6059         * m4/relocatable-lib.m4: Likewise.
6060         * tests/test-isnand-nolibm.c: Likewise.
6061         * tests/test-isnand.c: Likewise.
6062         * tests/uninorm/NormalizationTest.txt: Likewise.
6063
6064 2012-01-17  Jim Meyering  <meyering@redhat.com>
6065
6066         maint: add framework to run syntax-check rules against gnulib sources
6067         * cfg.mk: New file, to disable all currently-failing tests.
6068         We'll enable them one by one, as they are made to pass.
6069         * Makefile (sc_maint): New rule.
6070
6071 2012-01-21  Bruno Haible  <bruno@clisp.org>
6072
6073         stdint: Add support for Android.
6074         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
6075         include the system's <stdint.h>.
6076         Reported by Simon Josefsson <simon@josefsson.org>.
6077
6078 2012-01-19  Jim Meyering  <meyering@redhat.com>
6079
6080         bootstrap: add bootstrap_post_import_hook
6081         Bison does still need something like the gnulib_mk_hook whose
6082         invocation I had to remove along with slurp in commit 767ccd40.
6083         Technically, we could get along without it, but doing so would
6084         have required living with a warning and a mandatory post-bootstrap
6085         automake rerun.
6086         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
6087         (bootstrap_post_import_hook): New function.
6088         Invoke it after gnulib-tool --import and before autoreconf.
6089
6090 2012-01-18  Jim Meyering  <meyering@redhat.com>
6091
6092         gitlog-to-changelog: don't use "no_"-prefixed variable name
6093         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
6094         to enable both --cluster and --no-cluster.  Change variable name,
6095         s/\$no_cluster/$cluster/, and reverse usage to match.
6096
6097         gitlog-to-changelog: use "||", not "or" in expressions
6098         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
6099         expressions.
6100
6101 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
6102
6103         gitlog-to-changelog: new option --no-cluster
6104         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
6105         clustering of adjacent commit messages.
6106
6107 2012-01-17  Jim Meyering  <meyering@redhat.com>
6108
6109         maint: spell file systems with two words, not one
6110         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
6111         two words, not one.
6112
6113 2012-01-16  Jim Meyering  <meyering@redhat.com>
6114
6115         bootstrap: add a FIXME comment to ensure we eventually remove the hack
6116         * build-aux/bootstrap (gnulib_tool_options): Add comment.
6117
6118 2012-01-16  Eric Blake  <eblake@redhat.com>
6119
6120         bootstrap: cater to autoconf 2.59
6121         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
6122         is not available.
6123
6124         bootstrap: properly check for libtool
6125         * build-aux/bootstrap (libtoolize): Also run libtool when older
6126         usage is detected.
6127
6128 2012-01-15  Bruno Haible  <bruno@clisp.org>
6129
6130         Improve support for MSVC 9.
6131         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
6132         clashes on MSVC.
6133         * lib/fcntl.in.h: Likewise.
6134         * lib/stdlib.in.h: Likewise.
6135         * lib/sys_stat.in.h: Likewise.
6136
6137 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6138
6139         gnupload: we hold the master copy of this script now
6140         For motivation and more information, see:
6141         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
6142         * build-aux/gnupload: Make it clear in the heading comments that the
6143         master copy of this file is maintained by gnulib.  Since we are at
6144         it, bump its copyright year and ...
6145         ($scriptversion): ... the date in its version.
6146         ($usage): Patches and bug reports should be sent to the gnulib list,
6147         not the automake one.
6148         * config/srclist.txt: Don't try to sync 'gnupload' from automake
6149         anymore.
6150
6151 2012-01-15  Bruno Haible  <bruno@clisp.org>
6152
6153         Fix module 'random'.
6154         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
6155         initstate, setstate are declared.
6156
6157 2012-01-14  Bruno Haible  <bruno@clisp.org>
6158
6159         Tests for module 'random'.
6160         * modules/random-tests: New file.
6161         * tests/test-random.c: New file, based on tests/test-random_r.c.
6162
6163         New module 'random'.
6164         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
6165         declarations.
6166         * lib/random.c: New file, based on glibc/stdlib/random.c.
6167         * m4/random.m4: New file.
6168         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
6169         HAVE_RANDOM.
6170         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
6171         * modules/random: New file.
6172         * config/srclist.txt: Add an entry for random.c.
6173         * doc/posix-functions/random.texi: Mention the 'random' module.
6174         * doc/posix-functions/initstate.texi: Likewise.
6175         * doc/posix-functions/setstate.texi: Likewise.
6176         * doc/posix-functions/srandom.texi: Likewise.
6177
6178 2012-01-12  Bruno Haible  <bruno@clisp.org>
6179
6180         random_r: Use common idioms.
6181         * lib/random_r.c: Include <stdlib.h> first.
6182
6183         random_r: Override incompatible API on AIX, OSF/1.
6184         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
6185         Override the system function if REPLACE_RANDOM_R is 1.
6186         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
6187         and OSF/1, set REPLACE_RANDOM_R.
6188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
6189         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
6190         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
6191         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
6192         * doc/glibc-functions/random_r.texi: Likewise.
6193         * doc/glibc-functions/setstate_r.texi: Likewise.
6194
6195         random_r: Support for MSVC 9.
6196         * lib/random_r.c: Include stdint.h, not inttypes.h.
6197
6198 2012-01-12  Eric Blake  <eblake@redhat.com>
6199
6200         inet_ntop: guard extra work by IF_LINT
6201         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
6202         better code generation when not checking for warnings.
6203         Suggested by Paul Eggert and Jim Meyering.
6204
6205         strptime: fix regression on mingw
6206         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
6207         Fix regression.  Reported by Bruno Haible.
6208
6209 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
6210             Bruno Haible  <bruno@clisp.org>
6211
6212         copy-file: add error-code-returning variant.
6213         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
6214         (qcopy_file_preserving): New declaration.
6215         * lib/copy-file.c (qcopy_file_preserving): Renamed from
6216         copy_file_preserving. Change return type to 'int'. Don't emit an error
6217         message here.
6218         (copy_file_preserving): New function.
6219         * tests/test-copy-file.c: Include <stdlib.h>.
6220         (main): Test qcopy_file_preserving if the environment variable
6221         NO_STDERR_OUTPUT is set.
6222         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
6223         with NO_STDERR_OUTPUT
6224         * tests/test-copy-file-2.sh: Likewise.
6225
6226 2012-01-10  Bruno Haible  <bruno@clisp.org>
6227
6228         copy-file: Use 'quote' module consistently.
6229         * lib/copy-file.c (copy_file_preserving): Use quote().
6230
6231         copy-file: Refactor.
6232         * lib/copy-file.c: Include quote.h.
6233         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
6234         message here.
6235         * modules/copy-file (Depends-on): Add quote.
6236
6237         acl: Export qcopy_acl.
6238         * lib/acl.h (qcopy_acl): New declaration.
6239         * lib/copy-acl.c (qcopy_acl): Make non-static.
6240
6241         acl: Rename a local variable.
6242         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
6243
6244         acl: Align return values of copy_acl and qcopy_acl.
6245         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
6246         maybe < -1.
6247
6248 2012-01-11  Eric Blake  <eblake@redhat.com>
6249
6250         strptime: silence gcc warnings
6251         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
6252         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
6253         Reported by Daniel P. Berrange.
6254
6255         inet_ntop: silence gcc warning
6256         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
6257         Reported by Daniel P. Berrange.
6258
6259 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
6260
6261         getloadavg test: skip the test on GNU/Linux without /proc mounted
6262         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
6263         file.  When /proc is not mounted, it always fails with ENOENT.
6264         * tests/test-getloadavg.c (main): Treat ENOENT return code from
6265         getloadavg(3) the same way as ENOSYS and ENOTSUP.
6266
6267 2012-01-10  Bruno Haible  <bruno@clisp.org>
6268
6269         regex: Avoid link error on MSVC 9.
6270         * modules/regex (Depends-on): Add wctype.
6271
6272 2012-01-10  Bruno Haible  <bruno@clisp.org>
6273
6274         doc: Mention --with-tests option.
6275         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
6276         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
6277         --with-tests.
6278         Reported by Reuben Thomas.
6279
6280 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
6281
6282         users.txt: order package names lexicographically.
6283         * users.txt: Order package names lexicographically.
6284
6285 2012-01-10  Jim Meyering  <meyering@redhat.com>
6286
6287         maint.mk: fix description in comment
6288         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
6289
6290         ignore-value: remove deprecated ignore_ptr function
6291         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
6292         * NEWS: Note this.
6293
6294 2012-01-09  Jim Meyering  <meyering@redhat.com>
6295
6296         test-init.sh: avoid a subshell
6297         * tests/test-init.sh: Remove protective subshell.
6298         Suggested by Bernhard Voelker.  While a subshell is normally
6299         required to protect against older shells (Solaris, FreeBSD) that
6300         warn about a missing program before performing redirection, the
6301         shell-selection tests performed by init.sh probably exclude any
6302         offending shell.
6303
6304 2012-01-08  Bruno Haible  <bruno@clisp.org>
6305
6306         setlocale tests: Avoid test failure on Solaris 11 2011-11.
6307         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
6308         variable.
6309
6310 2012-01-08  Bruno Haible  <bruno@clisp.org>
6311
6312         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
6313         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6314         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6315         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
6316         macro.
6317         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
6318         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6319         * lib/spawn_faction_addopen.c: Add workaround implementation if
6320         HAVE_WORKING_POSIX_SPAWN.
6321         * modules/spawn (Makefile): Substitute
6322         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6323         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
6324         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
6325         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6326         (Depends-on): Update conditions.
6327         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
6328         the Solaris 11 bug.
6329
6330 2012-01-08  Bruno Haible  <bruno@clisp.org>
6331
6332         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
6333         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6334         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6335         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
6336         macro.
6337         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
6338         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6339         * lib/spawn_faction_adddup2.c: Add workaround implementation if
6340         HAVE_WORKING_POSIX_SPAWN.
6341         * modules/spawn (Makefile): Substitute
6342         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6343         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
6344         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
6345         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6346         (Depends-on): Update conditions.
6347         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
6348         the Solaris 11 bug.
6349
6350 2012-01-08  Bruno Haible  <bruno@clisp.org>
6351
6352         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
6353         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6354         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6355         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
6356         HAVE_WORKING_POSIX_SPAWN.
6357         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
6358         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
6359         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6360         * lib/spawn_faction_addclose.c: Add workaround implementation if
6361         HAVE_WORKING_POSIX_SPAWN.
6362         * modules/spawn (Makefile): Substitute
6363         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6364         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
6365         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
6366         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6367         (Depends-on): Update conditions.
6368         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
6369         the Solaris 11 bug.
6370
6371 2012-01-08  Bruno Haible  <bruno@clisp.org>
6372
6373         doc: Update for Solaris 11 2011-11.
6374         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
6375         * m4/printf.m4: Update comments.
6376
6377 2012-01-08  Bruno Haible  <bruno@clisp.org>
6378
6379         mktime: Avoid compilation error on Solaris 11.
6380         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
6381
6382 2012-01-08  Bruno Haible  <bruno@clisp.org>
6383
6384         doc: Small fix.
6385         * doc/posix-headers/nl_types.texi: Correct platforms list.
6386
6387 2012-01-08  Simon Josefsson  <simon@josefsson.org>
6388
6389         Add lgpl-3.0 module.
6390         * MODULES.html.sh (Support for building documentation): Add
6391         lgpl-3.0.
6392         * modules/lgpl-3.0: New file.
6393
6394 2012-01-08  Jim Meyering  <meyering@redhat.com>
6395
6396         select.c: indent with spaces, not TABs
6397         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
6398
6399 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6400
6401         quotearg: do not use grave accent for left quote
6402         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
6403         locale_quoting_style.
6404         (quotearg_buffer_restyled): Fix example.
6405         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
6406
6407 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6408
6409         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
6410         Most programs do not have translation catalogs for English and much
6411         less separate catalogs for British and American English.  Drop the
6412         suggestion to translators about these two, and provide it
6413         automatically for Unicode locales.  Like most programs, even those
6414         using American English, we use single quotation marks.  This conflicts
6415         with the American typographic convention, but works better when you
6416         cite the entire error message within double quotes.  It also tries not
6417         to clash with established practice and with what non-gnulib programs
6418         will usually do.
6419         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
6420         using an UTF-8 or GB-18030 locale.  The list of other locales with
6421         quotes was provided by Bruno Haible.
6422         (quotearg_buffer_restyled): Adjust instructions to translators.
6423         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
6424         text, since this would be wrong when using Unicode.
6425         * modules/quotearg: Depend on c-strcaseeq.
6426
6427 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6428
6429         quotearg: fix Wikipedia link
6430         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
6431
6432 2012-01-07  Simon Josefsson  <simon@josefsson.org>
6433
6434         Fix for mingw with MSVC9.
6435         * m4/ld-version-script.m4: Check that compiler rejects version
6436         scripts with syntax errors.  Reported by Bruno Haible
6437         <bruno@clisp.org>.
6438
6439 2012-01-06  Bruno Haible  <bruno@clisp.org>
6440
6441         Talk about "native Windows API", not "Woe32".
6442         * lib/accept4.c: Update comments to mention native Windows.
6443         * lib/execute.c: Likewise.
6444         * lib/fatal-signal.c: Likewise.
6445         * lib/localcharset.c: Likewise.
6446         * lib/nanosleep.c: Likewise.
6447         * lib/nl_langinfo.c: Likewise.
6448         * lib/pclose.c: Likewise.
6449         * lib/pipe-filter-gi.c: Likewise.
6450         * lib/pipe-filter-ii.c: Likewise.
6451         * lib/pipe.c: Likewise.
6452         * lib/pipe2.c: Likewise.
6453         * lib/popen.c: Likewise.
6454         * lib/progreloc.c: Likewise.
6455         * lib/relocatable.c: Likewise.
6456         * lib/sigaction.c: Likewise.
6457         * lib/sigprocmask.c: Likewise.
6458         * lib/spawn-pipe.h: Likewise.
6459         * lib/spawn-pipe.c: Likewise.
6460         * lib/spawni.c: Likewise.
6461         * lib/stat-time.h: Likewise.
6462         * lib/w32spawn.h: Likewise.
6463         * tests/test-isatty.c: Likewise.
6464         * lib/config.charset: More comments.
6465         * doc/gnulib-intro.texi: Mention native Windows.
6466         * doc/posix-functions/_Exit_C99.texi: Likewise.
6467         * doc/posix-headers/fcntl.texi: Likewise.
6468
6469 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
6470
6471         argp: Avoid crash if translator uses % characters in a translation.
6472         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
6473         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6474
6475 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
6476
6477         doc: C11 and C++11 are now official
6478         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
6479         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
6480         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
6481         * modules/stdalign:
6482         Replace references to draft C1X to C11, and to draft C++0X to C++11.
6483
6484 2012-01-06  Bruno Haible  <bruno@clisp.org>
6485
6486         uc-is-grapheme-break tests: Tweak.
6487         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
6488         message.
6489
6490 2012-01-06  Bruno Haible  <bruno@clisp.org>
6491
6492         test-init.sh: correct the test for diff -u
6493         * tests/test-init.sh: Also redirect stdout to /dev/null.
6494
6495 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
6496
6497         Use ', not `, for quoting output.
6498         * build-aux/announce-gen (usage, sizes, print_news_deltas)
6499         (print_changelog_deltas, get_tool_versions, main program):
6500         * build-aux/git-version-gen:
6501         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
6502         * build-aux/move-if-change (help):
6503         * build-aux/useless-if-before-free (usage, main program):
6504         * check-module (parse_module_file, usage)
6505         (find_included_lib_files, check_module):
6506         * lib/argmatch.c (main) [TEST]:
6507         * lib/argp-help.c (_help):
6508         * lib/getopt1.c (main) [TEST]:
6509         * lib/git-merge-changelog.c (usage):
6510         * lib/xstrtol-error.c (xstrtol_error):
6511         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
6512         * m4/argz.m4 (gl_FUNC_ARGZ):
6513         * m4/bison.m4 (gl_BISON):
6514         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
6515         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
6516         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
6517         * m4/fpending.m4 (gl_PREREQ_FPENDING):
6518         * m4/gc-random.m4 (gl_GC_RANDOM):
6519         * m4/intl.m4 (gt_CHECK_DECL):
6520         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
6521         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
6522         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
6523         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
6524         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
6525         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
6526         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
6527         * tests/test-dirname.c (main):
6528         * tests/test-getpass.c (main):
6529         * tests/test-iconvme.c (main):
6530         * tests/test-parse-datetime.c (LOG):
6531         * tests/test-xstrtoimax.sh:
6532         * tests/test-xstrtol.sh:
6533         * tests/test-xstrtoll.sh:
6534         * tests/test-xstrtoumax.sh:
6535         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
6536         * top/GNUmakefile (abort-due-to-no-makefile):
6537         Quote 'like this', not `like this', as per the recent change to
6538         the GNU coding standards.
6539
6540 2012-01-05  Bruno Haible  <bruno@clisp.org>
6541
6542         strtoimax: Don't force a replacement on systems where intmax_t is int.
6543         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
6544         'intmax_t' is not larger than 'int'.
6545         Reported by Pádraig Brady <P@draigBrady.com>.
6546
6547 2012-01-05  Bruno Haible  <bruno@clisp.org>
6548
6549         doc: Mention NetBSD bugs.
6550         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
6551         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
6552
6553 2012-01-05  Bruno Haible  <bruno@clisp.org>
6554
6555         strtoumax tests: Enhance tests.
6556         * tests/test-strtoumax.c (main): Add tests for large values.
6557
6558 2012-01-05  Bruno Haible  <bruno@clisp.org>
6559
6560         strtoimax: Work around AIX 5.1 bug.
6561         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
6562         definition.
6563         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
6564         Set HAVE_STRTOIMAX.
6565         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
6566         REPLACE_STRTOIMAX.
6567         * modules/inttypes-incomplete (Makefile.am): Substitute
6568         REPLACE_STRTOIMAX.
6569         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
6570         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
6571         (Depends-on): Update conditions.
6572         * tests/test-strtoimax.c (main): Add tests for large values.
6573         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
6574
6575 2012-01-05  Bruno Haible  <bruno@clisp.org>
6576
6577         inttypes: Modernize.
6578         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
6579         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
6580         (Makefile.am): Update inttypes.h rule.
6581
6582 2012-01-05  Jim Meyering  <meyering@redhat.com>
6583
6584         init.sh: don't waste a subshell just to redirect stderr
6585         * tests/init.sh: In testing for diff -u and diff -c, use a
6586         stderr-redirecting exec inside `...` rather than a subshell.
6587
6588         test-init.sh: avoid failure on HP-UX 11.00
6589         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
6590         resolves to diff -c or cmp.  Reported by Bruno Haible.
6591
6592 2012-01-05  Bruno Haible  <bruno@clisp.org>
6593
6594         Tests for module 'strtoull'.
6595         * modules/strtoull-tests: New file.
6596         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
6597
6598 2012-01-05  Bruno Haible  <bruno@clisp.org>
6599
6600         Tests for module 'strtoll'.
6601         * modules/strtoll-tests: New file.
6602         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
6603
6604 2012-01-05  Bruno Haible  <bruno@clisp.org>
6605
6606         Tests for module 'strtoul'.
6607         * modules/strtoul-tests: New file.
6608         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
6609
6610 2012-01-05  Bruno Haible  <bruno@clisp.org>
6611
6612         Tests for module 'strtol'.
6613         * modules/strtol-tests: New file.
6614         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
6615
6616 2012-01-04  Jim Meyering  <meyering@redhat.com>
6617
6618         test-init.sh: accommodate Solaris 5.10's different diff -u output
6619         * tests/test-init.sh: Also exempt @@ lines from the comparison
6620         of diff output, since Solaris 5.10 and GNU diff formats differ.
6621         Reported by Stefano Lattarini.
6622
6623 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6624
6625         test-posixtm: don't assume signed integer wraparound
6626         * tests/test-posixtm.c (main): Don't assume wraparound semantics
6627         after signed integer overflow.  Inspired by (though it may not
6628         fix) Bruno Haible's bug report in
6629         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
6630
6631         Spell out "Windows 9x" and "Windows XP".
6632         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
6633         "Windows 9x" and "WinXP" with "Windows XP".
6634
6635 2012-01-04  Jim Meyering  <meyering@redhat.com>
6636
6637         test-vc-list-files-cvs.sh: remove obsolete comment
6638         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
6639         double exit.  Now that's all encapsulated via skip_ and Exit.
6640
6641 2012-01-04  Bruno Haible  <bruno@clisp.org>
6642
6643         Talk about "native Windows API", not "Win32".
6644         * lib/classpath.c: Update comments to mention native Windows.
6645         * lib/csharpexec.c: Likewise.
6646         * lib/dup2.c: Likewise.
6647         * lib/error.c: Likewise.
6648         * lib/fcntl.c: Likewise.
6649         * lib/filename.h: Likewise.
6650         * lib/findprog.c: Likewise.
6651         * lib/get-rusage-as.c: Likewise.
6652         * lib/get-rusage-data.c: Likewise.
6653         * lib/getpagesize.c: Likewise.
6654         * lib/javaexec.c: Likewise.
6655         * lib/msvc-inval.c: Likewise.
6656         * lib/msvc-nothrow.c: Likewise.
6657         * lib/nanosleep.c: Likewise.
6658         * lib/nonblocking.c: Likewise.
6659         * lib/printf-parse.c: Likewise.
6660         * lib/setlocale.c: Likewise.
6661         * lib/sigaction.c: Likewise.
6662         * lib/strerror_r.c: Likewise.
6663         * lib/tmpdir.c: Likewise.
6664         * lib/vasnprintf.c: Likewise.
6665         * lib/w32spawn.h: Likewise.
6666         * lib/waitpid.c: Likewise.
6667         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
6668         * m4/locale-ar.m4: Likewise.
6669         * m4/locale-fr.m4: Likewise.
6670         * m4/locale-ja.m4: Likewise.
6671         * m4/locale-tr.m4: Likewise.
6672         * m4/locale-zh.m4: Likewise.
6673         * m4/printf.m4: Likewise.
6674         * tests/test-cloexec.c: Likewise.
6675         * tests/test-copy-acl.sh: Likewise.
6676         * tests/test-copy-file.sh: Likewise.
6677         * tests/test-file-has-acl.sh: Likewise.
6678         * tests/test-set-mode-acl.sh: Likewise.
6679         * tests/test-dup-safer.c: Likewise.
6680         * tests/test-dup2.c: Likewise.
6681         * tests/test-dup3.c: Likewise.
6682         * tests/test-fcntl.c: Likewise.
6683         * tests/test-nonblocking-pipe.h: Likewise.
6684         * tests/test-nonblocking-socket.h: Likewise.
6685         * tests/test-pipe.c: Likewise.
6686         * tests/test-pipe2.c: Likewise.
6687         * tests/test-spawn-pipe-child.c: Likewise.
6688         * doc/acl-resources.txt: Likewise.
6689         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6690         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
6691         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
6692         * lib/localcharset.c: Update comments to mention native Windows.
6693         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6694         * lib/localename.c: Likewise.
6695         * lib/progreloc.c: Likewise.
6696         * lib/relocatable.c: Likewise.
6697         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6698         (windows_compute_revents): Renamed from win32_compute_revents.
6699         (windows_compute_revents_socket): Renamed from
6700         win32_compute_revents_socket.
6701         * lib/select.c: Update comments to mention native Windows.
6702         (windows_poll_handle): Renamed from win32_poll_handle.
6703         * m4/threadlib.m4: Update comments to mention native Windows.
6704         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
6705         --enable-threads=windows instead of --enable-threads=win32. Set
6706         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
6707         * lib/glthread/lock.h: Update comments to mention native Windows.
6708         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
6709         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
6710         USE_WIN32_THREADS.
6711         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
6712         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
6713         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
6714         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
6715         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
6716         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
6717         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
6718         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
6719         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
6720         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
6721         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
6722         * tests/test-tls.c: Likewise.
6723         Rationale:
6724         Microsoft renamed the "Win32 API" to "Windows API", as it is available
6725         on both 32-bit and 64-bit Windows systems.
6726         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
6727         line of distinction is between "native Windows" on one side and Unix/
6728         POSIX systems on the other side. More details in
6729         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
6730         Suggested by Paul Eggert.
6731
6732 2012-01-03  Bruno Haible  <bruno@clisp.org>
6733
6734         isatty: Support for MSVC 9.
6735         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
6736         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
6737         (_isatty_nothrow): New function.
6738         (isatty): Use it instead of _isatty.
6739         (IsConsoleHandle): Add comment, from Paolo Bonzini.
6740         * lib/poll.c (IsConsoleHandle): Likewise.
6741         * lib/select.c (IsConsoleHandle): Likewise.
6742         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
6743         (gl_PREREQ_ISATTY): New macro.
6744         * modules/isatty (Depends-on): Add msvc-inval.
6745         (configure.ac): Invoke gl_PREREQ_ISATTY.
6746
6747 2012-01-03  Jim Meyering  <meyering@redhat.com>
6748
6749         maint.mk: remove temporary transition aid from over 1.5 years ago
6750         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
6751         purpose was to aid in the transition (avoiding silent malfunction)
6752         from that old name to the new _sc_search_regexp.  This shim was
6753         added by commit 219c504b.
6754
6755         init.sh: do not try to accommodate compare arguments starting with "-"
6756         * tests/init.sh (compare_dev_null_): Do not try to accommodate
6757         compare arguments that start with "-".  Besides, we do not worry
6758         about this when invoking diff or cmp; why start now with sed?
6759         Using "--" to separate options from argument would trigger sed
6760         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
6761         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
6762
6763 2012-01-02  Bruno Haible  <bruno@clisp.org>
6764
6765         Enhance tests for module 'isatty'.
6766         * modules/isatty-tests (Depends-on): Add pipe-posix.
6767         * tests/test-isatty.c: Include <fcntl.h>.
6768         (DEV_NULL): New macro.
6769         (main): Test the resut of isatty() also on regular files, pipes, and
6770         /dev/null.
6771
6772         New module 'isatty'.
6773         * lib/unistd.in.h (isatty): New declaration.
6774         * lib/isatty.c: New file, based on an idea of
6775         Bastien Roucariès <roucaries.bastien@gmail.com>.
6776         * m4/isatty.m4: New file.
6777         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
6778         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
6779         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
6780         REPLACE_ISATTY.
6781         * modules/isatty: New file.
6782         * doc/posix-functions/isatty.texi: Mention the new module.
6783         Suggested by Paolo Bonzini.
6784
6785 2012-01-02  Bruno Haible  <bruno@clisp.org>
6786
6787         canonicalize: Tweak 2011-12-29 commit.
6788         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
6789         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
6790
6791 2012-01-02  Jim Meyering  <meyering@redhat.com>
6792
6793         gitlog-to-changelog: describe input syntax in --help output
6794         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
6795
6796         gitlog-to-changelog: fix typo in --help: show backslash before email @
6797         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
6798         in sources, but not in actual output.
6799
6800 2011-12-30  Jim Meyering  <meyering@redhat.com>
6801
6802         gitlog-to-changelog: don't malfunction when name contains %-directive
6803         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
6804         in a name string cause trouble.  E.g., with a user name of "%s",
6805         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
6806
6807 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
6808
6809         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
6810         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
6811         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
6812         the "  (tiny change)" notation that is appended to the standard
6813         ChangeLog "date  name  email" header line.
6814
6815 2012-01-01  Jim Meyering  <meyering@redhat.com>
6816
6817         test-framework-sh: init.sh: fix "make dist" failure
6818         When using gnulib-tool's --with-tests option and any module that
6819         depends on test-framework-sh, "make dist" would fail due to the
6820         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
6821         in the gltests directory, and not in the gllib/ directory.
6822         One way to work around that is to move the EXTRA_DIST += init.sh
6823         from the primary module to the -tests one:
6824         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
6825         * modules/test-framework-sh (Makefile.am): ...not here.
6826         Reported by Tom G. Christensen in
6827         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
6828
6829         version-etc: update copyright year reported by --version
6830         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
6831
6832 2011-12-31  Pádraig Brady  <P@draigBrady.com>
6833
6834         canonicalize: only stat() if required
6835         * lib/canonicalize.c (canonicalize_filename_mode):
6836         Avoid calling l?stat() when both CAN_MISSING,
6837         and CAN_NOLINKS are set, as we neither need
6838         to resolve symlinks or test component existence.
6839
6840 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
6841
6842         doc: cover st_ino issues once; add OpenVMS etc.
6843         * doc/posix-functions/stat.texi (stat):
6844         * doc/posix-functions/lstat.texi (lstat):
6845         * doc/posix-functions/fstatat.texi (fstatat):
6846         * doc/posix-functions/fstat.texi (fstat):
6847         Move general 'struct stat' stuff to sys_stat.texi,
6848         leaving behind a pointer.
6849         * doc/posix-headers/sys_stat.texi (sys/stat.h):
6850         Merge duplicate info about 'struct stat' problems into here.
6851         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
6852         and suggest partial workarounds.
6853
6854         same-inode: port to OpenVMS
6855         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
6856         three st_ino values.
6857
6858 2011-12-30  Pádraig Brady  <P@draigBrady.com>
6859
6860         canonicalize: fix references to stat() and lstat()
6861         * lib/canonicalize.c (canonicalize_filename_mode):
6862         Ensure references always resolve to a replacement
6863         function if required (even via a macro).
6864
6865 2011-12-30  Jim Meyering  <meyering@redhat.com>
6866
6867         gitlog-to-changelog: remove a little duplication
6868         * build-aux/gitlog-to-changelog (main): Grep @lines once,
6869         rather than twice.
6870
6871 2011-12-29  Pádraig Brady  <P@draigBrady.com>
6872
6873         canonicalize: add support for not resolving symlinks
6874         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
6875         indicate we don't want to follow symlinks.  Also
6876         provide CAN_MODE_MASK to aid setting these existing
6877         mutually exclusive values.
6878         * lib/canonicalize.c (canonicalize_filename_mode):
6879         Extract the flags from can_mode parameter, which
6880         are currently just used to select between stat()
6881         and lstat().  Also ensure that mutually exclusive
6882         values are flagged immediately as invalid.
6883         * tests/test-canonicalize.c: Verify symlinks are
6884         not followed, and that invalid flag combinations
6885         are diagnosed.
6886
6887 2011-12-25  Jim Meyering  <meyering@redhat.com>
6888
6889         gitlog-to-changelog: do not clump multi-paragraph entries
6890         Identical header lines (date,name,email+coauthors) are suppressed,
6891         thus putting all entries with those same characteristics under
6892         a single header.  However, when a log entry consists of two or
6893         more paragraphs, it may not be clear where it starts and ends.
6894         This change makes it so that such an entry is always separated
6895         from others by a header line, even when that header would
6896         otherwise be suppressed.
6897         * build-aux/gitlog-to-changelog: Implement the above.
6898         Inspired by a related request from Stefano Lattarini in
6899         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
6900
6901 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6902
6903         announce-gen: fix `cmd' typo in diagnostic
6904         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
6905         diagnostic: a missing '$' meant that the command was not output.
6906
6907 2011-12-23  Jim Meyering  <meyering@redhat.com>
6908
6909         test-framework-sh: distribute init.sh
6910         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
6911         Otherwise, "make -C gnulib-tests check" (at least in grep) would
6912         fail due to the lack of init.sh.
6913
6914         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
6915         * modules/atexit-tests: Rather than listing tests/init.sh,
6916         now that there's a module for it, simply depend on that new module.
6917         * modules/closein-tests: Likewise.
6918         * modules/exclude-tests: Likewise.
6919         * modules/getcwd-tests: Likewise.
6920         * modules/perror-tests: Likewise.
6921         * modules/pread-tests: Likewise.
6922         * modules/pwrite-tests: Likewise.
6923         * modules/vc-list-files-tests: Likewise.
6924         * modules/verify-tests: Likewise.
6925         * modules/xalloc-die-tests: Likewise.
6926         * modules/xstrtoimax-tests: Likewise.
6927         * modules/xstrtol-tests: Likewise.
6928         * modules/xstrtoll-tests: Likewise.
6929         * modules/xstrtoumax-tests: Likewise.
6930         * modules/yesno-tests: Likewise.
6931
6932 2011-12-22  Jim Meyering  <meyering@redhat.com>
6933
6934         test-framework-sh: add minimal tests of init.sh's compare function
6935         * modules/test-framework-sh-tests: New file.
6936         * tests/test-init.sh: New file.
6937
6938         test-framework-sh: new module
6939         * modules/test-framework-sh: New file.
6940         * MODULES.html.sh (Support for maintaining and releasing projects):
6941         List it.
6942
6943         init.sh: do not emit simulated diff output to stderr
6944         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
6945
6946 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6947
6948         .gitignore: ignore gnulib.dvi and regex.info
6949         * doc/.gitignore:add gnulib.dvi and regex.info
6950
6951 2011-12-22  Jim Meyering  <meyering@redhat.com>
6952
6953         init.sh: correct previous change
6954         * tests/init.sh (compare): My previous change was wrong.
6955         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
6956
6957         init.sh: avoid unwarranted test failure when using "set -e"
6958         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
6959         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
6960         a use like "compare exp out" would get evoke an unconditional failure.
6961
6962 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
6963
6964         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
6965         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
6966         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
6967         autoreconf that did not.
6968         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
6969         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6970
6971 2011-12-17  Jim Meyering  <meyering@redhat.com>
6972
6973         bootstrap: remove some now-unneeded code
6974         This script arose back when gnulib-tool was young.
6975         Since then, it has seen improvements that render much of this
6976         script unnecessary.  In particular, it can now make symlinks
6977         to the files it uses.  Also, I no longer see as much value in
6978         marking files as read-only via comments.
6979         If you relied on the symlink-creation feature of the preceding
6980         version of this script, you can get most of that functionality
6981         by adding the --symlink option to the definition of
6982         gnulib_tool_option_extras in your bootstrap.conf file.
6983         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
6984         Run autopoint and libtoolize *before* gnulib-tool.
6985         After it, run an abbreviated autoreconf, rather than a loop around
6986         all tools.
6987         (slirp, bt_mark_as_generated): Remove functions.
6988
6989 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6990
6991         ftoastr: fix typo
6992         * lib/ftoastr.h: Fix misspelling in comment.
6993
6994 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
6995
6996         * top/README-release: fix punctuation.
6997
6998 2011-12-17  Jim Meyering  <meyering@redhat.com>
6999
7000         bootstrap: correct the recent buildreq change
7001         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
7002         had no effect.
7003         * build-aux/bootstrap (buildreq): Bracket each search term with
7004         "*...*", so that the shell "case" statement works as intended.
7005         Add comments.
7006
7007 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
7008
7009         build: let bootstrap resort to wget when downloading .po files
7010         * build-aux/bootstrap (download_po_files): Fallback to wget when
7011         downloading the .po files via rsync fails.  This is necessary to
7012         bootstrap from behind a strict firewall.
7013
7014 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7015
7016         stdint: don't assume C++11 when compiling with g++
7017         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
7018         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
7019         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
7020         work also in C++ before C++11, as that improperly inhibits
7021         generating a substitute stdint.h for that case.
7022
7023 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7024
7025         alloca: protect comment from gnulib-tool
7026         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
7027         that gnulib-tool doesn't think it's a license, and munge it to
7028         say "GCC version 3".
7029
7030 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
7031
7032         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
7033         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
7034         $(abs_top_builddir) instead of $(top_builddir).
7035
7036 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
7037
7038         strftime-tests: also test nanoseconds
7039         * tests/test-strftime.c (T): Add a test of %N.
7040
7041 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
7042
7043         inttypes, stdint: add C++11 support
7044         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
7045         when including inttypes.h and stdint.h.  Support this change to
7046         the standard.
7047         * doc/posix-headers/inttypes.texi (inttypes.h):
7048         * doc/posix-headers/stdint.texi (stdint.h): Document this.
7049         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
7050         Define if not defined already, for the benefit of pre-C++11 hosts.
7051         Define the standard format macros (e.g., PRId8) always.
7052         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
7053         Likewise, if __cpluspus.  Define the standard constant and limit
7054         macros (e.g., INT8_C, INT8_MAX) always.
7055         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
7056         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
7057         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
7058         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
7059         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
7060         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
7061         Likewise.
7062
7063 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
7064
7065         nonblocking tests: Fix test failure on Linux/PPC.
7066         Suggested by Prerna Saxena in
7067         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
7068         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
7069         Set to 1100000.
7070
7071 2011-12-12  Jim Meyering  <meyering@redhat.com>
7072
7073         argmatch: don't hard-code `' when listing valid option arguments
7074         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
7075         use the quote function to add quotes.  Use fputs rather than
7076         fprintf for the format string with no format directive.
7077
7078 2011-12-07  Eric Blake  <eblake@redhat.com>
7079
7080         bootstrap: detect tools required by gnulib-tool
7081         * build-aux/bootstrap (buildreq): Provide minimum implicit
7082         dependencies.
7083         * DEPENDENCIES: Mention patch as a prereq.
7084
7085 2011-12-04  Bruno Haible  <bruno@clisp.org>
7086
7087         sethostname: Port to Windows platforms.
7088         * lib/sethostname.c: Provide an alternate implementation for Windows
7089         platforms.
7090         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
7091         (main): Skip the test if sethostname() fails with EPERM. On Windows
7092         platforms, don't check the result of gethostname().
7093
7094 2011-12-04  Bruno Haible  <bruno@clisp.org>
7095             Jim Meyering  <meyering@redhat.com>
7096
7097         tests: Avoid spurious error message on platforms without mktemp program.
7098         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
7099
7100 2011-12-04  Bruno Haible  <bruno@clisp.org>
7101
7102         sethostname: Fix documentation.
7103         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
7104         "not fixed" section.
7105
7106 2011-12-03  Bruno Haible  <bruno@clisp.org>
7107
7108         gnulib-tool: Verify that the License field is present and non-empty.
7109         * gnulib-tool (func_get_license_raw): New function, extracted from
7110         func_get_license.
7111         (func_get_license): Use it. Warn if the module is not a test module and
7112         has no license.
7113         Suggested by Jim Meyering.
7114
7115 2011-12-03  Bruno Haible  <bruno@clisp.org>
7116
7117         sethostname tests: Fix link error on mingw.
7118         * tests/test-sethostname1.c: New file, extracted from
7119         tests/test-sethostname.c.
7120         * tests/test-sethostname2.c: New file, extracted from
7121         tests/test-sethostname.c.
7122         * tests/test-sethostname.c: Remove file.
7123         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
7124         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
7125         (Depends-on): Add gethostname.
7126         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
7127         Link the latter with $(GETHOSTNAME_LIB).
7128
7129         sethostname tests: Fix compilation error on mingw.
7130         * tests/test-sethostname.c: Don't include <sys/types.h>.
7131         (geteuid): Use a dummy value without uid_t.
7132         * modules/sethostname-tests (Depends-on): Remove sys_types.
7133
7134         sethostname tests: Avoid a gcc warning.
7135         * tests/test-sethostname.c (main): Remove an unused variable.
7136
7137         Tweak last commit.
7138         * modules/sethostname-tests (Files): Sort by decreasing importance.
7139         (configure.ac): Check for geteuid.
7140         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
7141         the test when there's nothing to test. Drop an unnecessary cast.
7142         Improve an error message. Verify that the final sethostname() call
7143         succeeds.
7144
7145 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7146
7147         Add a test suite for the sethostname module.
7148         * modules/sethostname-tests: New file.  A test program
7149         for the sethostname module.
7150         * tests/test-sethostname.c: Likewise.
7151
7152 2011-12-03  Bruno Haible  <bruno@clisp.org>
7153
7154         Tweak last commit.
7155         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
7156         Fix preprocessor directives indentation. Fix typos.
7157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
7158         * modules/unistd (Makefile): Likewise.
7159
7160 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7161
7162         Integrate the sethostname module into unistd.
7163         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
7164         into the unistd.h header.
7165         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
7166         preprocessor directives.
7167         * modules/unistd: Setup the Makefile substitutions of the
7168         SETHOSTNAME preprocessor directives.
7169
7170 2011-12-03  Bruno Haible  <bruno@clisp.org>
7171
7172         Tweak last commit.
7173         * lib/sethostname.c: Don't include <string.h>.
7174         (sethostname): No need to copy the argument string to the stack. Don't
7175         call clearerr. Preserve errno when fprintf failed.
7176         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
7177         Don't invoke AC_REPLACE_FUNCS.
7178         * modules/sethostname (Link): Remove empty section.
7179         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
7180         failure problem.
7181
7182 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7183
7184         New module 'sethostname'.
7185         * lib/sethostname.c (sethostname): New file.  Provide sethostname
7186         for systems that lack it.
7187         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
7188         sethostname declaration and function.
7189         * modules/sethostname: New file.  Define the sethostname module.
7190
7191 2011-12-03  Bruno Haible  <bruno@clisp.org>
7192
7193         Tweak last commit.
7194         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
7195
7196 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7197
7198         Split the HOST_NAME_MAX detection into a separate m4 macro.
7199         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
7200         macro so it can be used by the pending sethostname module.
7201
7202 2011-12-03  Bruno Haible  <bruno@clisp.org>
7203
7204         Fix module descriptions syntax.
7205         * modules/argv-iter (License): Fix syntax.
7206         * modules/di-set (License): Likewise.
7207         * modules/ino-map (License): Likewise.
7208         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
7209
7210 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7211
7212         stdalign: port to Clang 3.0
7213         Problem reported by Simon Josefsson in
7214         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
7215         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
7216         which has <stdalign.h> but which does not define alignof.
7217         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
7218
7219 2011-12-01  Eric Blake  <eblake@redhat.com>
7220
7221         mktempd: silence dd usage
7222         * build-aux/mktempd (rand_bytes): Silence dd.
7223
7224 2011-11-30  Simon Josefsson  <simon@josefsson.org>
7225
7226         manywarnings: Don't mention gcc version in docstring.
7227         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
7228         Jim Meyering <meyering@redhat.com>.
7229
7230 2011-11-30  Jim Meyering  <meyering@redhat.com>
7231
7232         hash: mark a few floating point constants with "f" suffix
7233         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
7234         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
7235         floating point constants with "f", since they're destined to be
7236         saved/used as "float"s.
7237
7238 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
7239
7240         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
7241         * tests/test-float.c (test_long_double): Correct and re-enable the
7242         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
7243
7244 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
7245
7246         Avoid subtracting two pointers that don't point into the same block.
7247         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
7248         only pointers into the same memory block are subtracted. We cannot
7249         assume that sizeof (ptrdiff_t) == sizeof (void *).
7250
7251 2011-11-29  Eric Blake  <eblake@redhat.com>
7252
7253         maint.mk: add syntax check for use of compare from init.sh
7254         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
7255         moved here from coreutils.
7256
7257         manywarnings: drop -Wunsuffixed-float-constants
7258         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
7259         '1.0D', which is the only way to silence this warning for 'double'.
7260
7261 2011-11-29  Jim Meyering  <meyering@redhat.com>
7262
7263         hash: mark compute_bucket_size with the pure attribute
7264         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
7265
7266         quotearg, propername: correct pragma guard expression
7267         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
7268         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
7269
7270 2011-11-28  Jim Meyering  <meyering@redhat.com>
7271
7272         propername: do not mark proper_name with the const attribute
7273         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
7274         since it examines data pointed to by its parameter.
7275         * lib/propername.c (proper_name): Instead, add a pragma to suppress
7276         the suggestion from -Wsuggest-attribute=const.
7277
7278         propername: mark one more function as const
7279         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
7280
7281 2011-11-27  Jim Meyering  <meyering@redhat.com>
7282
7283         mark functions with const and pure attributes
7284
7285         Mark functions per suggestions from gcc-4.6 when using these options:
7286         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
7287         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
7288         Follow these guidelines: when possible, apply the attribute to
7289         an extern declaration, not to its definition.  Apply it to the
7290         definition only when the definition is static.
7291         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
7292         * lib/argv-iter.h (argv_iter_n_args): Likewise.
7293         * lib/base64.h (isbase64): Likewise.
7294         * lib/basename-lgpl.c (last_component, base_len): Likewise.
7295         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
7296         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
7297         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
7298         (c_tolower, c_toupper): Likewise.
7299         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
7300         * lib/chdir-long.c (find_non_slash): Likewise.
7301         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
7302         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
7303         * lib/file-type.h (file_type): Likewise.
7304         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
7305         * lib/filevercmp.c (verrevcmp): Likewise.
7306         * lib/freadahead.h (freadahead): Likewise.
7307         * lib/fts.c (fts_maxarglen): Likewise.
7308         * lib/hash-pjw.h (hash_pjw): Likewise.
7309         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
7310         * lib/hash.c (is_prime, next_prime): Likewise.
7311         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
7312         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
7313         (hash_table_ok, hash_get_first, hash_string): Likewise.
7314         (compute_bucket_size): Likewise.
7315         * lib/i-ring.h (i_ring_empty): Likewise.
7316         * lib/isnan.c (isnanl): Likewise.
7317         * lib/math.h (isnanl, rpl_isnanl): Likewise.
7318         * lib/memcasecmp.h (memcasecmp): Likewise.
7319         * lib/memchr2.h (memchr2): Likewise.
7320         * lib/memcmp2.h (memcmp2): Likewise.
7321         * lib/parse-datetime.y (lookup_zone): Likewise.
7322         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
7323         [!WINDOWS_SOCKETS]: Likewise.
7324         * lib/strnlen1.h (strnlen1): Likewise.
7325         * lib/uniwidth.in.h (uc_width): Likewise.
7326         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
7327         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
7328         (quoting_options_from_style): Add a comment.
7329         * lib/propername.h (proper_name): Add a comment.
7330
7331 2011-11-27  Bruno Haible  <bruno@clisp.org>
7332
7333         Remove unused macros from !_LIBC code in glibc-borrowed files.
7334         * lib/fnmatch.c (STRCOLL): Remove macro.
7335         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
7336         * lib/glob.c (__stat, __readdir64): Remove macros.
7337         * lib/tempname.c (__open64, __xstat64): Remove macros.
7338         Suggested by Paul Eggert.
7339
7340 2011-11-27  Bruno Haible  <bruno@clisp.org>
7341
7342         getcwd: Fix link error on MSVC 9.
7343         * modules/getcwd (Depends-on): Add readdir, rewinddir.
7344
7345 2011-11-27  Bruno Haible  <bruno@clisp.org>
7346
7347         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
7348         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
7349         HAVE_OPENDIR is 0.
7350         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
7351         HAVE_CLOSEDIR is 0.
7352         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
7353         is 0.
7354         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
7355
7356 2011-11-27  Bruno Haible  <bruno@clisp.org>
7357
7358         getcwd: Fix bug from 2011-08-17.
7359         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
7360         platforms that need it.
7361         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
7362         code of 4 to be a failure, not a success. This ensures that
7363         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
7364
7365 2011-11-27  Bruno Haible  <bruno@clisp.org>
7366
7367         binary-io tests: Avoid test failure on mingw when libtool is used.
7368         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
7369         Don't verify the size of t-bin-out1.tmp here.
7370         * tests/test-binary-io.sh: Verify it here.
7371         Reported by Simon Josefsson.
7372
7373 2011-11-26  Bruno Haible  <bruno@clisp.org>
7374
7375         Fix conflict between two instantiations of module 'unistd'.
7376         * gnulib-tool (func_emit_autoconf_snippet): Substitute
7377         ${include_guard_prefix} also in the autoconf snippet.
7378         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
7379         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
7380         GNULIB_UNISTD_H_GETOPT.
7381         * modules/getopt-posix (configure.ac): Set the
7382         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
7383         * modules/getopt-gnu (configure.ac): Likewise.
7384         * modules/unistd (Makefile.am): Change the substitution value of
7385         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
7386         Reported by Simon Josefsson.
7387
7388 2011-11-25  Bruno Haible  <bruno@clisp.org>
7389
7390         pagealign_alloc: Doc and comments.
7391         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
7392         module.
7393         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
7394
7395 2011-11-25  Jim Meyering  <meyering@redhat.com>
7396
7397         test-update-copyright.sh: avoid false-positive failure
7398         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
7399         around false positive failure on Cygwin/Windows.  The latter was
7400         matching erroneously-created files with names like
7401         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
7402
7403 2011-11-25  Simon Josefsson  <simon@josefsson.org>
7404
7405         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
7406         * m4/valgrind-tests.m4: Check that the parameters that will be
7407         used works, not just a subset of them.  Reported by Bruno Haible
7408         <bruno@clisp.org>.
7409
7410 2011-11-24  Jim Meyering  <meyering@redhat.com>
7411
7412         test-stdalign.c: comment out long double tests
7413         * tests/test-stdalign.c: Don't try to reduce alignment of long double
7414         variables.  That provokes errors like this from gcc-4.7.0 20111124:
7415         error: '_Alignas' specifiers cannot reduce alignment of \
7416         'static_longdouble_alignas'.
7417
7418 2011-11-22  Jim Meyering  <meyering@redhat.com>
7419
7420         init.sh: make "compare /dev/null FILE" output more readable
7421         * tests/init.sh (compare_): Document the preferred order of arguments.
7422         (emit_diff_u_header_): New function.
7423         (compare_dev_null_): Emit a simulated diff, rather than just the
7424         contents of the unexpected file.  Suggestion from Bruno Haible.
7425
7426 2011-11-21  Jim Meyering  <meyering@redhat.com>
7427             Eric Blake  <eblake@redhat.com>
7428
7429         init.sh: work around OSF/1 5.1's mishandling of /dev/null
7430         * tests/init.sh: Make our compare function slightly more portable.
7431         Reported by Bruno Haible in
7432         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
7433
7434 2011-11-21  Simon Josefsson  <simon@josefsson.org>
7435
7436         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
7437         before using it, in code that ends up in config.h.
7438
7439 2011-11-20  Bruno Haible  <bruno@clisp.org>
7440
7441         getcwd: Work around getcwd bug on AIX 5..7.
7442         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
7443         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
7444         Use a different value for gl_cv_func_getcwd_path_max. Move the
7445         definition of HAVE_PARTLY_WORKING_GETCWD from here...
7446         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
7447         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
7448         Define HAVE_MINIMALLY_WORKING_GETCWD.
7449         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
7450         where it is not even minimally working, that is, on AIX.
7451         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
7452         m4/getcwd-path-max.m4.
7453         (main): Update exit code computation.
7454         * doc/posix-functions/getcwd.texi: Mention list of platforms where
7455         getcwd does not handle long file names.
7456
7457 2011-11-20  Bruno Haible  <bruno@clisp.org>
7458
7459         getcwd: Fix bug from 2009-09-10.
7460         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
7461         like "no".
7462
7463 2011-11-20  Simon Josefsson  <simon@josefsson.org>
7464
7465         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
7466
7467 2011-11-20  Bruno Haible  <bruno@clisp.org>
7468
7469         fma tests: Avoid shadowing local variables.
7470         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
7471         expected.
7472
7473 2011-11-20  Bruno Haible  <bruno@clisp.org>
7474
7475         copysignf tests: Fix.
7476         * tests/test-copysignf.c: Fix signature check.
7477
7478 2011-11-20  Bruno Haible  <bruno@clisp.org>
7479
7480         fma: Remove unused code.
7481         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
7482         unused macros.
7483
7484 2011-11-20  Bruno Haible  <bruno@clisp.org>
7485
7486         sethostname: Fix doc about AIX.
7487         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
7488         sethostname; it has it.
7489
7490         sethostname: Mention more portability problems.
7491         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
7492         problem.
7493         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7494
7495 2011-11-19  Bruno Haible  <bruno@clisp.org>
7496
7497         Depend on module fcntl-h when AT_FDCWD is used.
7498         * modules/utimens (Depends-on): Add fcntl-h.
7499         * modules/areadlinkat (Depends-on): Likewise.
7500         * modules/areadlinkat-with-size (Depends-on): Likewise.
7501         * modules/faccessat (Depends-on): Likewise.
7502         * modules/fchmodat (Depends-on): Likewise.
7503         * modules/fchownat (Depends-on): Likewise.
7504         * modules/getcwd (Depends-on): Likewise.
7505         * modules/mkdirat (Depends-on): Likewise.
7506         * modules/mkfifoat (Depends-on): Likewise.
7507         * modules/readlinkat (Depends-on): Likewise.
7508         * modules/symlinkat (Depends-on): Likewise.
7509         * modules/dup2-tests (Depends-on): Likewise.
7510         * modules/fdutimensat-tests (Depends-on): Likewise.
7511         * modules/futimens-tests (Depends-on): Likewise.
7512
7513 2011-11-19  Bruno Haible  <bruno@clisp.org>
7514
7515         euidaccess: Update a comment.
7516         * lib/euidaccess.c: Update comment about platforms with faccessat.
7517
7518 2011-11-19  Bruno Haible  <bruno@clisp.org>
7519
7520         openat: Fix file list.
7521         * modules/openat (Files): Remove lib/at-func.c.
7522
7523 2011-11-19  Bruno Haible  <bruno@clisp.org>
7524
7525         fstatat: Simplify.
7526         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
7527         gnulib should define rpl_fstatat, there is a
7528         "#define fstatat rpl_fstatat" in <sys/stat.h>.
7529
7530 2011-11-19  Bruno Haible  <bruno@clisp.org>
7531
7532         Ensure 'inline' can be used in tests/test-utimens-common.h.
7533         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
7534         * modules/futimens-tests (configure.ac): Likewise.
7535         * modules/utimens-tests (configure.ac): Likewise.
7536         * modules/utimensat-tests (configure.ac): Likewise.
7537
7538 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7539
7540         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
7541         not hash_insert0.
7542         (hash_insert_if_absent): Doc fix.
7543
7544 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7545
7546         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
7547
7548 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7549
7550         test-getcwd: disambiguate exit status
7551         * tests/test-getcwd.c (test_long_name): Return 0..7.
7552         (main): Exit with an unambiguous exit status.  The old
7553         code yielded a mysterious mixture of two failure codes.
7554
7555         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
7556         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
7557         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
7558         rpl_fstatat or fstatat.  This should fix the other problem
7559         reported by Kai Habel in
7560         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7561         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
7562         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
7563         and I reproduced it on a Solaris 8 host we still have in production.
7564
7565 2011-11-18  Jim Meyering  <meyering@redhat.com>
7566
7567         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
7568         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
7569         Add a sentence to the comment.
7570         (hash_insert0): New function that simply calls hash_insert_if_absent.
7571         * lib/hash.h (hash_insert_if_absent): Declare it.
7572         (hash_insert0): Add deprecation attribute.
7573         (_GL_ATTRIBUTE_DEPRECATED): Define.
7574         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
7575         not hash_insert0.
7576         * NEWS: Mention it, even though it's not really an incompatible change.
7577
7578 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
7579
7580         openat: avoid compilation failure due to lack of <errno.h> inclusion
7581         * lib/openat.c: Include <errno.h>.
7582
7583 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7584
7585         * modules/getcwd (Depends-on): Add fdopendir.
7586         This fixes one of the two problems reported by Kai Habel in
7587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7588
7589         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
7590         stdalign problem reported by Ian Beckwith in
7591         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
7592         * modules/crypto/gc-arcfour (Depends-on):
7593         Depend conditionally on crypto/arcfour.
7594         * modules/crypto/gc-arctwo (Depends-on):
7595         Depend conditionally on crypto/arctwo.
7596         * modules/crypto/gc-des (Depends-on):
7597         Depend conditionally on crypto/des.
7598         * modules/crypto/gc-hmac-md5 (Depends-on):
7599         Depend conditionally on crypto/hmac-md5.
7600         * modules/crypto/gc-hmac-sha1 (Depends-on):
7601         Depend conditionally on crypto/hmac-sha1.
7602         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
7603         * modules/crypto/gc-md4 (Depends-on):
7604         Depend conditionally on crypto/md4.
7605         * modules/crypto/gc-md5 (Depends-on):
7606         Depend conditionally on crypto/md5.
7607         * modules/crypto/gc-rijndael (Depends-on):
7608         Depend conditionally on crypto/rijndael.
7609         * modules/crypto/gc-sha1 (Depends-on):
7610         Depend conditionally on crypto/sha1.
7611         * modules/crypto/gc-arcfour:
7612         * modules/crypto/gc-arctwo:
7613         * modules/crypto/gc-des:
7614         * modules/crypto/gc-hmac-md5:
7615         * modules/crypto/gc-hmac-sha1:
7616         * modules/crypto/gc-md2:
7617         * modules/crypto/gc-md4:
7618         * modules/crypto/gc-md5:
7619         * modules/crypto/gc-rijndael:
7620         * modules/crypto/gc-sha1:
7621         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
7622         now that the conditional dependencies do the work for us.
7623
7624 2011-11-17  Jim Meyering  <meyering@redhat.com>
7625
7626         tests: factor st_ctime-comparison out of two headers
7627         * tests/test-utimens-common.h (ctime_compare): Define.
7628         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
7629         * tests/test-lutimens.h (test_lutimens): Likewise.
7630         * tests/test-utimens.h (test_utimens): Likewise.
7631
7632         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
7633         Invoke the test program via an init.sh-using wrapper.
7634         * tests/test-getcwd.sh: New file.
7635         * modules/getcwd-tests (Files): Add it.
7636         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
7637
7638 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
7639
7640         gitlog-to-changelog: support multi-author commits.
7641         The FSF cares about keeping track of all authors of patches to its
7642         projects, but Git doesn't provide obvious support for multi-author
7643         changesets. Consensus seems to be forming around the use of extra
7644         Signed-off-by inspired lines in the log message formatted as
7645         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
7646         multi-author commits between version control systems.
7647         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
7648         log message and output in standard ChangeLog multi-author format.
7649         Reported by Peter Rosin <peda@lysator.liu.se>
7650
7651 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
7652             Bruno Haible  <bruno@clisp.org>
7653
7654         Fix some modules' file list.
7655         * modules/fstatat (Files): Add m4/lstat.m4.
7656         * modules/openat (Files): Likewise.
7657         * modules/unlinkat (Files): Likewise.
7658
7659 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
7660
7661         maint.mk: fix tight-scope.mk generation in VPATH builds.
7662         * top/maint.mk (tight-scope.mk): Make sure to prefix file
7663         reference with $(srcdir) so that the file is found correctly even
7664         when running `make syntax-check' in a VPATH build.
7665
7666 2011-11-13  Bruno Haible  <bruno@clisp.org>
7667             Jim Meyering  <meyering@redhat.com>
7668
7669         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
7670         * tests/init.sh (compare): Remove "No differences encountered" or
7671         synonymous output from the 'diff' program.
7672
7673 2011-11-13  Bruno Haible  <bruno@clisp.org>
7674
7675         Makefile: Tweak indentation.
7676         * Makefile: Use tab as first character in every line that contains rule
7677         commands.
7678
7679 2011-11-13  Bruno Haible  <bruno@clisp.org>
7680
7681         Syntax check for copyright statements.
7682         * check-copyright: New file.
7683         * Makefile (sc_check_copyright): New rule.
7684
7685 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7686
7687         * build-aux/git-version-gen: Add --prefix to configure the tag
7688         match string.
7689
7690 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7691
7692         * build-aux/git-version-gen: Add --help and --version.
7693
7694 2011-11-12  Jim Meyering  <meyering@redhat.com>
7695
7696         revamp the other test-exclude?.sh scripts to use init.sh, too
7697         * tests/test-exclude1.sh: Use init.sh.
7698         * tests/test-exclude2.sh: Likewise.
7699         * tests/test-exclude3.sh: Likewise.
7700         * tests/test-exclude4.sh: Likewise.
7701         * tests/test-exclude5.sh: Likewise.
7702         * tests/test-exclude6.sh: Likewise.
7703         * tests/test-exclude7.sh: Likewise.
7704         * tests/test-exclude8.sh: Likewise.
7705         * modules/exclude-tests (Files): List init.sh.
7706
7707         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
7708         These shell scripts ignored failure of the binary test-exclude,
7709         so making the latter return 77 didn't cause them to be skipped.
7710         * tests/test-exclude5.sh: Exit with test-exclude's error status
7711         when that program fails.  Revamp to use init.sh.
7712         * tests/test-exclude2.sh: Likewise.
7713
7714         test-exclude: fix a typo
7715         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
7716
7717 2011-11-11  Bruno Haible  <bruno@clisp.org>
7718
7719         obstack: Fix compilation error on MSVC 9.
7720         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
7721
7722 2011-11-11  Jim Meyering  <meyering@redhat.com>
7723
7724         test-exclude: skip tests rather than failing on deficient systems
7725         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
7726         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
7727         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
7728         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
7729
7730 2011-11-10  Bruno Haible  <bruno@clisp.org>
7731
7732         ptsname_r test: Avoid gcc warning on glibc systems.
7733         * tests/test-ptsname_r.c (null_ptr): New function.
7734         (test_errors): Use it.
7735
7736 2011-11-10  Bruno Haible  <bruno@clisp.org>
7737
7738         ptsname_r: Avoid compilation error on OSF/1 5.1.
7739         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
7740         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
7741         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
7742         function is not declared or incompatibly declared.
7743         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
7744         * modules/ptsname_r (Depends-on, configure.ac): Update.
7745         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
7746
7747 2011-11-10  Bruno Haible  <bruno@clisp.org>
7748
7749         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
7750         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
7751         When cross-compiling, guess yes on all platforms except AIX.
7752         Reported by Ludovic Courtès <ludo@gnu.org>.
7753
7754 2011-11-09  Bruno Haible  <bruno@clisp.org>
7755
7756         ptsname_r tests: Fix bugs.
7757         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
7758         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
7759
7760 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7761
7762         fstatat: work with cross-compilation
7763         Problem reported by Ludovic Courtès in
7764         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
7765         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
7766         "cross-compiling" and assume the bug is present.  Replace
7767         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
7768         an inverted sense, to be more conservative about our assumptions.
7769         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
7770
7771 2011-11-09  Bruno Haible  <bruno@clisp.org>
7772
7773         Improve MODULES.html output.
7774         * modules/mkfifoat (Description): Use the word "function".
7775         * modules/readlinkat (Description): Likewise.
7776         * modules/symlinkat (Description): Likewise.
7777
7778 2011-11-09  Eric Blake  <eblake@redhat.com>
7779
7780         ptsname_r-tests: new test module
7781         * modules/ptsname_r-tests: New module.
7782         * tests/test-ptsname_r.c: New file.
7783
7784         ptsname_r: new module
7785         * modules/ptsname_r: New module.
7786         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
7787         * lib/ptsname.c (__ptsname_r): Split...
7788         * lib/ptsname_r.c: ...into new file.
7789         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7790         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
7791         * modules/stdlib (Makefile.am): Substitute witnesses.
7792         * lib/stdlib.in.h (ptsname_r): Declare it.
7793         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
7794         * MODULES.html.sh (Misc): Likewise.
7795         * modules/ptsname (Depends-on): Alter dependency.
7796         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
7797
7798 2011-11-09  Jim Meyering  <meyering@redhat.com>
7799
7800         announce-gen: be more concise when there's only one URL+tarball
7801         * build-aux/announce-gen (get_tool_versions): When you distribute
7802         only one type of tarball, combine the first two "Here are..."
7803         sections and make the key-checking grammar independent of
7804         how many tarballs there are.
7805
7806 2011-11-09  Eric Blake  <eblake@redhat.com>
7807
7808         openpty: provide a stub on mingw
7809         * lib/pty.in.h (includes): Provide forward declarations.
7810         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
7811
7812         raise: fix mingw handling of SIGPIPE
7813         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
7814
7815 2011-11-08  Bruno Haible  <bruno@clisp.org>
7816
7817         More conditional dependencies.
7818         * modules/faccessat (Depends-on): Add conditions.
7819         * modules/fchmodat (Depends-on): Likewise.
7820         * modules/fchownat (Depends-on): Likewise.
7821         * modules/fstatat (Depends-on): Likewise.
7822         * modules/mkfifoat (Depends-on): Likewise.
7823         * modules/readlinkat (Depends-on): Likewise.
7824         * modules/symlinkat (Depends-on): Likewise.
7825         * modules/unlinkat (Depends-on): Likewise.
7826         * modules/utimensat (Depends-on): Likewise.
7827         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
7828         * modules/linkat (Depends-on): Refine the conditions.
7829         * modules/renameat (Depends-on): Likewise.
7830
7831 2011-11-08  Bruno Haible  <bruno@clisp.org>
7832
7833         faccessat: Move AC_LIBOBJ invocation to module description.
7834         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
7835         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
7836         invocation from here...
7837         * modules/faccessat (configure.ac): ... to here. Invoke
7838         gl_PREREQ_FACCESSAT.
7839
7840 2011-11-08  Bruno Haible  <bruno@clisp.org>
7841
7842         faccessat: Simplify autoconf macro.
7843         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
7844         gl_FUNC_EUIDACCESS.
7845
7846 2011-11-08  Bruno Haible  <bruno@clisp.org>
7847
7848         renameat: Fix dependencies.
7849         * modules/renameat (Depends-on): Add stdbool.
7850
7851 2011-11-08  Bruno Haible  <bruno@clisp.org>
7852
7853         mkfifoat: Fix module description.
7854         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
7855         not gl_UNISTD_MODULE_INDICATOR.
7856
7857 2011-11-08  Bruno Haible  <bruno@clisp.org>
7858
7859         fstatat: Remove unused dependency.
7860         * modules/fstatat (Depends-on): Remove fstat.
7861
7862 2011-11-08  Simon Josefsson  <simon@josefsson.org>
7863
7864         GNUmakefile: behave when Makefile is missing.
7865         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
7866
7867 2011-11-08  Bruno Haible  <bruno@clisp.org>
7868
7869         openat: Conditionalize dependencies.
7870         * lib/openat.c: Reduce the scope of some #includes.
7871         * modules/openat (Depends-on): Add conditions.
7872
7873 2011-11-07  Jim Meyering  <meyering@redhat.com>
7874
7875         maint.mk: extract GPG key ID without using a temporary file
7876         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
7877         without using a temporary file.  Based on a suggestion from Werner Koch
7878         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
7879
7880 2011-11-07  Eric Blake  <eblake@redhat.com>
7881
7882         grantpt: fix typo
7883         * lib/stdlib.in.h (grantpt): Check correct function.
7884
7885         maint.mk: silence new syntax check
7886         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
7887
7888 2011-11-06  Bruno Haible  <bruno@clisp.org>
7889
7890         Doc about floating-point and math API.
7891         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
7892         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
7893
7894 2011-11-06  Bruno Haible  <bruno@clisp.org>
7895
7896         stdalign tests: Skip the test when compiled by Sun C.
7897         * tests/test-stdalign.c (main): Skip the test on Sun C.
7898
7899 2011-11-06  Bruno Haible  <bruno@clisp.org>
7900
7901         ansi-c++-opt: Complete the 2011-06-05 change.
7902         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
7903         does not support namespaces, set the variable to "no", not to ":".
7904
7905 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
7906
7907         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
7908
7909 2011-11-06  Bruno Haible  <bruno@clisp.org>
7910
7911         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
7912         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
7913         (minus_zerol) [HP-UX]: New macro.
7914         (unary_minus) [HP-UX]: New function.
7915         (copysignl) [HP-UX]: Use unary_minus function.
7916
7917 2011-11-06  Bruno Haible  <bruno@clisp.org>
7918
7919         ldexp, ldexpf, ldexpl: Enhance tests.
7920         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
7921         and tests/test-ldexpl.c.
7922         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
7923         LDEXP, MIN_EXP, MAX_EXP): New macros.
7924         Include test-ldexp.h.
7925         (main): Just call test_function.
7926         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
7927         infinity.h, nan.h.
7928         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7929         MAX_EXP): New macros.
7930         Include test-ldexp.h.
7931         (x, y): Remove variables.
7932         (main): Just call test_function.
7933         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
7934         infinity.h, nan.h.
7935         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7936         MAX_EXP): New macros.
7937         Include test-ldexp.h.
7938         (x, y): Remove variables.
7939         (main): Just call test_function.
7940         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
7941         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
7942         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7943         (Depends-on): Add isnand-nolibm, signbit, float.
7944         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
7945         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7946         (Depends-on): Add isnanf-nolibm, signbit, float.
7947
7948 2011-11-06  Bruno Haible  <bruno@clisp.org>
7949
7950         math tests: Cosmetics.
7951         * tests/test-math-c++.cc: Reorder declarations.
7952
7953 2011-11-05  Bruno Haible  <bruno@clisp.org>
7954
7955         fma*: Simplify test.
7956         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
7957         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
7958
7959         Tests for module 'fmal'.
7960         * modules/fmal-tests: New file.
7961         * tests/test-fmal1.c: New file.
7962         * tests/test-fmal2.c: New file.
7963
7964         New module 'fmal'.
7965         * lib/math.in.h (fmal): New declaration.
7966         * lib/fmal.c: New file.
7967         * m4/fmal.m4: New file.
7968         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
7969         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
7970         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
7971         REPLACE_FMAL.
7972         * modules/fmal: New file.
7973         * doc/posix-functions/fmal.texi: Mention the new module and the various
7974         bugs.
7975
7976         Tests for module 'fmaf'.
7977         * modules/fmaf-tests: New file.
7978         * tests/test-fmaf1.c: New file.
7979         * tests/test-fmaf2.c: New file.
7980
7981         New module 'fmaf'.
7982         * lib/math.in.h (fmaf): New declaration.
7983         * lib/fmaf.c: New file.
7984         * m4/fmaf.m4: New file.
7985         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
7986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
7987         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
7988         REPLACE_FMAF.
7989         * modules/fmaf: New file.
7990         * doc/posix-functions/fmaf.texi: Mention the new module and the various
7991         bugs.
7992
7993         Tests for module 'fma'.
7994         * modules/fma-tests: New file.
7995         * tests/test-fma1.c: New file.
7996         * tests/test-fma1.h: New file.
7997         * tests/test-fma2.c: New file.
7998         * tests/test-fma2.h: New file.
7999
8000         New module 'fma'.
8001         * lib/math.in.h (fma): New declaration.
8002         * lib/fma.c: New file.
8003         * m4/fma.m4: New file.
8004         * m4/fegetround.m4: New file.
8005         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
8006         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
8007         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
8008         REPLACE_FMA.
8009         * modules/fma: New file.
8010         * doc/posix-functions/fma.texi: Mention the new module and the various
8011         bugs.
8012
8013         Extend gl_MATHFUNC.
8014         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
8015         Support 'void' as argument type.
8016         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
8017
8018 2011-11-05  Jim Meyering  <meyering@redhat.com>
8019
8020         maint.mk: also prohibit inclusion of dirent.h without use
8021         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
8022
8023 2011-11-05  Bruno Haible  <bruno@clisp.org>
8024
8025         ldexpl tests: Avoid test failure on MSVC 9.
8026         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
8027         value. Needed in order to enforce the conversion from a value greater
8028         than LDBL_MAX to Infinity.
8029
8030 2011-11-05  Bruno Haible  <bruno@clisp.org>
8031
8032         New modules 'at-internal', 'openat-h', split off from module 'openat'.
8033         * modules/at-internal: New file, extracted from modules/openat.
8034         * modules/openat-h: New file.
8035         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
8036         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
8037         * modules/openat (Description): Add reference to POSIX function.
8038         (Files): Remove lib/openat.h, lib/openat-proc.c.
8039         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
8040         intprops, unistd.
8041         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
8042         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
8043         gl_FCNTL_MODULE_INDICATOR.
8044         (Include): Remove unistd.h, openat.h.
8045         * modules/areadlinkat (Files): Add lib/at-func.c.
8046         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8047         openat-die, openat-h, save-cwd.
8048         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
8049         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8050         openat-die, openat-h, save-cwd, unistd.
8051         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
8052         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8053         openat-h, save-cwd. Remove fcntl-h, openat.
8054         * modules/fchmodat (Files): Remove lib/openat.h.
8055         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8056         openat, stdbool, unistd.
8057         * modules/fchownat (Files): Remove lib/openat.h.
8058         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8059         openat, stdbool, sys_stat.
8060         * modules/fdopendir (Files): Remove lib/openat-priv.h,
8061         lib/openat-proc.c.
8062         (Depends-on): Add at-internal.
8063         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
8064         * modules/fstatat (Files): Remove lib/openat.h.
8065         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8066         stdbool, unistd.
8067         * modules/fts (Depends-on): Add openat-h.
8068         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
8069         openat.
8070         * modules/mkdirat (Files): Remove lib/openat.h.
8071         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8072         openat, stdbool, sys_stat.
8073         * modules/mkfifoat (Files): Add lib/at-func.c.
8074         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8075         openat-h, save-cwd. Remove fcntl-h, openat.
8076         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
8077         * modules/readlinkat (Files): Add lib/at-func.c.
8078         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8079         openat-h, save-cwd. Remove fcntl-h, openat.
8080         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
8081         openat.
8082         * modules/selinux-at (Files): Add lib/at-func.c.
8083         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8084         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
8085         * modules/symlinkat (Files): Add lib/at-func.c.
8086         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8087         openat-h, save-cwd. Remove fcntl-h, openat.
8088         * modules/unlinkat (Files): Remove lib/openat.h.
8089         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8090         stdbool.
8091         * modules/utimensat (Files): Add lib/at-func.c.
8092         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
8093         openat-die, openat-h, save-cwd.
8094         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
8095         * modules/fdutimensat-tests (Depends-on): Add openat.
8096         * modules/fstatat-tests (Depends-on): Add openat-h.
8097         * modules/readlinkat-tests (Depends-on): Add openat.
8098         * modules/symlinkat-tests (Depends-on): Add openat.
8099
8100 2011-11-05  Bruno Haible  <bruno@clisp.org>
8101
8102         openat: Include <stdbool.h>.
8103         * lib/openat.c: Include <stdbool.h>.
8104
8105 2011-11-04  Bruno Haible  <bruno@clisp.org>
8106
8107         fchownat, renameat, unlinkat: Fix dependencies.
8108         * modules/fchownat (Depends-on): Add fstatat.
8109         * modules/renameat (Depends-on): Likewise.
8110         * modules/unlinkat (Depends-on): Likewise.
8111
8112 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
8113
8114         openat: remove direct dependency on dirent
8115         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
8116         and hasn't been needed ever since fdopendir was split into its own
8117         module on 2009-08-31.
8118         * modules/openat (Depends-on): Remove dirent.
8119
8120 2011-11-04  Bruno Haible  <bruno@clisp.org>
8121
8122         renameat: Optimize code size.
8123         * modules/renameat (configure.ac): Don't compile at-func2.c if
8124         REPLACE_RENAMEAT is 1.
8125
8126 2011-11-04  Bruno Haible  <bruno@clisp.org>
8127
8128         openat tests: Fix file list.
8129         * modules/openat-tests (Files): Add tests/test-open.h.
8130
8131 2011-11-04  Bruno Haible  <bruno@clisp.org>
8132
8133         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
8134         * modules/fchmodat (Depends-on): Add openat-die.
8135         * modules/fchownat (Depends-on): Likewise.
8136         * modules/linkat (Depends-on): Likewise.
8137         * modules/renameat (Depends-on): Likewise.
8138         * modules/openat (Depends-on): Add dirent.
8139
8140 2011-11-04  Jim Meyering  <meyering@redhat.com>
8141
8142         at-func*.c: fix comments
8143         * lib/at-func2.c: Correct/improve first-line comment.
8144         * lib/at-func.c: Correct grammar in first-line comment.
8145
8146 2011-11-04  Bruno Haible  <bruno@clisp.org>
8147
8148         New module 'mkdirat', split off from module 'openat'.
8149         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
8150         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
8151         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
8152         * modules/mkdirat: New file, extracted from modules/openat.
8153         * modules/openat (Files): Remove lib/mkdirat.c.
8154         (Depends-on): Remove mkdir.
8155         (configure.ac): Remove AC_LIBOBJ of mkdirat.
8156         (Include): Remove <sys/stat.h>.
8157         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
8158         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
8159         tests/test-mkdir.h.
8160         (Depends-on): Remove ignore-value.
8161         (Makefile.am): Remove rules for test-mkdirat.
8162         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
8163         of module 'openat'.
8164         * NEWS: Mention the change.
8165
8166 2011-11-04  Bruno Haible  <bruno@clisp.org>
8167
8168         closedir: Avoid warning on mingw.
8169         * lib/closedir.c: Include <unistd.h>.
8170
8171 2011-11-04  Bruno Haible  <bruno@clisp.org>
8172
8173         New module 'fstatat', split off from module 'openat'.
8174         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
8175         defined.
8176         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
8177         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
8178         gl_FUNC_FSTATAT.
8179         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
8180         * modules/fstatat: New file, extracted from modules/openat.
8181         * modules/openat (Files): Remove lib/fstatat.c.
8182         (Depends-on): Remove lstat.
8183         (configure.ac): Remove AC_LIBOBJ of fstatat.
8184         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
8185         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
8186         tests/test-lstat.h, tests/test-stat.h.
8187         (Depends-on): Remove getcwd-lgpl.
8188         (Makefile.am): Remove rules for test-fstatat.
8189         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
8190         of module 'openat'.
8191         * NEWS: Mention the change.
8192         * modules/getcwd (Depends-on): Add fstatat.
8193         * modules/linkat (Depends-on): Likewise.
8194         * modules/mkfifoat-tests (Depends-on): Likewise.
8195         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
8196
8197 2011-11-03  Bruno Haible  <bruno@clisp.org>
8198
8199         New module 'unlinkat', split off from module 'openat'.
8200         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
8201         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
8202         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
8203         * modules/unlinkat: New file, extracted from modules/openat. Correct
8204         the dependency conditions.
8205         * modules/openat (Files): Remove lib/unlinkat.c.
8206         (Depends-on): Remove rmdir, unlink.
8207         (configure.ac): Remove AC_LIBOBJ of unlinkat.
8208         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
8209         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
8210         tests/test-rmdir.h, tests/test-unlink.h.
8211         (Depends-on): Remove unlinkdir.
8212         (Makefile.am): Remove rules for test-unlinkat.
8213         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
8214         of module 'openat'.
8215         * NEWS: Mention the change.
8216         * modules/linkat-tests (Depends-on): Add unlinkat.
8217         * modules/mkfifoat-tests (Depends-on): Likewise.
8218         * modules/readlinkat-tests (Depends-on): Likewise.
8219
8220 2011-11-02  Bruno Haible  <bruno@clisp.org>
8221
8222         New module 'fchmodat', split off from module 'openat'.
8223         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
8224         defined.
8225         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
8226         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
8227         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
8228         * modules/fchmodat: New file, extracted from modules/openat.
8229         * modules/openat (Files): Remove lib/fchmodat.c.
8230         (configure.ac): Remove AC_LIBOBJ of fchmodat.
8231         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
8232         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
8233         (Makefile.am): Remove rules for test-fchmodat.
8234         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
8235         of module 'openat'.
8236         * NEWS: Mention the change.
8237
8238 2011-11-02  Jim Meyering  <meyering@redhat.com>
8239
8240         putenv: indent #definition of "environ" to placate cppi
8241         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
8242
8243         gitlog-to-changelog: provide a ChangeLog-repair mechanism
8244         Git logs are often treated as immutable, because editing them
8245         changes the SHA1 checksums of all descendants.  Thus, errors in
8246         git logs tend to stay there forever.  However, when we generate
8247         a ChangeLog file -- typically for distribution -- from that git log,
8248         we can actually make corrections in the generated file.  The key
8249         lies in recording in machine-readable/applicable form the desired
8250         corrections.  See --help for description and an example.
8251         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
8252         (usage): Describe it; alphabetize option descriptions.
8253         (main): Honor the new option, carefully.
8254
8255 2011-11-01  Jim Meyering  <meyering@redhat.com>
8256
8257         gitlog-to-changelog: avoid an infloop
8258         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
8259         that ends up being empty.
8260
8261 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8262
8263         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
8264         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
8265         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
8266         contains (possibly-quoted) backslashes.  This should avoid
8267         all-too-common shell bugs if COMPLICATED contains backslashes in
8268         the "wrong" places.  Reported by David Evans in
8269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
8270         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
8271         because we want ASCII ranges.  Is there some reason we don't use
8272         the C locale everywhere in this script?
8273         (func_module, top level): Avoid unwanted pathname expansion when
8274         $repo_url_prefix or $repo_url_suffix_repl contain shell
8275         metacharacters like '?' and '*'.
8276
8277 2011-11-01  Bruno Haible  <bruno@clisp.org>
8278
8279         fchownat: Improve description.
8280         * modules/fchownat (Description): Add link to function.
8281
8282 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8283
8284         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
8285         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
8286         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
8287         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
8288
8289 2011-11-01  Bruno Haible  <bruno@clisp.org>
8290
8291         alignof: Avoid collision with stdalign module.
8292         * lib/alignof.h (alignof): Remove macro.
8293         * NEWS: Mention the change.
8294         Reported by Paul Eggert.
8295
8296 2011-11-01  Bruno Haible  <bruno@clisp.org>
8297
8298         New module 'fchownat', split off from module 'openat'.
8299         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
8300         defined.
8301         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
8302         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
8303         invoke gl_FUNC_FCHOWNAT.
8304         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
8305         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
8306         * modules/fchownat: New file, extracted from modules/openat.
8307         * modules/openat (Files): Remove lib/fchownat.c.
8308         (Depends-on): Remove lchown.
8309         (configure.ac): Remove AC_LIBOBJ of fchownat.
8310         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
8311         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
8312         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
8313         (Depends-on): Remove mgetgroups, usleep, stat-time.
8314         (configure.ac): Remove test for getegid.
8315         (Makefile.am): Remove rules for test-fchownat.
8316         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
8317         of module 'openat'.
8318         * NEWS: Mention the change.
8319
8320 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
8321
8322         stdalign: port better to MSVC and to Sun C 5.11
8323         This fixes some of the problems reported by Bruno Haible in
8324         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
8325         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
8326         shortcomings of MSVC and of Sun C 5.11.
8327         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
8328         around __declspec arg.
8329         * modules/stdalign-tests (Files): Add tests/macros.h.
8330         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
8331         Include macros.h, for ASSERT.
8332         (DECLARE_ALIGNED): Remove.
8333         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
8334         to catch bug), and to 1 if not (simplifies the rest of the code).
8335         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
8336         (CHECK_AUTO): Remove.
8337         (CHECK_ALIGNED): Check only the alignment of the static vars,
8338         since auto var alignment isn't supported by Sun C 5.11.
8339         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
8340         ASSERT failures are easier to diagnose.
8341
8342 2011-10-31  Bruno Haible  <bruno@clisp.org>
8343
8344         doc about some IRIX 5.3 problems.
8345         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
8346         on IRIX 5.3.
8347         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
8348         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
8349         5.3.
8350         * doc/posix-functions/grantpt.texi: Likewise.
8351         * doc/posix-functions/unlockpt.texi: Likewise.
8352         * doc/posix-functions/lgamma.texi: Likewise.
8353         * doc/posix-functions/nextafter.texi: Likewise.
8354         * doc/posix-functions/remainder.texi: Likewise.
8355         * doc/posix-functions/select.texi: Mention misplaced declaration on
8356         IRIX 5.3.
8357         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8358
8359 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
8360
8361         gitlog-to-changelog: fix git-log invocation.
8362         git-log mishandles date strings before 1970-01-01 UTC, and there is
8363         no use to specify --since=1970-01-01 by default anyway.
8364         * build-aux/gitlog-to-changelog: By default, when no --since option
8365         was given, do not specify explicit --since option to git-log.
8366
8367 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
8368
8369         gitlog-to-changelog: new option --append-dot.
8370         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
8371         first non-blank line of each commit message terminated with a dot.
8372
8373 2011-10-30  Bruno Haible  <bruno@clisp.org>
8374
8375         ffsl, ffsll: Avoid compilation error due to 'restrict'.
8376         * lib/ffsl.h: Include <config.h>.
8377         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
8378
8379 2011-10-30  Jim Meyering  <meyering@redhat.com>
8380
8381         GNUmakefile: reenable "make syntax-check" for most projects
8382         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
8383         build-aux variable", "syntax-check" would do nothing but succeed with
8384         the "No version control files detected..." diagnostic (unless you
8385         happened to override _build-aux via cfg.mk).
8386         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
8387         to precede inclusion of maint.mk.  Otherwise, these variables would
8388         be used undefined in any project that does not override the default.
8389
8390 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
8391
8392         gitlog-to-changelog: treat a message with only blank lines as empty.
8393         * build-aux/gitlog-to-changelog: Move the code that removes leading and
8394         trailing blank lines before the code that issues a warning about an
8395         empty commit message.
8396
8397 2011-10-30  Jim Meyering  <meyering@redhat.com>
8398
8399         test-parse-datetime.c: avoid new DST-related false positive test failure
8400         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
8401         based on the time/date we'll convert, not the current time.
8402         Otherwise, the moment we cross a DST boundary like today's in
8403         Europe, (CEST to CET), that offset ends up being one hour off.
8404
8405 2011-10-27  Bruno Haible  <bruno@clisp.org>
8406
8407         fstat: Tweak documentation.
8408         * modules/fstat (Description): More precise description.
8409
8410 2011-10-27  Bruno Haible  <bruno@clisp.org>
8411
8412         Update documentation regarding 'largefile' module.
8413         * doc/posix-functions/fstat.texi: Tweak wording.
8414         * doc/posix-functions/opendir.texi: Mention that the module fixes the
8415         problems with huge directories and/or small ino_t types.
8416         * doc/posix-functions/readdir.texi: Likewise.
8417         * doc/posix-functions/rewinddir.texi: Likewise.
8418
8419 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
8420
8421         maint.mk: don't maintain a second build-aux variable.
8422         * maint.mk (build_aux): Removed.  The maintainer-makefile module
8423         depends on GNUmakefile, which already maintains a cfg.mk
8424         overridable $(_build-aux) for projects with a non-standard
8425         build-aux directory location, although without the $(srcdir)
8426         prefix.  Use that variable consistently instead of introducing a
8427         second one.  Adjust all call sites.
8428
8429 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8430
8431         Add stdalign module and use it in other modules.
8432         This is based on a previous proposal by Bruno Haible
8433         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
8434
8435         stdalign: new module
8436         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
8437         * modules/stdalign: New files.
8438         * MODULES.html.sh (c1x_core_properties): Add stdalign.
8439         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
8440
8441         stdalign-tests: new module
8442         * modules/stdalign-tests, tests/test-stdalign.c: New files.
8443
8444         argp: use stdalign
8445         * lib/argp-parse.c: Include <stdalign.h>.
8446         (alignof): Remove.
8447         * modules/argp (Depends-on): Add stdalign.
8448
8449         crypto libraries: use stdalign
8450         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
8451         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
8452         Do not include <stdlib.h> twice, in md4.c.
8453         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
8454         because we are accessing a pointer's bit-pattern, not a size.
8455         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
8456         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
8457         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
8458         * modules/crypto/sha512: Likewise.
8459
8460         sys_socket: use stdalign, not alignof
8461         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
8462         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
8463
8464 2011-10-27  Bruno Haible  <bruno@clisp.org>
8465
8466         raise test: Avoid a test failure on Linux/MIPS.
8467         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
8468         because 99 is a valid signal on Linux/MIPS.
8469
8470 2011-10-27  Bruno Haible  <bruno@clisp.org>
8471
8472         nonblocking tests: Fix test failure on Linux/MIPS.
8473         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
8474         Set to 270000.
8475
8476 2011-10-27  Bruno Haible  <bruno@clisp.org>
8477
8478         utimensat: Work around problem on Linux/hppa.
8479         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
8480         values.
8481         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
8482
8483 2011-10-25  Jim Meyering  <meyering@redhat.com>
8484
8485         maint.mk: fix a bug in sc_prohibit_stddef_without_use
8486         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
8487         after symbols like NULL, size_t, etc.
8488         Reported by Alfred M. Szmidt.
8489
8490         maint.mk: exempt ENODATA from a syntax-check rule
8491         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
8492         from the sc_prohibit_always-defined_macros syntax-check rule.
8493         Add a comment.  See this for more details:
8494         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
8495
8496 2011-10-23  Jim Meyering  <meyering@redhat.com>
8497
8498         fts: close parent dir FD before returning from post-traversal fts_read
8499         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
8500         unlink A, even though an FD open on A remained.  This is suboptimal
8501         (holding a file descriptor open longer than needed), but otherwise not
8502         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
8503         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
8504         that represents a real problem: it causes the removal of A to fail
8505         with e.g., "rm: cannot remove `A': Device or resource busy"
8506
8507         fts visits each directory twice and keeps a cache (fts_fd_ring) of
8508         directory file descriptors.  After completing the final, FTS_DP,
8509         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
8510         cache, but then proceeded to add a new FD to it via the subsequent
8511         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
8512         final file descriptor would be closed only via fts_close's call to
8513         fd_ring_clear.  Now, it is usually closed earlier, via the final
8514         FTS_DP-returning fts_read call.
8515         * lib/fts.c (restore_initial_cwd): New function, converted from
8516         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
8517         Update callers.
8518         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
8519         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
8520
8521 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
8522             Bruno Haible  <bruno@clisp.org>
8523             Jim Meyering  <jim@meyering.net>
8524
8525         readme-release: improve safety of release prep instructions.
8526         * README-release: Don't git pull all branches when only master
8527         is needed for the release process.
8528         Run make maintainer-clean before changing trees and merging.
8529         Don't try to run ./configure right after git pull in case files
8530         that influence the bootstrap process have changed, move the
8531         ./configure step to after running ./bootstrap.
8532         Don't bootstrap "one last time"... it's the first time!
8533
8534 2011-10-22  Bruno Haible  <bruno@clisp.org>
8535
8536         errno, strerror-override: Support for MSVC 10.
8537         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
8538         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
8539         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
8540         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
8541         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
8542         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
8543         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
8544         Assign values compatible with MSVC 10.
8545         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
8546         New macros.
8547         (GNULIB_defined_EWINSOCK): New macro.
8548         * lib/strerror-override.c (strerror_override): Update accordingly.
8549         * lib/strerror-override.h: Likewise.
8550         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
8551         longer equal to the corresponding errno value.
8552         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8553
8554 2011-10-22  Bruno Haible  <bruno@clisp.org>
8555
8556         perror: Recognize when test program crashes.
8557         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
8558         strerror, set gl_cv_func_perror_works to no.
8559         Reported by Daniel Richard G. <skunk@iskunk.org>.
8560
8561         perror: Fix indentation.
8562         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
8563
8564 2011-10-22  Bruno Haible  <bruno@clisp.org>
8565
8566         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
8567         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
8568         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
8569         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
8570         functions, not as a macro.
8571         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
8572         macros.
8573         (isfinite, isinf, isnan, signbit): Check overloaded functions and
8574         absence of macro.
8575         Suggested by Eric Blake.
8576         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8577
8578 2011-10-21  Bruno Haible  <bruno@clisp.org>
8579
8580         relocatable-prog-wrapper: Don't leave object files behind.
8581         * build-aux/install-reloc: Re-synchronize list of .o files to be
8582         removed with list of compilation units.
8583
8584 2011-10-20  Bruno Haible  <bruno@clisp.org>
8585
8586         openpty, posix_openpt: Remove code duplication.
8587         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
8588         * lib/openpty.c: Include <stdlib.h>.
8589         (openpty): Use posix_openpt on all platforms except IRIX.
8590         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
8591
8592 2011-10-20  Bruno Haible  <bruno@clisp.org>
8593
8594         unlockpt: Detect invalid argument.
8595         * lib/unlockpt.c: Include <fcntl.h>.
8596         (unlockpt): Check whether fd is valid, using fcntl().
8597         * modules/unlockpt (Depends-on): Add fcntl-h.
8598
8599 2011-10-20  Bruno Haible  <bruno@clisp.org>
8600
8601         openpty: Avoid compilation error on AIX 6.1.
8602         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
8603
8604 2011-10-20  Bruno Haible  <bruno@clisp.org>
8605
8606         posix_openpt: Support for OpenBSD.
8607         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
8608         (posix_openpt) [OpenBSD]: New code.
8609         * lib/grantpt.c: Include <fcntl.h>.
8610         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
8611         * modules/grantpt (Depends-on): Add fcntl-h.
8612
8613 2011-10-20  Bruno Haible  <bruno@clisp.org>
8614
8615         posix_openpt test: Coding style.
8616         * tests/test-posix_openpt.c: Use GNU coding style.
8617
8618 2011-10-20  Bruno Haible  <bruno@clisp.org>
8619
8620         grantpt: Support --avoid=pt_chown.
8621         * modules/grantpt (Files): Add lib/pty-private.h.
8622
8623 2011-10-20  Bruno Haible  <bruno@clisp.org>
8624
8625         posix_openpt: Fix autoconf macro.
8626         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
8627         unneeded check for _getpty.
8628
8629 2011-10-20  Bruno Haible  <bruno@clisp.org>
8630
8631         openpty: Update comments.
8632         * lib/openpty.c: Add comments about Minix.
8633
8634 2011-10-19  Eric Blake  <eblake@redhat.com>
8635
8636         openpty: relax license
8637         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
8638
8639         pt_chown: use configmake to simplify build
8640         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
8641
8642         ptsname and others: relax license
8643         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
8644         * modules/unlockpt (License): Likewise.
8645         * modules/pt_chown (License): Likewise.
8646         * modules/ptsname (License): Likewise.
8647         * modules/ttyname_r (License): Likewise.
8648
8649 2011-10-19  Jim Meyering  <meyering@redhat.com>
8650
8651         posix_openpt: remove spurious #endif
8652         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
8653
8654 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
8655
8656         maint.mk: Respect $(build_aux) in web-manual rule.
8657         * top/maint.mk (web-manual): Find gen-announce script in user's
8658         $(build_aux) directory instead of hard-coding 'build-aux'.
8659
8660 2011-10-19  Bruno Haible  <bruno@clisp.org>
8661
8662         posix_openpt: Fix compilation error.
8663         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
8664         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
8665         Mention the openpty module as an alternative.
8666
8667 2011-10-19  Bruno Haible  <bruno@clisp.org>
8668
8669         Support for old NeXTstep 3.3 frexp().
8670         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
8671         execution time of the test to 5 seconds.
8672         Reported by Daniel Richard G. <skunk@iskunk.org>.
8673
8674 2011-10-19  Bruno Haible  <bruno@clisp.org>
8675
8676         Support for old NeXTstep 3.3 sed.
8677         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
8678         part, use /.../, not \|...|. Escape periods in the header file name.
8679         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8680         Reported by Daniel Richard G. <skunk@iskunk.org>.
8681
8682 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8683
8684         Support for old NeXTstep 3.3 gcc.
8685         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
8686         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
8687         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
8688         * lib/spawn.in.h (_Restrict_arr_): Likewise.
8689         * lib/regex.h (_Restrict_arr_): Likewise.
8690         * lib/regex_internal.h (re_token_t): Likewise.
8691         * lib/regexec.c (check_node_accept_bytes): Likewise.
8692         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
8693
8694 2011-10-18  Eric Blake  <eblake@redhat.com>
8695
8696         posix_openpt: new module
8697         * modules/posix_openpt: New module.
8698         * m4/posix_openpt.m4: New file.
8699         * lib/posix_openpt.c: Likewise.
8700         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
8701         (gl_STDLIB_H_DEFAULTS): Set defaults.
8702         * modules/stdlib (Makefile.am): Substitute macros.
8703         * lib/stdlib.in.h (posix_openpt): Declare.
8704         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
8705         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
8706         * modules/posix_openpt-tests: New test module.
8707         * tests/test-posix_openpt.c: New test.
8708
8709 2011-10-15  Bruno Haible  <bruno@clisp.org>
8710
8711         xstrtoll: Fix compilation failure.
8712         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
8713         from lib/strtol.c.
8714         * doc/posix-headers/limits.texi: Mention missing numerical limits on
8715         some platforms.
8716         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8717
8718 2011-10-15  Bruno Haible  <bruno@clisp.org>
8719
8720         vasnprintf: Optimize bit search operation.
8721         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
8722         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
8723         gl_DOUBLE_EXPONENT_LOCATION.
8724         * modules/vasnprintf (Files): Add m4/exponentd.m4.
8725         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8726         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8727         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8728         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8729         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8730         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8731         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8732         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
8733
8734 2011-10-15  Bruno Haible  <bruno@clisp.org>
8735
8736         vasnprintf: Fix comments.
8737         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
8738
8739 2011-10-14  Bruno Haible  <bruno@clisp.org>
8740
8741         Tests for module 'integer_length_ll'.
8742         * modules/integer_length_ll-tests: New file.
8743         * tests/test-integer_length_ll.c: New file.
8744
8745         New module 'integer_length_ll'.
8746         * lib/integer_length_ll.c: New file.
8747         * modules/integer_length_ll: New file.
8748
8749 2011-10-14  Bruno Haible  <bruno@clisp.org>
8750
8751         Tests for module 'integer_length_l'.
8752         * modules/integer_length_l-tests: New file.
8753         * tests/test-integer_length_l.c: New file.
8754
8755         New module 'integer_length_l'.
8756         * lib/integer_length_l.c: New file.
8757         * modules/integer_length_l: New file.
8758
8759 2011-10-14  Bruno Haible  <bruno@clisp.org>
8760
8761         Tests for module 'integer_length'.
8762         * modules/integer_length-tests: New file.
8763         * tests/test-integer_length.c: New file.
8764
8765         New module 'integer_length'.
8766         * lib/integer_length.h: New file.
8767         * lib/integer_length.c: New file.
8768         * modules/integer_length: New file.
8769
8770 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8771
8772         popen: Fix dependency conditions.
8773         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
8774
8775 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8776
8777         perror: Fix autoconf test.
8778         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
8779         <stdlib.h> and <string.h>.
8780
8781 2011-10-14  Bruno Haible  <bruno@clisp.org>
8782
8783         ffsl: Optimize on 64-bit platforms.
8784         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
8785         unrolling.
8786
8787 2011-10-13  Bruno Haible  <bruno@clisp.org>
8788
8789         ffsl: Optimize on 32-bit platforms.
8790         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
8791         use ffs() without a loop.
8792
8793         ffsl, ffsll: Optimize for GCC.
8794         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
8795         * lib/ffsl.c (GCC_BUILTIN): New macro.
8796         * lib/ffsll.c (GCC_BUILTIN): Likewise.
8797
8798 2011-10-13  Bruno Haible  <bruno@clisp.org>
8799
8800         ffs, bcopy, memset: Support symbol renaming via config.h.
8801         * lib/ffs.c: Include <config.h>.
8802         * lib/bcopy.c: Likewise.
8803         * lib/memset.c: Likewise.
8804
8805 2011-10-10  Bruno Haible  <bruno@clisp.org>
8806
8807         atanl: Simplify for platforms where 'long double' == 'double'.
8808         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8809         alternative implementation.
8810         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8811         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8812         * modules/atanl (Depends-on): Add atan. Update conditions.
8813
8814 2011-10-10  Bruno Haible  <bruno@clisp.org>
8815
8816         acosl: Simplify for platforms where 'long double' == 'double'.
8817         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8818         alternative implementation.
8819         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8820         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8821         * modules/acosl (Depends-on): Add acos. Update conditions.
8822
8823 2011-10-10  Bruno Haible  <bruno@clisp.org>
8824
8825         asinl: Simplify for platforms where 'long double' == 'double'.
8826         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8827         alternative implementation.
8828         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8829         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8830         * modules/asinl (Depends-on): Add asin. Update conditions.
8831
8832 2011-10-10  Bruno Haible  <bruno@clisp.org>
8833
8834         tanl: Simplify for platforms where 'long double' == 'double'.
8835         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8836         implementation.
8837         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8838         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8839         * modules/tanl (Depends-on): Add tan. Update conditions.
8840         (configure.ac): Don't compile trigl.c if
8841         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8842
8843 2011-10-10  Bruno Haible  <bruno@clisp.org>
8844
8845         cosl: Simplify for platforms where 'long double' == 'double'.
8846         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8847         implementation.
8848         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8849         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8850         * modules/cosl (Depends-on): Add cos. Update conditions.
8851         (configure.ac): Don't compile sincosl.c and trigl.c if
8852         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8853
8854 2011-10-10  Bruno Haible  <bruno@clisp.org>
8855
8856         sinl: Simplify for platforms where 'long double' == 'double'.
8857         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8858         implementation.
8859         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8860         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8861         * modules/sinl (Depends-on): Add sin. Update conditions.
8862         (configure.ac): Don't compile sincosl.c and trigl.c if
8863         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8864
8865 2011-10-10  Bruno Haible  <bruno@clisp.org>
8866
8867         logl: Simplify for platforms where 'long double' == 'double'.
8868         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8869         implementation.
8870         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8871         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8872         * modules/logl (Depends-on): Add log. Update conditions.
8873
8874 2011-10-10  Bruno Haible  <bruno@clisp.org>
8875
8876         expl: Simplify for platforms where 'long double' == 'double'.
8877         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8878         implementation.
8879         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8880         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8881         * modules/expl (Depends-on): Add exp. Update conditions.
8882
8883 2011-10-10  Bruno Haible  <bruno@clisp.org>
8884
8885         sqrtl: Simplify for platforms where 'long double' == 'double'.
8886         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8887         alternative implementation.
8888         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8889         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8890         * modules/sqrtl (Depends-on): Update conditions.
8891
8892 2011-10-10  Bruno Haible  <bruno@clisp.org>
8893
8894         ldexpl: Simplify for platforms where 'long double' == 'double'.
8895         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8896         alternative implementation.
8897         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8898         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8899         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
8900
8901 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
8902
8903         ffsll: set correct witness
8904         * modules/ffsll (configure.ac): Fix typo.
8905
8906 2011-10-10  Bruno Haible  <bruno@clisp.org>
8907
8908         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
8909         * lib/printf-frexpl.c: Include <config.h>.
8910         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8911         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
8912         second time.
8913         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
8914         gl_LONG_DOUBLE_VS_DOUBLE.
8915         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
8916         conditions.
8917
8918 2011-10-10  Bruno Haible  <bruno@clisp.org>
8919
8920         frexpl: Simplify for platforms where 'long double' == 'double'.
8921         * lib/frexpl.c: Include <config.h>.
8922         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8923         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8924         time.
8925         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8926         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8927         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
8928         * modules/frexpl (Depends-on): Add frexp. Update conditions.
8929         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
8930         conditions.
8931
8932 2011-10-10  Jim Meyering  <meyering@redhat.com>
8933
8934         test-renameat: don't leave behind a temporary file
8935         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
8936           ERROR: files left in build directory after distclean:
8937           ./gltests/test-renameat.too
8938           make[1]: *** [distcleancheck] Error 1
8939         Reported by Tom G. Christensen.
8940
8941 2011-10-09  Bruno Haible  <bruno@clisp.org>
8942
8943         rint: Determine RINT_LIBM correctly on AIX 7.
8944         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
8945         directly, not only through a function pointer. Also accept an optional
8946         4th argument with extra code.
8947         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
8948         rintf() call by gcc when optimizing.
8949
8950         mathfunc.m4: Refactor.
8951         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
8952         m4 variable.
8953
8954 2011-10-09  Bruno Haible  <bruno@clisp.org>
8955
8956         rintl: Simplify for platforms where 'long double' == 'double'.
8957         * lib/rintl.c: Include <config.h>.
8958         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8959         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8960         time.
8961         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8962         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8963         * modules/rintl (Depends-on): Add rint. Update conditions.
8964
8965 2011-10-09  Bruno Haible  <bruno@clisp.org>
8966
8967         roundl: Simplify for platforms where 'long double' == 'double'.
8968         * lib/roundl.c: Include <config.h>.
8969         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8970         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8971         time.
8972         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8973         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8974         * modules/roundl (Depends-on): Add round. Update conditions.
8975
8976 2011-10-09  Bruno Haible  <bruno@clisp.org>
8977
8978         truncl: Simplify for platforms where 'long double' == 'double'.
8979         * lib/truncl.c: Include <config.h>.
8980         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8981         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8982         time.
8983         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8984         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8985         * modules/truncl (Depends-on): Add trunc. Update conditions.
8986
8987 2011-10-09  Bruno Haible  <bruno@clisp.org>
8988
8989         ceill: Simplify for platforms where 'long double' == 'double'.
8990         * lib/ceill.c: Include <config.h>.
8991         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8992         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8993         time.
8994         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8995         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8996         * modules/ceill (Depends-on): Add ceil. Update conditions.
8997
8998 2011-10-09  Bruno Haible  <bruno@clisp.org>
8999
9000         floorl: Simplify for platforms where 'long double' == 'double'.
9001         * lib/floorl.c: Include <config.h>.
9002         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9003         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9004         time.
9005         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9006         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9007         * modules/floorl (Depends-on): Add floor. Update conditions.
9008
9009 2011-10-09  Bruno Haible  <bruno@clisp.org>
9010
9011         rint: Fix ordering constraints.
9012         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
9013         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
9014         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
9015
9016 2011-10-09  Bruno Haible  <bruno@clisp.org>
9017
9018         copysignl: Simplify for platforms where 'long double' == 'double'.
9019         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9020         alternative.
9021         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9022         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9023         * modules/copysignl (Depends-on): Add copysign. Update conditions.
9024
9025 2011-10-09  Bruno Haible  <bruno@clisp.org>
9026
9027         Tests for module 'rintl'.
9028         * modules/rintl-tests: New file.
9029         * tests/test-rintl.c: New file.
9030
9031         New module 'rintl'.
9032         * lib/math.in.h (rintl): New declaration.
9033         * lib/rintl.c: New file.
9034         * m4/rintl.m4: New file.
9035         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
9036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
9037         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
9038         * modules/rintl: New file.
9039         * tests/test-math-c++.cc: Check the declaration of rintl.
9040         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9041         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
9042         * doc/posix-functions/rintl.texi: Mention the new module.
9043
9044 2011-10-09  Bruno Haible  <bruno@clisp.org>
9045
9046         Tests for module 'rintf'.
9047         * modules/rintf-tests: New file.
9048         * tests/test-rintf.c: New file.
9049
9050         New module 'rintf'.
9051         * lib/math.in.h (rintf): New declaration.
9052         * lib/rintf.c: New file.
9053         * m4/rintf.m4: New file.
9054         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
9055         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
9056         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
9057         * modules/rintf: New file.
9058         * tests/test-math-c++.cc: Check the declaration of rintf.
9059         * doc/posix-functions/rintf.texi: Mention the new module.
9060
9061 2011-10-09  Bruno Haible  <bruno@clisp.org>
9062
9063         rint: Support for MSVC.
9064         * lib/math.in.h (rint): New declaration.
9065         * lib/rint.c: New file.
9066         * m4/rint.m4: New file.
9067         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
9068         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
9069         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
9070         * modules/rint (Description): Fix.
9071         (Files): Add lib/rint.c, m4/rint.m4.
9072         (Depends-on): Add math.
9073         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
9074         gl_MATH_MODULE_INDICATOR.
9075         * tests/test-math-c++.cc: Check the declaration of rint.
9076         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9077         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
9078         * doc/posix-functions/rint.texi: Mention the replacement provided by
9079         the module.
9080
9081         rint tests: More tests.
9082         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
9083         minus-zero.h, infinity.h, nan.h.
9084         (main): Skip the test if the current rounding mode is not standard. Add
9085         tests for negative numbers, minus zero, infinity, NaN.
9086         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
9087         tests/nan.h.
9088         (Depends-on): Add isnand-nolibm.
9089
9090 2011-10-09  Bruno Haible  <bruno@clisp.org>
9091
9092         Tests for module 'copysignl'.
9093         * modules/copysignl-tests: New file.
9094         * tests/test-copysignl.c: New file.
9095
9096         New module 'copysignl'.
9097         * lib/math.in.h (copysignl): New declaration.
9098         * lib/copysignl.c: New file.
9099         * m4/copysignl.m4: New file.
9100         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
9101         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
9102         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
9103         HAVE_COPYSIGNL.
9104         * modules/copysignl: New file.
9105         * tests/test-math-c++.cc: Check the declaration of copysignl.
9106         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9107         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
9108         * doc/posix-functions/copysignl.texi: Mention the new module.
9109
9110 2011-10-09  Bruno Haible  <bruno@clisp.org>
9111
9112         Tests for module 'copysignf'.
9113         * modules/copysignf-tests: New file.
9114         * tests/test-copysignf.c: New file.
9115
9116         New module 'copysignf'.
9117         * lib/math.in.h (copysignf): New declaration.
9118         * lib/copysignf.c: New file.
9119         * m4/copysignf.m4: New file.
9120         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
9121         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
9122         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
9123         HAVE_COPYSIGNF.
9124         * modules/copysignf: New file.
9125         * tests/test-math-c++.cc: Check the declaration of copysignf.
9126         * doc/posix-functions/copysignf.texi: Mention the new module.
9127
9128 2011-10-09  Bruno Haible  <bruno@clisp.org>
9129
9130         Ensure that HAVE_* variables are set to 1 before they are set to 0.
9131         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
9132         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
9133         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9134         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
9135         gl_SIGNAL_H_DEFAULTS.
9136
9137 2011-10-09  Bruno Haible  <bruno@clisp.org>
9138
9139         poll: Make macro safer.
9140         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
9141         ac_cv_header_poll_h is not set.
9142
9143 2011-10-09  Bruno Haible  <bruno@clisp.org>
9144
9145         copysign: Provide replacement.
9146         * lib/math.in.h (copysign): New declaration.
9147         * lib/copysign.c: New file.
9148         * m4/copysign.m4: New file.
9149         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
9150         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
9151         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
9152         HAVE_COPYSIGN.
9153         * modules/copysign (Description): Clarify.
9154         (Files): Add lib/copysign.c, m4/copysign.m4.
9155         (Depends-on): Add math, signbit.
9156         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
9157         gl_MATH_MODULE_INDICATOR.
9158         * tests/test-math-c++.cc: Check the declaration of copysign.
9159         * doc/posix-functions/copysign.texi: Mention the effects of the module
9160         on Minix and MSVC.
9161
9162 2011-10-09  Bruno Haible  <bruno@clisp.org>
9163
9164         isinf: Ensure macro on AIX 5.1.
9165         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
9166         macro.
9167         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
9168
9169 2011-10-09  Bruno Haible  <bruno@clisp.org>
9170
9171         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
9172         * modules/snprintf-posix-tests (configure.ac): Require
9173         gl_LONG_DOUBLE_VS_DOUBLE.
9174         * modules/sprintf-posix-tests (configure.ac): Likewise.
9175         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
9176         * modules/vasprintf-posix-tests (configure.ac): Likewise.
9177         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
9178         * modules/vsprintf-posix-tests (configure.ac): Likewise.
9179         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
9180         tests on platforms where 'long double' is the same as 'double'.
9181         * tests/test-sprintf-posix.h (test_function): Likewise.
9182         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9183         * tests/test-vasprintf-posix.c (test_function): Likewise.
9184
9185         *printf: Fix for platforms where 'long double' == 'double'.
9186         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
9187         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
9188         * modules/dprintf-posix (Files): Add m4/math_h.m4.
9189         * modules/fprintf-posix (Files): Likewise.
9190         * modules/obstack-printf-posix (Files): Likewise.
9191         * modules/snprintf-posix (Files): Likewise.
9192         * modules/sprintf-posix (Files): Likewise.
9193         * modules/vasnprintf (Files): Likewise.
9194         * modules/vasnprintf-posix (Files): Likewise.
9195         * modules/vasprintf-posix (Files): Likewise.
9196         * modules/vdprintf-posix (Files): Likewise.
9197         * modules/vfprintf-posix (Files): Likewise.
9198         * modules/vsnprintf-posix (Files): Likewise.
9199         * modules/vsprintf-posix (Files): Likewise.
9200         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9201         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9202         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9203         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9204         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9205         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9206         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9207
9208         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
9209         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
9210         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9211         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
9212         'long double'.
9213         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
9214
9215         isinf: Fix for platforms where 'long double' == 'double'.
9216         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9217         Don't blindly assume 80-bit 'long double'.
9218
9219         isfinite: Fix for platforms where 'long double' == 'double'.
9220         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9221         Don't blindly assume 80-bit 'long double'.
9222
9223         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
9224         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
9225         * modules/isfinite-tests (configure.ac): Require
9226         gl_LONG_DOUBLE_VS_DOUBLE.
9227         * modules/isinf-tests (configure.ac): Likewise.
9228         * modules/isnan-tests (configure.ac): Likewise.
9229         * modules/isnanl-tests (configure.ac): Likewise.
9230         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
9231         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
9232         tests on platforms where 'long double' is the same as 'double'.
9233         * tests/test-isinf.c (test_isinfl): Likewise.
9234         * tests/test-isnan.c (test_long_double): Likewise.
9235         * tests/test-isnanl.h (main): Likewise.
9236
9237 2011-10-08  Bruno Haible  <bruno@clisp.org>
9238
9239         Tests for module 'tanhf'.
9240         * modules/tanhf-tests: New file.
9241         * tests/test-tanhf.c: New file.
9242
9243         New module 'tanhf'.
9244         * lib/math.in.h (tanhf): New declaration.
9245         * lib/tanhf.c: New file.
9246         * m4/tanhf.m4: New file.
9247         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
9248         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
9249         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
9250         * modules/tanhf: New file.
9251         * tests/test-math-c++.cc: Check the declaration of tanhf.
9252         * doc/posix-functions/tanhf.texi: Mention the new module.
9253
9254         tanh: Use a .m4 file.
9255         * m4/tanh.m4: New file.
9256         * modules/tanh (Files): Add it.
9257         (configure.ac): Just invoke gl_FUNC_TANH.
9258
9259 2011-10-08  Bruno Haible  <bruno@clisp.org>
9260
9261         Tests for module 'coshf'.
9262         * modules/coshf-tests: New file.
9263         * tests/test-coshf.c: New file.
9264
9265         New module 'coshf'.
9266         * lib/math.in.h (coshf): New declaration.
9267         * lib/coshf.c: New file.
9268         * m4/coshf.m4: New file.
9269         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
9270         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
9271         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
9272         * modules/coshf: New file.
9273         * tests/test-math-c++.cc: Check the declaration of coshf.
9274         * doc/posix-functions/coshf.texi: Mention the new module.
9275
9276         cosh: Use a .m4 file.
9277         * m4/cosh.m4: New file.
9278         * modules/cosh (Files): Add it.
9279         (configure.ac): Just invoke gl_FUNC_COSH.
9280
9281 2011-10-08  Bruno Haible  <bruno@clisp.org>
9282
9283         Tests for module 'sinhf'.
9284         * modules/sinhf-tests: New file.
9285         * tests/test-sinhf.c: New file.
9286
9287         New module 'sinhf'.
9288         * lib/math.in.h (sinhf): New declaration.
9289         * lib/sinhf.c: New file.
9290         * m4/sinhf.m4: New file.
9291         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
9292         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
9293         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
9294         * modules/sinhf: New file.
9295         * tests/test-math-c++.cc: Check the declaration of sinhf.
9296         * doc/posix-functions/sinhf.texi: Mention the new module.
9297
9298         sinh: Use a .m4 file.
9299         * m4/sinh.m4: New file.
9300         * modules/sinh (Files): Add it.
9301         (configure.ac): Just invoke gl_FUNC_SINH.
9302
9303 2011-10-08  Bruno Haible  <bruno@clisp.org>
9304
9305         Tests for module 'atan2f'.
9306         * modules/atan2f-tests: New file.
9307         * tests/test-atan2f.c: New file.
9308
9309         New module 'atan2f'.
9310         * lib/math.in.h (atan2f): New declaration.
9311         * lib/atan2f.c: New file.
9312         * m4/atan2f.m4: New file.
9313         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
9314         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
9315         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
9316         * modules/atan2f: New file.
9317         * tests/test-math-c++.cc: Check the declaration of atan2f.
9318         * doc/posix-functions/atan2f.texi: Mention the new module.
9319
9320         atan2: Use a .m4 file.
9321         * m4/atan2.m4: New file.
9322         * modules/atan2 (Files): Add it.
9323         (configure.ac): Just invoke gl_FUNC_ATAN2.
9324
9325 2011-10-08  Bruno Haible  <bruno@clisp.org>
9326
9327         Tests for module 'atanf'.
9328         * modules/atanf-tests: New file.
9329         * tests/test-atanf.c: New file.
9330
9331         New module 'atanf'.
9332         * lib/math.in.h (atanf): New declaration.
9333         * lib/atanf.c: New file.
9334         * m4/atanf.m4: New file.
9335         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
9336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
9337         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
9338         * modules/atanf: New file.
9339         * tests/test-math-c++.cc: Check the declaration of atanf.
9340         * doc/posix-functions/atanf.texi: Mention the new module.
9341
9342         atan: Use a .m4 file.
9343         * m4/atan.m4: New file.
9344         * modules/atan (Files): Add it.
9345         (configure.ac): Just invoke gl_FUNC_ATAN.
9346
9347 2011-10-08  Bruno Haible  <bruno@clisp.org>
9348
9349         Tests for module 'acosf'.
9350         * modules/acosf-tests: New file.
9351         * tests/test-acosf.c: New file.
9352
9353         New module 'acosf'.
9354         * lib/math.in.h (acosf): New declaration.
9355         * lib/acosf.c: New file.
9356         * m4/acosf.m4: New file.
9357         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
9358         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
9359         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
9360         * modules/acosf: New file.
9361         * tests/test-math-c++.cc: Check the declaration of acosf.
9362         * doc/posix-functions/acosf.texi: Mention the new module.
9363
9364         acos: Use a .m4 file.
9365         * m4/acos.m4: New file.
9366         * modules/acos (Files): Add it.
9367         (configure.ac): Just invoke gl_FUNC_ACOS.
9368
9369 2011-10-08  Bruno Haible  <bruno@clisp.org>
9370
9371         Tests for module 'asinf'.
9372         * modules/asinf-tests: New file.
9373         * tests/test-asinf.c: New file.
9374
9375         New module 'asinf'.
9376         * lib/math.in.h (asinf): New declaration.
9377         * lib/asinf.c: New file.
9378         * m4/asinf.m4: New file.
9379         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
9380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
9381         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
9382         * modules/asinf: New file.
9383         * tests/test-math-c++.cc: Check the declaration of asinf.
9384         * doc/posix-functions/asinf.texi: Mention the new module.
9385
9386         asin: Use a .m4 file.
9387         * m4/asin.m4: New file.
9388         * modules/asin (Files): Add it.
9389         (configure.ac): Just invoke gl_FUNC_ASIN.
9390
9391 2011-10-08  Bruno Haible  <bruno@clisp.org>
9392
9393         Tests for module 'tanf'.
9394         * modules/tanf-tests: New file.
9395         * tests/test-tanf.c: New file.
9396
9397         New module 'tanf'.
9398         * lib/math.in.h (tanf): New declaration.
9399         * lib/tanf.c: New file.
9400         * m4/tanf.m4: New file.
9401         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
9402         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
9403         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
9404         * modules/tanf: New file.
9405         * tests/test-math-c++.cc: Check the declaration of tanf.
9406         * doc/posix-functions/tanf.texi: Mention the new module.
9407
9408         tan: Use a .m4 file.
9409         * m4/tan.m4: New file.
9410         * modules/tan (Files): Add it.
9411         (configure.ac): Just invoke gl_FUNC_TAN.
9412
9413 2011-10-08  Bruno Haible  <bruno@clisp.org>
9414
9415         Tests for module 'cosf'.
9416         * modules/cosf-tests: New file.
9417         * tests/test-cosf.c: New file.
9418
9419         New module 'cosf'.
9420         * lib/math.in.h (cosf): New declaration.
9421         * lib/cosf.c: New file.
9422         * m4/cosf.m4: New file.
9423         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
9424         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
9425         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
9426         * modules/cosf: New file.
9427         * tests/test-math-c++.cc: Check the declaration of cosf.
9428         * doc/posix-functions/cosf.texi: Mention the new module.
9429
9430         cos: Use a .m4 file.
9431         * m4/cos.m4: New file.
9432         * modules/cos (Files): Add it.
9433         (configure.ac): Just invoke gl_FUNC_COS.
9434
9435 2011-10-08  Bruno Haible  <bruno@clisp.org>
9436
9437         Tests for module 'sinf'.
9438         * modules/sinf-tests: New file.
9439         * tests/test-sinf.c: New file.
9440
9441         New module 'sinf'.
9442         * lib/math.in.h (sinf): New declaration.
9443         * lib/sinf.c: New file.
9444         * m4/sinf.m4: New file.
9445         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
9446         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
9447         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
9448         * modules/sinf: New file.
9449         * tests/test-math-c++.cc: Check the declaration of sinf.
9450         * doc/posix-functions/sinf.texi: Mention the new module.
9451
9452         sin: Use a .m4 file.
9453         * m4/sin.m4: New file.
9454         * modules/sin (Files): Add it.
9455         (configure.ac): Just invoke gl_FUNC_SIN.
9456
9457 2011-10-08  Bruno Haible  <bruno@clisp.org>
9458
9459         Tests for module 'powf'.
9460         * modules/powf-tests: New file.
9461         * tests/test-powf.c: New file.
9462
9463         New module 'powf'.
9464         * lib/math.in.h (powf): New declaration.
9465         * lib/powf.c: New file.
9466         * m4/powf.m4: New file.
9467         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
9468         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
9469         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
9470         * modules/powf: New file.
9471         * tests/test-math-c++.cc: Check the declaration of powf.
9472         * doc/posix-functions/powf.texi: Mention the new module.
9473
9474         pow: Use a .m4 file.
9475         * m4/pow.m4: New file.
9476         * modules/pow (Files): Add it.
9477         (configure.ac): Just invoke gl_FUNC_POW.
9478
9479 2011-10-08  Bruno Haible  <bruno@clisp.org>
9480
9481         Tests for module 'log10f'.
9482         * modules/log10f-tests: New file.
9483         * tests/test-log10f.c: New file.
9484
9485         New module 'log10f'.
9486         * lib/math.in.h (log10f): New declaration.
9487         * lib/log10f.c: New file.
9488         * m4/log10f.m4: New file.
9489         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
9490         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
9491         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
9492         * modules/log10f: New file.
9493         * tests/test-math-c++.cc: Check the declaration of log10f.
9494         * doc/posix-functions/log10f.texi: Mention the new module.
9495
9496         log10: Use a .m4 file.
9497         * m4/log10.m4: New file.
9498         * modules/log10 (Files): Add it.
9499         (configure.ac): Just invoke gl_FUNC_LOG10.
9500
9501 2011-10-08  Bruno Haible  <bruno@clisp.org>
9502
9503         Tests for module 'logf'.
9504         * modules/logf-tests: New file.
9505         * tests/test-logf.c: New file.
9506
9507         New module 'logf'.
9508         * lib/math.in.h (logf): New declaration.
9509         * lib/logf.c: New file.
9510         * m4/logf.m4: New file.
9511         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
9512         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
9513         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
9514         * modules/logf: New file.
9515         * tests/test-math-c++.cc: Check the declaration of logf.
9516         * doc/posix-functions/logf.texi: Mention the new module.
9517
9518         log: Use a .m4 file.
9519         * m4/log.m4: New file.
9520         * modules/log (Files): Add it.
9521         (configure.ac): Just invoke gl_FUNC_LOG.
9522
9523 2011-10-08  Bruno Haible  <bruno@clisp.org>
9524
9525         Tests for module 'expf'.
9526         * modules/expf-tests: New file.
9527         * tests/test-expf.c: New file.
9528
9529         New module 'expf'.
9530         * lib/math.in.h (expf): New declaration.
9531         * lib/expf.c: New file.
9532         * m4/expf.m4: New file.
9533         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
9534         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
9535         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
9536         * modules/expf: New file.
9537         * tests/test-math-c++.cc: Check the declaration of expf.
9538         * doc/posix-functions/expf.texi: Mention the new module.
9539
9540         exp: Use a .m4 file.
9541         * m4/exp.m4: New file.
9542         * modules/exp (Files): Add it.
9543         (configure.ac): Just invoke gl_FUNC_EXP.
9544
9545 2011-10-08  Bruno Haible  <bruno@clisp.org>
9546
9547         Tests for module 'sqrtf'.
9548         * modules/sqrtf-tests: New file.
9549         * tests/test-sqrtf.c: New file.
9550
9551         New module 'sqrtf'.
9552         * lib/math.in.h (sqrtf): New declaration.
9553         * lib/sqrtf.c: New file.
9554         * m4/sqrtf.m4: New file.
9555         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
9556         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
9557         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
9558         * modules/sqrtf: New file.
9559         * tests/test-math-c++.cc: Check the declaration of sqrtf.
9560         * doc/posix-functions/sqrtf.texi: Mention the new module.
9561
9562 2011-10-08  Bruno Haible  <bruno@clisp.org>
9563
9564         Tests: Avoid link failures w.r.t. libintl.
9565         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
9566         $(LIBINTL).
9567         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
9568         $(LIBINTL).
9569         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
9570         against $(LIBINTL).
9571         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
9572         $(LIBINTL).
9573         * modules/openat-tests (Makefile.am): Link test-fchmodat against
9574         $(LIBINTL).
9575         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
9576
9577 2011-10-08  Bruno Haible  <bruno@clisp.org>
9578
9579         pow tests: Defeat compiler optimizations.
9580         * tests/test-pow.c (main): Assign arguments to x and y before use.
9581
9582 2011-10-08  Bruno Haible  <bruno@clisp.org>
9583
9584         gnulib-tool: Improve last commit.
9585         * gnulib-tool (func_modules_transitive_closure): Simplify code.
9586         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
9587         ignore dependencies that are not among the modules list.
9588
9589 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
9590
9591         gnulib-tool: don't follow dependencies to avoided modules
9592         This fixes a bug that is related to the previous one.
9593         * gnulib-tool (func_modules_transitive_closure)
9594         (func_emit_autoconf_snippets):
9595         Check whether a dependency is acceptable before using it.
9596         (--extract-dependencies): Report an error if --avoid is also used,
9597         since this combination of options is not yet supported.
9598
9599         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
9600         Problem reported by Peter Dyballa in
9601         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
9602         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
9603         when echoing "$condition".
9604
9605 2011-10-07  Bruno Haible  <bruno@clisp.org>
9606
9607         Fix documentation about math functions on MacOS X.
9608         * doc/posix-functions/exp2.texi: Don't say the function is missing on
9609         MacOS X 10.5.
9610         * doc/posix-functions/fdim.texi: Likewise.
9611         * doc/posix-functions/feclearexcept.texi: Likewise.
9612         * doc/posix-functions/fegetenv.texi: Likewise.
9613         * doc/posix-functions/fegetround.texi: Likewise.
9614         * doc/posix-functions/feholdexcept.texi: Likewise.
9615         * doc/posix-functions/feraiseexcept.texi: Likewise.
9616         * doc/posix-functions/fesetenv.texi: Likewise.
9617         * doc/posix-functions/fesetround.texi: Likewise.
9618         * doc/posix-functions/fetestexcept.texi: Likewise.
9619         * doc/posix-functions/feupdateenv.texi: Likewise.
9620         * doc/posix-functions/fmax.texi: Likewise.
9621         * doc/posix-functions/fmin.texi: Likewise.
9622         * doc/posix-functions/log2.texi: Likewise.
9623         * doc/posix-functions/modff.texi: Likewise.
9624         * doc/posix-functions/nan.texi: Likewise.
9625         * doc/posix-functions/nanf.texi: Likewise.
9626         * doc/posix-functions/nextafterf.texi: Likewise.
9627         * doc/posix-functions/remquo.texi: Likewise.
9628
9629 2011-10-07  Bruno Haible  <bruno@clisp.org>
9630
9631         modff: Drop assumption about library that defines modff.
9632         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
9633         AC_CHECK_FUNCS.
9634         * modules/modff (Files): Add m4/mathfunc.m4.
9635
9636 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
9637
9638         raise tests: Avoid a GCC warning.
9639         * tests/test-raise.c (handler): Use _Noreturn.
9640
9641 2011-10-07  Bruno Haible  <bruno@clisp.org>
9642
9643         Tests for module 'ldexpf'.
9644         * modules/ldexpf-tests: New file.
9645         * tests/test-ldexpf.c: New file.
9646
9647         New module 'ldexpf'.
9648         * lib/math.in.h (ldexpf): New declaration.
9649         * lib/ldexpf.c: New file.
9650         * m4/ldexpf.m4: New file.
9651         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
9652         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
9653         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
9654         * modules/ldexpf: New file.
9655         * tests/test-math-c++.cc: Check the declaration of ldexpf.
9656         * doc/posix-functions/ldexpf.texi: Mention the new module.
9657
9658 2011-10-06  Bruno Haible  <bruno@clisp.org>
9659
9660         frexpf: Work around problems on IRIX and mingw.
9661         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
9662         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
9663         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
9664         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
9665         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
9666         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
9667         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
9668
9669 2011-10-06  Bruno Haible  <bruno@clisp.org>
9670
9671         fabsf: Drop assumption about library that defines fabsf.
9672         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
9673         AC_CHECK_FUNCS.
9674         * modules/fabsf (Files): Add m4/mathfunc.m4.
9675
9676 2011-10-06  Bruno Haible  <bruno@clisp.org>
9677
9678         frexpf: Drop assumption about library that defines frexpf.
9679         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
9680         'int *', 'float *', 'long double *', 'float', 'long double'.
9681         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
9682         AC_CHECK_FUNCS.
9683         * modules/frexpf (Files): Add m4/mathfunc.m4.
9684
9685         Tests for module 'frexpf'.
9686         * modules/frexpf-tests: New file.
9687         * tests/test-frexpf.c: New file.
9688
9689         New module 'frexpf'.
9690         * lib/math.in.h (frexpf): New declaration.
9691         * lib/frexpf.c: New file.
9692         * m4/frexpf.m4: New file.
9693         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
9694         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
9695         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
9696         * modules/frexpf: New file.
9697         * tests/test-math-c++.cc: Check the declaration of frexpf.
9698         * doc/posix-functions/frexpf.texi: Mention the new module.
9699
9700 2011-10-06  Bruno Haible  <bruno@clisp.org>
9701
9702         math: Sort function declarations of math.in.h.
9703         * lib/math.in.h (frexp, logb): Move declarations.
9704
9705 2011-10-05  Bruno Haible  <bruno@clisp.org>
9706
9707         Tests for module 'modff'.
9708         * modules/modff-tests: New file.
9709         * tests/test-modff.c: New file.
9710
9711         New module 'modff'.
9712         * lib/math.in.h (modff): New declaration.
9713         * lib/modff.c: New file.
9714         * m4/modff.m4: New file.
9715         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
9716         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
9717         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
9718         * modules/modff: New file.
9719         * tests/test-math-c++.cc: Check the declaration of modff.
9720         * doc/posix-functions/modff.texi: Mention the new module.
9721
9722         modf tests: Make test sharper.
9723         * tests/test-modf.c (main): Strengthen upper bound.
9724
9725         modf: Use a .m4 file.
9726         * m4/modf.m4: New file.
9727         * modules/modf (Files): Add it.
9728         (configure.ac): Just invoke gl_FUNC_MODF.
9729
9730 2011-10-05  Bruno Haible  <bruno@clisp.org>
9731
9732         Tests for module 'fmodf'.
9733         * modules/fmodf-tests: New file.
9734         * tests/test-fmodf.c: New file.
9735
9736         New module 'fmodf'.
9737         * lib/math.in.h (fmodf): New declaration.
9738         * lib/fmodf.c: New file.
9739         * m4/fmodf.m4: New file.
9740         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
9741         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
9742         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
9743         * modules/fmodf: New file.
9744         * tests/test-math-c++.cc: Check the declaration of fmodf.
9745         * doc/posix-functions/fmodf.texi: Mention the new module.
9746
9747         fmod: Use a .m4 file.
9748         * m4/fmod.m4: New file.
9749         * modules/fmod (Files): Add it.
9750         (configure.ac): Just invoke gl_FUNC_FMOD.
9751
9752 2011-10-05  Bruno Haible  <bruno@clisp.org>
9753
9754         Tests for module 'fabsf'.
9755         * modules/fabsf-tests: New file.
9756         * tests/test-fabsf.c: New file.
9757
9758         New module 'fabsf'.
9759         * lib/math.in.h (fabsf): New declaration.
9760         * lib/fabsf.c: New file.
9761         * m4/fabsf.m4: New file.
9762         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
9763         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
9764         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
9765         * modules/fabsf: New file.
9766         * tests/test-math-c++.cc: Check the declaration of fabsf.
9767         * doc/posix-functions/fabsf.texi: Mention the new module.
9768
9769         fabs: Use a .m4 file.
9770         * m4/fabs.m4: New file.
9771         * modules/fabs (Files): Add it.
9772         (configure.ac): Just invoke gl_FUNC_FABS.
9773
9774 2011-10-05  Jim Meyering  <meyering@redhat.com>
9775
9776         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
9777         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
9778         ls -lL regression introduced in coreutils-8.12, it does so at the
9779         cost of an additional stat call in the common case.  Besides, now
9780         that the kernel change that prompted commit 95f7c57f has been reverted
9781         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
9782         we have no use for commit 95f7c57f, "file-has-acl: use
9783         acl_extended_file_nofollow if available".
9784
9785 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
9786
9787         file-has-acl: revert unintended change in behavior of ls -L
9788         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
9789         derived from...
9790         (file_has_acl): ...code here.  Call it.
9791         This problem was introduced with 2011-07-22 commit 95f7c57f,
9792         "file-has-acl: use acl_extended_file_nofollow if available".
9793         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
9794
9795 2011-10-03  Bruno Haible  <bruno@clisp.org>
9796
9797         poll: Avoid link errors on MSVC.
9798         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
9799         * modules/poll (Depends-on): Add sockets.
9800         (Link): New section.
9801         * NEWS: Mention the change.
9802         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
9803         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
9804         $(LIB_POLL) instead of $(LIBSOCKET).
9805
9806 2011-10-03  Bruno Haible  <bruno@clisp.org>
9807
9808         sys_select tests: Fix link error on MSVC 9.
9809         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
9810         with $(LIB_SELECT) instead of $(LIBSOCKET).
9811
9812 2011-10-03  Bruno Haible  <bruno@clisp.org>
9813
9814         sys_select: Fix compilation error on mingw.
9815         * lib/sys_select.in.h: On native Windows, include <io.h>.
9816
9817 2011-10-03  Bruno Haible  <bruno@clisp.org>
9818
9819         wmemset: Support for MSVC.
9820         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
9821         whether wmemset() exists.
9822
9823 2011-10-03  Bruno Haible  <bruno@clisp.org>
9824
9825         wmemmove: Support for MSVC.
9826         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
9827         whether wmemmove() exists.
9828
9829 2011-10-03  Bruno Haible  <bruno@clisp.org>
9830
9831         wmemcpy: Support for MSVC.
9832         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
9833         whether wmemcpy() exists.
9834
9835 2011-10-03  Bruno Haible  <bruno@clisp.org>
9836
9837         wmemcmp: Support for MSVC.
9838         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
9839         whether wmemcmp() exists.
9840
9841 2011-10-03  Bruno Haible  <bruno@clisp.org>
9842
9843         wmemchr: Support for MSVC.
9844         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
9845         whether wmemchr() exists.
9846
9847 2011-10-03  Bruno Haible  <bruno@clisp.org>
9848
9849         glthread/*, strsignal: Support for MSVC.
9850         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
9851         including <winsock.h> on MSVC 9.
9852         * lib/glthread/lock.h: Likewise.
9853         * lib/glthread/thread.h: Likewise.
9854         * lib/glthread/tls.h: Likewise.
9855         * lib/glthread/yield.h: Likewise.
9856         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
9857         if HAVE_UNISTD_H is false.
9858         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
9859
9860 2011-10-03  Bruno Haible  <bruno@clisp.org>
9861
9862         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
9863         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
9864         Set to 100000.
9865
9866 2011-10-03  Bruno Haible  <bruno@clisp.org>
9867
9868         acl: Fix specification.
9869         * lib/file-has-acl.c (file_has_acl): Fix specification.
9870
9871 2011-10-03  Bruno Haible  <bruno@clisp.org>
9872
9873         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
9874         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
9875         (compute_curr_prefix, shared_library_fullname,
9876         find_shared_library_fullname, get_shared_library_fullname, relocate):
9877         Use it together with PIC && INSTALLDIR.
9878         Reported by <jojelino@gmail.com>
9879         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
9880
9881 2011-10-01  Jim Meyering  <meyering@redhat.com>
9882
9883         maint.mk: adjust a release-related rule not to require use of gzip
9884         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
9885         Instead, check each file in $(DIST_ARCHIVES).  This is better for
9886         projects that build only .tar.xz files.  Also fix an erroneous test.
9887
9888         test-linkat: don't leave behind a temporary file
9889         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
9890         Otherwise, coreutils' "make distcheck" would fail with this:
9891           Only in /c/cu/tests/torture/coreutils/test/\
9892             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
9893           make[2]: *** [my-distcheck] Error 1
9894
9895         float, math: add omitted file
9896         * lib/itold.c: Add file, required for yesterday's float change.
9897
9898 2011-10-01  Bruno Haible  <bruno@clisp.org>
9899
9900         isinf: Fix for OpenBSD/x86.
9901         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
9902         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
9903         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
9904
9905 2011-10-01  Bruno Haible  <bruno@clisp.org>
9906
9907         isfinite: Fix syntax error in configure test.
9908         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
9909
9910         isfinite: Fix typo.
9911         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
9912         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
9913
9914 2011-10-01  Bruno Haible  <bruno@clisp.org>
9915
9916         nonblocking tests: Fix test failure on Linux/IA-64.
9917         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
9918         Set to 270000.
9919
9920 2011-10-01  Bruno Haible  <bruno@clisp.org>
9921
9922         mkfifoat tests: Fix a test failure on mingw.
9923         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
9924         with error ENOSYS.
9925
9926 2011-09-30  Bruno Haible  <bruno@clisp.org>
9927
9928         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
9929         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
9930         'long double'. Set REPLACE_ITOLD.
9931         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
9932         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
9933         * lib/itold.c: New file.
9934         * modules/float (Files): Add lib/itold.c.
9935         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
9936         (Makefile.am): Substitute REPLACE_ITOLD.
9937         * modules/math (Depends-on): Add float.
9938         (Makefile.am): Substitute REPLACE_ITOLD.
9939         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
9940         * doc/posix-headers/math.texi: Likewise.
9941         * doc/posix-functions/logl.texi: Likewise.
9942
9943 2011-09-30  Bruno Haible  <bruno@clisp.org>
9944
9945         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
9946         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
9947         Set to 140000.
9948
9949 2011-09-30  Bruno Haible  <bruno@clisp.org>
9950
9951         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
9952         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
9953         invocation, say "right after AC_PROG_CC_STDC", not "right after
9954         AC_PROG_CC".
9955         Reported by Gary V. Vaughan <gary@gnu.org>.
9956
9957 2011-09-30  Bruno Haible  <bruno@clisp.org>
9958
9959         Centralize C99 requirement.
9960         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
9961         * modules/stdarg (configure.ac-early): Invoke it instead of
9962         AC_PROG_CC_STDC.
9963         Reported by Gary V. Vaughan and Paul Eggert.
9964
9965 2011-09-29  Bruno Haible  <bruno@clisp.org>
9966
9967         float: Fix LDBL_MAX value on Linux/PowerPC.
9968         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
9969         on Linux/PowerPC.
9970         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
9971         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
9972         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
9973         platform.
9974         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
9975
9976 2011-09-29  Bruno Haible  <bruno@clisp.org>
9977
9978         doc: Improve doc about gl_EARLY.
9979         * doc/gnulib-tool.texi (Initial import): Mention where to place an
9980         AC_PROG_CC_STDC invocation.
9981         Reported by Gary V. Vaughan <gary@gnu.org>.
9982
9983 2011-09-28  Bruno Haible  <bruno@clisp.org>
9984
9985         fgetc, fputc, fread, fwrite tests: Fix link error.
9986         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
9987         on non-MSVC platforms.
9988         * tests/test-fputc.c (main): Likewise.
9989         * tests/test-fread.c (main): Likewise.
9990         * tests/test-fwrite.c (main): Likewise.
9991         Reported by Jim Meyering.
9992
9993 2011-09-27  Bruno Haible  <bruno@clisp.org>
9994
9995         fputc, fwrite tests: Avoid test failure on MSVC.
9996         * tests/test-fgetc.c: Include msvc-inval.h.
9997         (main): Invoke gl_msvc_inval_ensure_handler.
9998         * tests/test-fputc.c: Include msvc-inval.h.
9999         (main): Invoke gl_msvc_inval_ensure_handler.
10000         * tests/test-fread.c: Include msvc-inval.h.
10001         (main): Invoke gl_msvc_inval_ensure_handler.
10002         * tests/test-fwrite.c: Include msvc-inval.h.
10003         (main): Invoke gl_msvc_inval_ensure_handler.
10004         * modules/fgetc-tests (Depends-on): Add msvc-inval.
10005         * modules/fputc-tests (Depends-on): Likewise.
10006         * modules/fread-tests (Depends-on): Likewise.
10007         * modules/fwrite-tests (Depends-on): Likewise.
10008
10009 2011-09-27  Bruno Haible  <bruno@clisp.org>
10010
10011         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
10012         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
10013         (raise): Remove older, duplicated declaration.
10014         (_gl_raise_SIGPIPE): New declaration.
10015         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
10016         (rpl_raise): Remove function.
10017         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
10018         a gnulib-defined SIGPIPE here.
10019         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
10020         'sigprocmask' has detected missing signal-blocking and the module
10021         'sigpipe' is enabled.
10022         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10023
10024 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
10025
10026         base64-tests: avoid memory leak
10027         * tests/test-base64.c (main): Plug memory leak.
10028
10029         base32: new module
10030         * modules/base32: New module.
10031         * lib/base32.c: New file.
10032         * lib/base32.h: Likewise.
10033         * m4/base32.m4: Likewise.
10034         * modules/base32-tests: New test.
10035         * tests/test-base32.c: Likewise.
10036         * MODULES.html.sh (Misc): Mention it.
10037
10038 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10039
10040         gnulib: use more-standard license notice wording
10041         * gnulib-tool (func_emit_copyright_notice): When emitting a
10042         license notice into a file, use the standard wording as suggested
10043         by the current information for GNU maintainers, except say "file"
10044         rather than "program".  The new wording gives a license version
10045         number, which addresses an issue raised by Glenn Morris in
10046         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
10047         * m4/onceonly.m4: Use that same wording here, too.
10048
10049         dup2: minor simplification
10050         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
10051         as lib/dup2.c no longer uses 'inline'.
10052
10053 2011-09-25  Bruno Haible  <bruno@clisp.org>
10054
10055         strings: Fix compilation error on MSVC.
10056         * lib/strings.in.h: Include <stddef.h> for size_t.
10057
10058 2011-09-25  Bruno Haible  <bruno@clisp.org>
10059
10060         fflush et al.: Document limitation on MSVC.
10061         * doc/posix-functions/fflush.texi: Document possible crash in handling
10062         mode other than DEFAULT_HANDLING.
10063         * doc/posix-functions/fgetc.texi: Likewise.
10064         * doc/posix-functions/fputc.texi: Likewise.
10065         * doc/posix-functions/fread.texi: Likewise.
10066         * doc/posix-functions/fwrite.texi: Likewise.
10067
10068 2011-09-25  Bruno Haible  <bruno@clisp.org>
10069
10070         msvc-inval: Allow three invalid parameter handling modes.
10071         * lib/msvc-inval.h: Don't include <stdlib.h> here.
10072         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
10073         macros.
10074         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
10075         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
10076         SANE_LIBRARY_HANDLING as a no-op.
10077         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
10078         <stdlib.h>.
10079         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
10080
10081 2011-09-25  Bruno Haible  <bruno@clisp.org>
10082
10083         msvc-inval: Make handler multithread-safe.
10084         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
10085         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
10086         declarations.
10087         (gl_msvc_inval_current): New declaration.
10088         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10089         Operate on the structure returned by gl_msvc_inval_current().
10090         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
10091         Remove varaiables.
10092         (tls_index, tls_initialized): New variables.
10093         (not_per_thread): New variable.
10094         (gl_msvc_inval_current): New function.
10095         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
10096         returned by gl_msvc_inval_current().
10097
10098 2011-09-25  Bruno Haible  <bruno@clisp.org>
10099
10100         msvc-inval: Install handler globally.
10101         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
10102         !_MSC_VER.
10103         (gl_msvc_invalid_parameter_handler): Remove declaration.
10104         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
10105         declarations.
10106         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10107         Install the handler globally, don't uninstall it.
10108         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
10109         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
10110         currently valid, call RaiseException instead.
10111         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
10112         for !_MSC_VER.
10113
10114 2011-09-25  Bruno Haible  <bruno@clisp.org>
10115
10116         strerror_r-posix: Fix for MSVC 9.
10117         * lib/strerror_r.c (local_snprintf): New function.
10118         (snprintf): Define to local_snprintf, not to _snprintf.
10119
10120 2011-09-25  Bruno Haible  <bruno@clisp.org>
10121
10122         ftruncate: Support for MSVC 9.
10123         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
10124         (chsize_nothrow): New function.
10125         (chsize): Redefine as a macro.
10126         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
10127         * modules/ftruncate (Depends-on): Add msvc-inval.
10128
10129 2011-09-25  Bruno Haible  <bruno@clisp.org>
10130
10131         New module 'fstat'.
10132         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
10133         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
10134         * lib/fchdir.c (rpl_fstat): Remove function.
10135         * m4/fstat.m4: New file.
10136         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
10137         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
10138         declared.
10139         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
10140         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
10141         * modules/fstat: New file.
10142         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
10143         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
10144         is set.
10145         * doc/posix-functions/fstat.texi: Mention the new module and the
10146         problem on MSVC.
10147         * NEWS: Mention the change.
10148         * modules/acl (Depends-on): Add fstat.
10149         * modules/chdir-safer (Depends-on): Likewise.
10150         * modules/chown (Depends-on): Likewise.
10151         * modules/copy-file (Depends-on): Likewise.
10152         * modules/fchdir (Depends-on): Likewise.
10153         * modules/fdopendir (Depends-on): Likewise.
10154         * modules/fopen (Depends-on): Likewise.
10155         * modules/fts (Depends-on): Likewise.
10156         * modules/getcwd (Depends-on): Likewise.
10157         * modules/isapipe (Depends-on): Likewise.
10158         * modules/linkat (Depends-on): Likewise.
10159         * modules/lseek (Depends-on): Likewise.
10160         * modules/mkdir-p (Depends-on): Likewise.
10161         * modules/open (Depends-on): Likewise.
10162         * modules/openat (Depends-on): Likewise.
10163         * modules/read-file (Depends-on): Likewise.
10164         * modules/renameat (Depends-on): Likewise.
10165         * modules/utimens (Depends-on): Likewise.
10166
10167 2011-09-25  Bruno Haible  <bruno@clisp.org>
10168
10169         linkat: Fix compilation on MSVC 9.
10170         * lib/linkat.c: Don't include <stdint.h>.
10171
10172 2011-09-25  Bruno Haible  <bruno@clisp.org>
10173
10174         fclose: Support for MSVC 9.
10175         * lib/fclose.c: Include msvc-inval.h.
10176         (fclose_nothrow): New function.
10177         (rpl_fclose): Use it.
10178         * modules/fclose (Depends-on): Add msvc-inval.
10179         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
10180
10181 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10182
10183         dup2: minor simplifications
10184         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
10185         that it's a performance win.
10186         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
10187         ! defined __CYGWIN__)" to "ifdef F_GETFL".
10188
10189 2011-09-24  Jim Meyering  <meyering@redhat.com>
10190
10191         test-futimens: avoid a warning from gcc -Wshadow
10192         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
10193         to avoid a shadowing warning.
10194
10195 2011-09-24  Bruno Haible  <bruno@clisp.org>
10196
10197         fdopen: Support for MSVC 9.
10198         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
10199         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
10200         * lib/fdopen.c: Include msvc-inval.h.
10201         (fdopen_nothrow): New function.
10202         (rpl_fdopen): Use it.
10203         * modules/fdopen (Depends-on): Add msvc-inval.
10204         * modules/fclose-tests (Depends-on): Add fdopen.
10205         * modules/fflush-tests (Depends-on): Likewise.
10206         * modules/fgetc-tests (Depends-on): Likewise.
10207         * modules/fputc-tests (Depends-on): Likewise.
10208         * modules/fread-tests (Depends-on): Likewise.
10209         * modules/freopen-tests (Depends-on): Likewise.
10210         * modules/fseeko-tests (Depends-on): Likewise.
10211         * modules/ftello-tests (Depends-on): Likewise.
10212         * modules/fwrite-tests  (Depends-on): Likewise.
10213         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
10214
10215 2011-09-24  Bruno Haible  <bruno@clisp.org>
10216
10217         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
10218         * modules/fgetc-tests (Depends-on): Add unistd.
10219         * modules/fputc-tests (Depends-on): Likewise.
10220         * modules/fread-tests (Depends-on): Likewise.
10221         * modules/fwrite-tests (Depends-on): Likewise.
10222
10223 2011-09-24  Bruno Haible  <bruno@clisp.org>
10224
10225         dup: Simplify autoconf test.
10226         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
10227         on gl_MSVC_INVAL's result.
10228
10229 2011-09-24  Bruno Haible  <bruno@clisp.org>
10230
10231         Tests for function fwrite().
10232         * modules/fwrite-tests: New file.
10233         * tests/test-fwrite.c: New file.
10234         * modules/stdio-tests (Depends-on): Add fwrite-tests.
10235
10236         Tests for function fread().
10237         * modules/fread-tests: New file.
10238         * tests/test-fread.c: New file.
10239         * modules/stdio-tests (Depends-on): Add fread-tests.
10240
10241         Activate fputc tests.
10242         * modules/stdio-tests (Depends-on): Add fputc-tests.
10243
10244         Enhance fgetc, fputc tests.
10245         * tests/test-fgetc.c (main): Also test the stream's error indicator.
10246         * tests/test-fputc.c (main): Likewise.
10247
10248 2011-09-24  Bruno Haible  <bruno@clisp.org>
10249
10250         write: Support for MSVC 9.
10251         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10252         is not 1.
10253         * lib/write.c (write_nothrow): New function.
10254         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
10255         not 1. Use write_nothrow.
10256         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
10257         invalid parameter handler.
10258         (gl_PREREQ_WRITE): New macro.
10259         * modules/write (Depends-on): Add msvc-inval.
10260         (configure.ac): Invoke gl_PREREQ_WRITE.
10261         * doc/posix-functions/write.texi: Mention the problem on MSVC.
10262
10263 2011-09-24  Bruno Haible  <bruno@clisp.org>
10264
10265         read: Fix last commit.
10266         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
10267
10268 2011-09-24  Bruno Haible  <bruno@clisp.org>
10269
10270         dup2: Fix last commit.
10271         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
10272         (rpl_dup2): Disable fcntl workaround on native Windows.
10273
10274         sigprocmask: Make code safer.
10275         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
10276         section that changes macro definitions for this compilation unit.
10277
10278 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10279
10280         dup2: clarify by coalescing Windows-specific material
10281         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
10282         "msvc-nothrow.h"' to the Windows-specific section, so that the
10283         Emacs source need not contain these include files.
10284         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
10285         Windows-specific fixes into this function rather than just the
10286         nothrow fix, as this shortens and clarifies the code.  Always
10287         define as a function, as that's a bit cleaner than having it be
10288         sometimes a function and sometimes a macro.
10289         (rpl_dup2): Move the Windows-specific stuff out of here and into
10290         ms_windows_dup2.  Don't protect the Haiku-related fix with
10291         "#if !defined __linux__", as the same code also works around
10292         a Linux kernel bug, and it doesn't add any system calls on any
10293         platform.  Add comment about FreeBSD 6.1.
10294
10295         sigprocmask: move #include directive
10296         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
10297         Windows-specific section, so that the Emacs source need not
10298         contain msvc-inval.h.
10299
10300 2011-09-23  Bruno Haible  <bruno@clisp.org>
10301
10302         read: Support for MSVC 9.
10303         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10304         is not 1.
10305         * lib/read.c (read_nothrow): New function.
10306         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
10307         read_nothrow.
10308         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
10309         invalid parameter handler.
10310         (gl_PREREQ_READ): New macro.
10311         * modules/read (Depends-on): Add msvc-inval.
10312         (configure.ac): Invoke gl_PREREQ_READ.
10313         * doc/posix-functions/read.texi: Mention the problem on MSVC.
10314
10315 2011-09-23  Bruno Haible  <bruno@clisp.org>
10316
10317         close: Support for MSVC 9.
10318         * lib/close.c: Include <errno.h>, msvc-inval.h.
10319         (close_nothrow): New function.
10320         (rpl_close): Use it.
10321         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
10322         invalid parameter handler.
10323         * modules/close (Depends-on): Add msvc-inval.
10324         * modules/dup2-tests (Depends-on): Add close.
10325         * modules/dup3-tests (Depends-on): Likewise.
10326         * modules/fcntl-tests (Depends-on): Likewise.
10327         * modules/spawn-pipe-tests (Depends-on): Likewise.
10328         * modules/unistd-safer-tests (Depends-on): Likewise.
10329         * doc/posix-functions/close.texi: Mention the problem on MSVC.
10330
10331 2011-09-23  Bruno Haible  <bruno@clisp.org>
10332
10333         New module 'dup'.
10334         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
10335         Allow replacement.
10336         * lib/dup.c: New file.
10337         * lib/fchdir.c (rpl_dup): Remove function.
10338         * m4/dup.m4: New file.
10339         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
10340         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
10341         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
10342         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
10343         * modules/dup: New file.
10344         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
10345         'dup' module is in use.
10346         * modules/fdopendir (Depends-on): Add dup.
10347         * modules/fdutimensat-tests (Depends-on): Likewise.
10348         * modules/fts (Depends-on): Likewise.
10349         * modules/futimens-tests (Depends-on): Likewise.
10350         * modules/posix_spawnp-tests (Depends-on): Likewise.
10351         * modules/unistd-safer-tests (Depends-on): Likewise.
10352         * modules/utimens-tests (Depends-on): Likewise.
10353         * doc/posix-functions/dup.texi: Mention the new module and the problem
10354         on MSVC.
10355
10356 2011-09-23  Bruno Haible  <bruno@clisp.org>
10357
10358         getdtablesize: Support for MSVC 9.
10359         * lib/getdtablesize.c: Include msvc-inval.h.
10360         (_setmaxstdio_nothrow): New function.
10361         (_setmaxstdio): Redefine it.
10362         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
10363         * modules/getdtablesize (Depends-on): Add msvc-inval.
10364         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
10365
10366 2011-09-23  Bruno Haible  <bruno@clisp.org>
10367
10368         signal-h: Rename from signal.
10369         * modules/signal-h: Renamed from modules/signal.
10370         * modules/pthread_sigmask (Depends-on): Update.
10371         * modules/raise (Depends-on): Likewise.
10372         * modules/sigaction (Depends-on): Likewise.
10373         * modules/sigpipe (Depends-on): Likewise.
10374         * modules/sigprocmask (Depends-on): Likewise.
10375         * modules/sys_select (Depends-on): Likewise.
10376         * modules/signal-h-tests: Renamed from modules/signal-tests.
10377         (Files, Depends-on, Makefile.am): Update.
10378         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
10379         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
10380         (Files, Makefile.am): Update.
10381         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
10382         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
10383         * modules/signal: New placeholder file.
10384         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
10385         * doc/posix-headers/signal.texi: Update.
10386         * NEWS: Mention the change.
10387
10388 2011-09-23  Bruno Haible  <bruno@clisp.org>
10389
10390         sigprocmask: Avoid crashes through signal() on MSVC 9.
10391         * lib/sigprocmask.c: Include msvc-inval.h.
10392         (signal_nothrow): New function.
10393         (signal): Redefine it.
10394         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
10395         * modules/sigprocmask (Depends-on): Add msvc-inval.
10396         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
10397
10398 2011-09-23  Bruno Haible  <bruno@clisp.org>
10399
10400         Tests for module 'raise'.
10401         * modules/raise-tests: New file.
10402         * tests/test-raise.c: New file.
10403
10404         raise: Support for MSVC.
10405         * lib/signal.in.h (raise): New declaration.
10406         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
10407         for native Windows platforms.
10408         * m4/raise.m4: New file.
10409         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
10410         HAVE_RAISE, REPLACE_RAISE.
10411         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
10412         REPLACE_RAISE.
10413         * modules/raise (Status, Notice): Remove fields.
10414         (Files): Add m4/raise.m4.
10415         (Depends-on): Add signal, msvc-inval.
10416         (configure.ac): Use the common idioms.
10417         (Maintainer): Add me.
10418         * tests/test-signal-c++.cc: Check the signature of raise.
10419         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
10420
10421 2011-09-23  Bruno Haible  <bruno@clisp.org>
10422
10423         pipe2: Fix compilation on pre-C99 compilers.
10424         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
10425
10426 2011-09-23  Bruno Haible  <bruno@clisp.org>
10427
10428         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
10429         * lib/msvc-nothrow.h: New file.
10430         * lib/msvc-nothrow.c: New file.
10431         * m4/msvc-nothrow.m4: New file.
10432         * modules/msvc-nothrow: New file.
10433         * lib/dup2.c: Include msvc-nothrow.h.
10434         (rpl_dup2): No need to protect _get_osfhandle call here.
10435         * lib/accept4.c: Include msvc-nothrow.h.
10436         * lib/error.c: Likewise.
10437         * lib/fcntl.c: Likewise.
10438         * lib/lseek.c: Likewise.
10439         * lib/nonblocking.c: Likewise.
10440         * lib/poll.c: Likewise.
10441         * lib/read.c: Likewise.
10442         * lib/select.c: Likewise.
10443         * lib/sockets.h: Likewise.
10444         * lib/sockets.c: Likewise.
10445         * lib/stdio-read.c: Likewise.
10446         * lib/stdio-write.c: Likewise.
10447         * lib/write.c: Likewise.
10448         * lib/w32sock.h: Likewise.
10449         * lib/w32spawn.h: Likewise.
10450         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
10451         * lib/fsync.c: Likewise.
10452         * lib/isapipe.c: Likewise.
10453         * modules/dup2 (Depends-on): Add msvc-nothrow.
10454         * modules/accept4 (Depends-on): Likewise.
10455         * modules/error (Depends-on): Likewise.
10456         * modules/fcntl (Depends-on): Likewise.
10457         * modules/lseek (Depends-on): Likewise.
10458         * modules/nonblocking (Depends-on): Likewise.
10459         * modules/poll (Depends-on): Likewise.
10460         * modules/read (Depends-on): Likewise.
10461         * modules/select (Depends-on): Likewise.
10462         * modules/sockets (Depends-on): Likewise.
10463         * modules/sigpipe (Depends-on): Likewise.
10464         * modules/write (Depends-on): Likewise.
10465         * modules/accept (Depends-on): Likewise.
10466         * modules/bind (Depends-on): Likewise.
10467         * modules/connect (Depends-on): Likewise.
10468         * modules/gethostname (Depends-on): Likewise.
10469         * modules/getpeername (Depends-on): Likewise.
10470         * modules/getsockname (Depends-on): Likewise.
10471         * modules/getsockopt (Depends-on): Likewise.
10472         * modules/ioctl (Depends-on): Likewise.
10473         * modules/listen (Depends-on): Likewise.
10474         * modules/recv (Depends-on): Likewise.
10475         * modules/recvfrom (Depends-on): Likewise.
10476         * modules/send (Depends-on): Likewise.
10477         * modules/sendto (Depends-on): Likewise.
10478         * modules/setsockopt (Depends-on): Likewise.
10479         * modules/shutdown (Depends-on): Likewise.
10480         * modules/socket (Depends-on): Likewise.
10481         * modules/execute (Depends-on): Likewise.
10482         * modules/spawn-pipe (Depends-on): Likewise.
10483         * modules/flock (Depends-on): Likewise.
10484         * modules/fsync (Depends-on): Likewise.
10485         * modules/isapipe (Depends-on): Likewise.
10486         * tests/test-cloexec.c: Include msvc-nothrow.h.
10487         * tests/test-dup-safer.c: Likewise.
10488         * tests/test-dup2.c: Likewise.
10489         * tests/test-dup3.c: Likewise.
10490         * tests/test-fcntl.c: Likewise.
10491         * tests/test-pipe.c: Likewise.
10492         * tests/test-pipe2.c: Likewise.
10493         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
10494         * modules/unistd-safer-tests (Depends-on): Likewise.
10495         * modules/dup2-tests (Depends-on): Likewise.
10496         * modules/dup3-tests (Depends-on): Likewise.
10497         * modules/fcntl-tests (Depends-on): Likewise.
10498         * modules/pipe-posix-tests (Depends-on): Likewise.
10499         * modules/pipe2-tests (Depends-on): Likewise.
10500
10501 2011-09-23  Bruno Haible  <bruno@clisp.org>
10502
10503         dup2: Make code more maintainable.
10504         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
10505         (rpl_dup2): Use it.
10506         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
10507         * modules/dup2 (configure.ac): Invoke it.
10508         Reported by Paul Eggert.
10509
10510 2011-09-23  Bruno Haible  <bruno@clisp.org>
10511
10512         msvc-inval: Fix compilation error.
10513         * lib/msvc-inval.h: Include <excpt.h>.
10514
10515 2011-09-23  Bruno Haible  <bruno@clisp.org>
10516
10517         mkdir: Tweak for MSVC 9.
10518         * lib/sys_stat.in.h: Update comments.
10519         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
10520
10521         Tests for module 'chdir'.
10522         * modules/chdir-tests: New file.
10523         * tests/test-chdir.c: New file.
10524
10525         New module 'chdir'.
10526         * modules/chdir: New file.
10527         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
10528         (chdir): New declaration.
10529         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
10530         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
10531         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
10532         * tests/test-unistd-c++.cc: Check signature of chdir.
10533         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
10534         * modules/chdir-long (Depends-on): Add chdir.
10535         * modules/fchdir (Depends-on): Likewise.
10536         * modules/rename (Depends-on): Likewise.
10537         * modules/savewd (Depends-on): Likewise.
10538
10539         rmdir: Support for mingw, MSVC 9.
10540         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
10541         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
10542
10543         getcwd: Tweak for MSVC 9.
10544         * lib/unistd.in.h: Update comments.
10545         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
10546
10547 2011-09-22  Bruno Haible  <bruno@clisp.org>
10548
10549         strerror_r-posix: Avoid a link error on MSVC.
10550         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
10551         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
10552
10553 2011-09-22  Bruno Haible  <bruno@clisp.org>
10554
10555         select: Avoid link errors on MSVC.
10556         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
10557         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
10558         * modules/pselect (Link): Likewise.
10559         * NEWS: Mention the change.
10560         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
10561         test-select-stdin against $(LIB_SELECT).
10562         * modules/pselect-tests (Makefile.am): Link test-pselect against
10563         $(LIB_SELECT).
10564
10565 2011-09-22  Bruno Haible  <bruno@clisp.org>
10566
10567         select: Avoid compilation error on MSVC.
10568         * lib/select.c: Don't include <stdbool.h>.
10569
10570 2011-09-21  Bruno Haible  <bruno@clisp.org>
10571
10572         Consolidate all uses of PATH_MAX in *.m4 files.
10573         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
10574         macros.
10575         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
10576         and gl_PATHMAX_SNIPPET.
10577         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10578         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10579         * modules/chdir-long (Files): Add m4/pathmax.m4.
10580         * modules/getcwd (Files): Likewise.
10581
10582 2011-09-21  Bruno Haible  <bruno@clisp.org>
10583
10584         ftruncate: Un-deprecate, concentrate on Win32 support.
10585         * modules/ftruncate (Status, Notice): Remove sections.
10586         (Depends-on): Add largefile.
10587         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
10588         non-mingw platforms.
10589         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
10590         include <io.h>.
10591         * modules/perror-tests (Depends-on): Add ftruncate.
10592         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
10593         'ftruncate' module.
10594
10595 2011-09-21  Bruno Haible  <bruno@clisp.org>
10596
10597         Add dependencies to new dirent related modules.
10598         * modules/opendir (Depends-on): Add closedir.
10599         * modules/getcwd (Depends-on): Add opendir, closedir.
10600         * modules/dirent-safer-tests (Depends-on): Likewise.
10601         * modules/fdopendir-tests (Depends-on): Likewise.
10602         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
10603         * modules/renameat-tests (Depends-on): Likewise.
10604
10605 2011-09-21  Bruno Haible  <bruno@clisp.org>
10606
10607         opendir: Avoid compilation error on mingw.
10608         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
10609         * modules/opendir (Depends-on): Add unistd.
10610
10611 2011-09-21  Bruno Haible  <bruno@clisp.org>
10612
10613         ftruncate tests: Avoid a test failure on mingw.
10614         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
10615
10616 2011-09-21  Bruno Haible  <bruno@clisp.org>
10617
10618         select tests: Avoid test failures on OSF/1 5.1 and mingw.
10619         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
10620         native Windows.
10621
10622 2011-09-21  Bruno Haible  <bruno@clisp.org>
10623
10624         New module 'fdopen'.
10625         * lib/stdio.in.h (fdopen): New declaration.
10626         * lib/fdopen.c: New file.
10627         * m4/fdopen.m4: New file.
10628         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
10629         REPLACE_FDOPEN.
10630         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
10631         REPLACE_FDOPEN.
10632         * modules/fdopen: New file.
10633         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
10634         * tests/test-stdio-c++.cc: Check signature of fdopen.
10635         * doc/posix-functions/fdopen.texi: Mention the new module.
10636
10637 2011-09-21  Bruno Haible  <bruno@clisp.org>
10638
10639         unlockpt tests: Avoid test failure on NetBSD 5.1.
10640         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
10641         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
10642
10643 2011-09-21  Bruno Haible  <bruno@clisp.org>
10644
10645         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
10646         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
10647         * tests/test-getlogin_r.c (main): Likewise.
10648
10649 2011-09-20  Bruno Haible  <bruno@clisp.org>
10650
10651         time tests: Don't require pid_t.
10652         * doc/posix-headers/time.texi: Revert last change.
10653         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
10654         * tests/test-time.c: Comment out the check for pid_t.
10655
10656 2011-09-20  Bruno Haible  <bruno@clisp.org>
10657
10658         fsync tests: Avoid a test failure on mingw.
10659         * tests/test-fsync.c (main): Allow a failure with EIO.
10660
10661 2011-09-20  Bruno Haible  <bruno@clisp.org>
10662
10663         euidaccess: Update comments.
10664         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
10665
10666 2011-09-20  Bruno Haible  <bruno@clisp.org>
10667
10668         Ensure EBADF returns for socket functions on mingw.
10669         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
10670         descriptor is invalid.
10671         * lib/bind.c (rpl_bind): Likewise.
10672         * lib/connect.c (rpl_connect): Likewise.
10673         * lib/getpeername.c (rpl_getpeername): Likewise.
10674         * lib/getsockname.c (rpl_getsockname): Likewise.
10675         * lib/getsockopt.c (rpl_getsockopt): Likewise.
10676         * lib/listen.c (rpl_listen): Likewise.
10677         * lib/recv.c (rpl_recv): Likewise.
10678         * lib/recvfrom.c (rpl_recvfrom): Likewise.
10679         * lib/send.c (rpl_send): Likewise.
10680         * lib/sendto.c (rpl_sendto): Likewise.
10681         * lib/setsockopt.c (rpl_setsockopt): Likewise.
10682         * lib/shutdown.c (rpl_shutdown): Likewise.
10683
10684 2011-09-20  Bruno Haible  <bruno@clisp.org>
10685
10686         select tests: EBADF tests.
10687         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
10688         test_bad_fd): New functions.
10689         (test_function): Invoke also test_bad_fd.
10690
10691 2011-09-20  Bruno Haible  <bruno@clisp.org>
10692
10693         Tests for module 'posix_spawn_file_actions_addopen.
10694         * modules/posix_spawn_file_actions_addopen-tests: New file.
10695         * tests/test-posix_spawn_file_actions_addopen.c: New file.
10696
10697         Tests for module 'posix_spawn_file_actions_adddup2'.
10698         * modules/posix_spawn_file_actions_adddup2-tests: New file.
10699         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
10700
10701         Tests for module 'posix_spawn_file_actions_addclose'.
10702         * modules/posix_spawn_file_actions_addclose-tests: New file.
10703         * tests/test-posix_spawn_file_actions_addclose.c: New file.
10704
10705 2011-09-20  Bruno Haible  <bruno@clisp.org>
10706
10707         Tests for module 'unlockpt'.
10708         * modules/unlockpt-tests: New file.
10709         * tests/test-unlockpt.c: New file.
10710         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
10711
10712         Tests for module 'grantpt'.
10713         * modules/grantpt-tests: New file.
10714         * tests/test-grantpt.c: New file.
10715         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
10716
10717 2011-09-20  Bruno Haible  <bruno@clisp.org>
10718
10719         freopen tests: EBADF tests.
10720         * tests/test-freopen.c: Include errno.h, unistd.h.
10721         (main): Add tests for EBADF, commented out for the moment.
10722
10723         fclose tests: EBADF tests.
10724         * tests/test-fclose.c (main): Add tests for EBADF.
10725
10726         fflush tests: EBADF tests.
10727         * tests/test-fflush.c: Include errno.h, macros.h.
10728         (main): Add tests for EBADF.
10729
10730         ftello tests: EBADF tests.
10731         * tests/test-ftello4.sh: New file.
10732         * tests/test-ftello4.c: New file.
10733         * modules/ftello-tests (Files): Add them.
10734         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
10735
10736         fseeko tests: EBADF tests.
10737         * tests/test-fseeko4.sh: New file.
10738         * tests/test-fseeko4.c: New file.
10739         * modules/fseeko-tests (Files): Add them.
10740         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
10741
10742         Tests for function fputc().
10743         * modules/fputc-tests: New file.
10744         * tests/test-fputc.c: New file.
10745         * modules/stdio-tests (Depends-on): Add fputc-tests.
10746
10747         Tests for function fgetc().
10748         * modules/fgetc-tests: New file.
10749         * tests/test-fgetc.c: New file.
10750         * modules/stdio-tests (Depends-on): Add fgetc-tests.
10751
10752         Tests for function fdopen().
10753         * modules/fdopen-tests: New file.
10754         * tests/test-fdopen.c: New file.
10755         * modules/stdio-tests (Depends-on): Add fdopen-tests.
10756
10757         Tests for module 'vdprintf'.
10758         * modules/vdprintf-tests: New file.
10759         * tests/test-vdprintf.c: New file.
10760
10761         Tests for module 'dprintf'.
10762         * modules/dprintf-tests: New file.
10763         * tests/test-dprintf.c: New file.
10764
10765 2011-09-20  Bruno Haible  <bruno@clisp.org>
10766
10767         Tests for module 'ioctl'.
10768         * modules/ioctl-tests: New file.
10769         * tests/test-ioctl.c: New file.
10770
10771 2011-09-20  Bruno Haible  <bruno@clisp.org>
10772
10773         fcntl tests: EBADF tests.
10774         * tests/test-fcntl.c (main): Add more tests for EBADF.
10775
10776 2011-09-20  Bruno Haible  <bruno@clisp.org>
10777
10778         utimensat tests: EBADF tests.
10779         * tests/test-utimensat.c (main): Add tests for EBADF.
10780
10781         renameat tests: EBADF tests.
10782         * tests/test-renameat.c (main): Add tests for EBADF.
10783
10784         mkfifoat tests: EBADF tests.
10785         * tests/test-mkfifoat.c (main): Add tests for EBADF.
10786
10787         readlinkat tests: EBADF tests.
10788         * tests/test-readlinkat.c (main): Add tests for EBADF.
10789
10790         symlinkat tests: EBADF tests.
10791         * tests/test-symlinkat.c (main): Add tests for EBADF.
10792
10793         linkat tests: EBADF tests.
10794         * tests/test-linkat.c (main): Add tests for EBADF.
10795
10796         Tests for module 'faccessat'.
10797         * modules/faccessat-tests: New file.
10798         * tests/test-faccessat.c: New file.
10799
10800         fdopendir tests: EBADF tests.
10801         * tests/test-fdopendir.c (main): Add more tests for EBADF.
10802
10803         openat tests: EBADF tests.
10804         * tests/test-fchownat.c (main): Add tests for EBADF.
10805         * tests/test-fstatat.c (main): Likewise.
10806         * tests/test-mkdirat.c (main): Likewise.
10807         * tests/test-openat.c (main): Likewise.
10808         * tests/test-unlinkat.c (main): Likewise.
10809         * tests/test-fchmodat.c: New file.
10810         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
10811         (Makefile.am): Also run 'test-fchmodat'.
10812
10813 2011-09-20  Bruno Haible  <bruno@clisp.org>
10814
10815         utimens, futimens, fdutimensat tests: EBADF tests.
10816         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
10817
10818         Tests for function fstat().
10819         * modules/fstat-tests: New file.
10820         * tests/test-fstat.c: New file.
10821         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
10822
10823 2011-09-20  Bruno Haible  <bruno@clisp.org>
10824
10825         test-ttyname_r tests: EBADF tests.
10826         * tests/test-ttyname_r.c (main): Add tests for EBADF.
10827
10828         Tests for module 'isatty'.
10829         * modules/isatty-tests: New file.
10830         * tests/test-isatty.c: New file.
10831
10832         Tests for module 'write'.
10833         * modules/write-tests: New file.
10834         * tests/test-write.c: New file.
10835
10836         Tests for module 'read'.
10837         * modules/read-tests: New file.
10838         * tests/test-read.c: New file.
10839
10840         pwrite tests: EBADF tests.
10841         * tests/test-pwrite.c (main): Add tests for EBADF.
10842
10843         pread tests: EBADF tests.
10844         * tests/test-pread.c (main): Add tests for EBADF.
10845
10846         lseek tests: EBADF tests.
10847         * tests/test-lseek.c (main): Add more tests for EBADF.
10848
10849         Tests for module 'ftruncate'.
10850         * modules/ftruncate-tests: New file.
10851         * tests/test-ftruncate.sh: New file.
10852         * tests/test-ftruncate.c: New file.
10853
10854         fsync tests: EBADF tests.
10855         * tests/test-fsync.c (main): Add more tests for EBADF.
10856
10857         fdatasync tests: EBADF tests.
10858         * tests/test-fdatasync.c (main): Add more tests for EBADF.
10859
10860         Tests for module 'fchown'.
10861         * modules/fchown-tests: New file.
10862         * tests/test-fchown.c: New file.
10863
10864         Tests for module 'fchmod'.
10865         * modules/fchmod-tests: New file.
10866         * tests/test-fchmod.c: New file.
10867
10868         fchdir tests: EBADF tests.
10869         * tests/test-fchdir.c (main): Add more tests for EBADF.
10870
10871         dup2 tests: EBADF tests.
10872         * tests/test-dup2.c (main): Add more tests for EBADF.
10873
10874         Tests for module 'dup'.
10875         * modules/dup-tests: New file.
10876         * tests/test-dup.c: New file.
10877
10878         Tests for module 'close'.
10879         * modules/close-tests: New file.
10880         * tests/test-close.c: New file.
10881
10882 2011-09-20  Bruno Haible  <bruno@clisp.org>
10883
10884         Tests for module 'shutdown'.
10885         * modules/shutdown-tests: New file.
10886         * tests/test-shutdown.c: New file.
10887
10888         Tests for module 'setsockopt'.
10889         * modules/setsockopt-tests: New file.
10890         * tests/test-setsockopt.c: New file.
10891
10892         Tests for module 'sendto'.
10893         * modules/sendto-tests: New file.
10894         * tests/test-sendto.c: New file.
10895
10896         Tests for module 'send'.
10897         * modules/send-tests: New file.
10898         * tests/test-send.c: New file.
10899
10900         Tests for module 'recvfrom'.
10901         * modules/recvfrom-tests: New file.
10902         * tests/test-recvfrom.c: New file.
10903
10904         Tests for module 'recv'.
10905         * modules/recv-tests: New file.
10906         * tests/test-recv.c: New file.
10907
10908         Tests for module 'listen'.
10909         * modules/listen-tests: New file.
10910         * tests/test-listen.c: New file.
10911
10912         Tests for module 'getsockopt'.
10913         * modules/getsockopt-tests: New file.
10914         * tests/test-getsockopt.c: New file.
10915
10916         Tests for module 'getsockname'.
10917         * modules/getsockname-tests: New file.
10918         * tests/test-getsockname.c: New file.
10919
10920         Tests for module 'getpeername'.
10921         * modules/getpeername-tests: New file.
10922         * tests/test-getpeername.c: New file.
10923
10924         Tests for module 'connect'.
10925         * modules/connect-tests: New file.
10926         * tests/test-connect.c: New file.
10927
10928         Tests for module 'bind'.
10929         * modules/bind-tests: New file.
10930         * tests/test-bind.c: New file.
10931
10932         accept4 tests: Fix for native Windows.
10933         * tests/test-accept4.c: Include sockets.h.
10934         (main): Invoke gl_sockets_startup.
10935         * modules/accept4-tests (Depends-on): Add sockets.
10936
10937         accept tests: Fix for native Windows.
10938         * tests/test-accept.c: Include sockets.h.
10939         (main): Invoke gl_sockets_startup.
10940         * modules/accept-tests (Depends-on): Add sockets.
10941
10942 2011-09-19  Bruno Haible  <bruno@clisp.org>
10943
10944         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
10945         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
10946         do...while(0).
10947         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
10948         Suggested by Paul Eggert.
10949
10950 2011-09-19  Bruno Haible  <bruno@clisp.org>
10951
10952         sched: Ensure pid_t is defined.
10953         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
10954         not define pid_t.
10955         * lib/sched.in.h: Include <sys/types.h>.
10956         * doc/posix-headers/sched.texi: Mention the pid_t problem.
10957         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10958
10959 2011-09-19  Bruno Haible  <bruno@clisp.org>
10960
10961         msvc-inval: Ensure the entire expansion is a single statement.
10962         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
10963         of braces.
10964
10965 2011-09-19  Jim Meyering  <meyering@redhat.com>
10966
10967         tests: use printf, not echo in init.sh's warn_ function
10968         * tests/init.sh (warn_): Use printf, not echo.  The latter would
10969         misbehave when given strings containing a backslash or starting
10970         with e.g., -n.  James Youngman suggested setting IFS.
10971
10972 2011-09-19  Eric Blake  <eblake@redhat.com>
10973
10974         futimens: enhance test
10975         * tests/test-futimens.h (test_futimens): Also check for EBADF on
10976         closed non-negative fd.
10977
10978         date: accept 'hence' as opposite of 'ago'
10979         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
10980         * tests/test-parse-datetime.c (main): Enhance test.
10981         Suggested by Jesse Wilson.
10982
10983 2011-09-19  Jim Meyering  <meyering@redhat.com>
10984
10985         getcwd: don't fail in a deep directory on a system without openat
10986         Before this change, getcwd would fail when called from a directory
10987         of depth PATH_MAX / 3 or greater.  That was due to the fact that
10988         the non-openat implementation used "..", "../..", "../../..", etc.
10989         to access ancestor directories.  With too many, that string would
10990         be longer than PATH_MAX.
10991         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
10992         using gnulib's openat replacement.
10993         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
10994         we're using the replacement function.
10995
10996 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
10997
10998         maint.mk: avoid warnings from perl about missing files
10999         * top/maint.mk (def_sym_regex): Ignore files listed in
11000         $(gl_other_headers_) that do not exist, say because a project
11001         does not use a corresponding module.
11002
11003 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11004
11005         stat: use pathmax.h only if needed
11006         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
11007         This is better for Emacs, which does not have a mingw port and
11008         therefore can avoid the pathmax module.
11009
11010         utimens: remove dependency on dup2
11011         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
11012         to work around the Linux kernel bug.
11013         * modules/utimens (Depends-on): Remove dup2.
11014
11015 2011-09-18  Bruno Haible  <bruno@clisp.org>
11016
11017         inet_ntop, inet_pton: Look for it also in libresolv.
11018         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
11019         libnsl, search for it in libresolv.
11020         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11021         Needed on Solaris 7.
11022
11023 2011-09-18  Bruno Haible  <bruno@clisp.org>
11024
11025         accept, accept4 tests: Avoid link error on Solaris.
11026         * modules/accept-tests (Makefile.am): Link test-accept against
11027         $(LIBSOCKET).
11028         * modules/accept4-tests (Makefile.am): Link test-accept4 against
11029         $(LIBSOCKET).
11030
11031         accept4: Avoid link error on Solaris.
11032         * modules/accept4 (Link): New section.
11033
11034         socket functions: Avoid link errors on Solaris.
11035         * modules/accept (Depends-on): Add socketlib.
11036         (Link): New section.
11037         * modules/bind (Depends-on): Add socketlib.
11038         (Link): New section.
11039         * modules/connect (Depends-on): Add socketlib.
11040         (Link): New section.
11041         * modules/getpeername (Depends-on): Add socketlib.
11042         (Link): New section.
11043         * modules/getsockname (Depends-on): Add socketlib.
11044         (Link): New section.
11045         * modules/getsockopt (Depends-on): Add socketlib.
11046         (Link): New section.
11047         * modules/listen (Depends-on): Add socketlib.
11048         (Link): New section.
11049         * modules/recv (Depends-on): Add socketlib.
11050         (Link): New section.
11051         * modules/recvfrom (Depends-on): Add socketlib.
11052         (Link): New section.
11053         * modules/send (Depends-on): Add socketlib.
11054         (Link): New section.
11055         * modules/sendto (Depends-on): Add socketlib.
11056         (Link): New section.
11057         * modules/setsockopt (Depends-on): Add socketlib.
11058         (Link): New section.
11059         * modules/shutdown (Depends-on): Add socketlib.
11060         (Link): New section.
11061         * modules/socket (Depends-on): Add socketlib.
11062         (Link): New section.
11063
11064 2011-09-18  Bruno Haible  <bruno@clisp.org>
11065
11066         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
11067         * tests/test-ptsname.c (main): Terminate the test if it takes longer
11068         than 5 seconds.
11069         * modules/ptsname-tests (configure.ac): Test for alarm.
11070
11071 2011-09-18  Bruno Haible  <bruno@clisp.org>
11072
11073         posix_spawn_file_actions_add*: Fix module dependencies.
11074         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
11075         posix_spawn_file_actions_init.
11076         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
11077         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
11078
11079 2011-09-18  Bruno Haible  <bruno@clisp.org>
11080
11081         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
11082         * tests/test-rename.h (test_rename): Allow error code EEXIST.
11083         * tests/test-renameat.c (main): Likewise.
11084
11085 2011-09-18  Bruno Haible  <bruno@clisp.org>
11086
11087         Tests for module 'accept4'.
11088         * modules/accept4-tests: New file.
11089         * tests/test-accept4.c: New file.
11090
11091 2011-09-18  Bruno Haible  <bruno@clisp.org>
11092
11093         Tests for module 'accept'.
11094         * modules/accept-tests: New file.
11095         * tests/test-accept.c: New file.
11096
11097 2011-09-18  Bruno Haible  <bruno@clisp.org>
11098
11099         dup2: Support for MSVC.
11100         * lib/dup2.c: Include msvc-inval.h.
11101         (rpl_dup2): Handle invalid parameter notifications during dup2 and
11102         _get_osfhandle calls.
11103         * modules/dup2 (Depends-on): Add msvc-inval.
11104         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
11105
11106         New module 'msvc-inval'.
11107         * lib/msvc-inval.h: New file.
11108         * lib/msvc-inval.c: New file.
11109         * m4/msvc-inval.m4: New file.
11110         * modules/msvc-inval: New file.
11111
11112 2011-09-17  Bruno Haible  <bruno@clisp.org>
11113
11114         Tests for module 'pclose'.
11115         * modules/pclose-tests: New file.
11116
11117         New module 'pclose'.
11118         * lib/stdio.in.h (pclose): New declaration.
11119         * lib/pclose.c: New file.
11120         * m4/pclose.m4: New file.
11121         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
11122         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
11123         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
11124         * modules/pclose: New file.
11125         * modules/popen-tests (Depends-on): Add pclose.
11126         * modules/popen-safer-tests (Depends-on): Likewise.
11127         * doc/posix-functions/pclose.texi: Mention the new module.
11128
11129 2011-09-17  Bruno Haible  <bruno@clisp.org>
11130
11131         popen: Support for MSVC.
11132         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
11133         * lib/popen.c (popen): Provide alternate definition for native Windows.
11134         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
11135         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
11136         * modules/popen (Depends-on, configure.ac): Update condition.
11137         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
11138         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
11139         fixed.
11140
11141 2011-09-17  Bruno Haible  <bruno@clisp.org>
11142
11143         isnanl, isnand, isnanf: Work around MSVC bug.
11144         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
11145
11146 2011-09-17  Bruno Haible  <bruno@clisp.org>
11147
11148         sys_socket tests: Fix recent mistake.
11149         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
11150
11151 2011-09-17  Bruno Haible  <bruno@clisp.org>
11152
11153         putenv: Support for MSVC.
11154         * modules/putenv (Depends-on): Add environ.
11155         * lib/putenv.c (environ): Disable declaration.
11156         * lib/unistd.in.h: Update comment.
11157
11158 2011-09-17  Bruno Haible  <bruno@clisp.org>
11159
11160         math: Avoid macro redefinition warnings on MSVC.
11161         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
11162         Undefine before redefining.
11163
11164 2011-09-17  Bruno Haible  <bruno@clisp.org>
11165
11166         doc: Mention functions which are declared as macros.
11167         * doc/posix-functions/*[fl].texi: Mention that some functions are
11168         defined as macros with arguments only.
11169
11170 2011-09-17  Bruno Haible  <bruno@clisp.org>
11171
11172         Add dependencies to new dirent related modules.
11173         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
11174         * modules/fts (Depends-on): Likewise.
11175         * modules/glob (Depends-on): Likewise.
11176         * modules/savedir (Depends-on): Likewise.
11177         * modules/scandir (Depends-on): Likewise.
11178         * modules/dirent-safer (Depends-on): Add opendir, closedir.
11179         * modules/fdopendir (Depends-on): Add opendir.
11180
11181 2011-09-17  Bruno Haible  <bruno@clisp.org>
11182
11183         inet_pton: Support for MSVC on Windows Vista or newer.
11184         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
11185         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
11186         HAVE_DECL_INET_PTON is defined.
11187         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11188         On platforms with <winsock2.h>, test whether inet_pton is declared in
11189         <ws2tcpip.h>. If so, arrange to replace it.
11190         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11191         REPLACE_INET_PTON.
11192         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
11193         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
11194         (Depends-on, configure.ac): Update condition.
11195         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
11196
11197 2011-09-17  Bruno Haible  <bruno@clisp.org>
11198
11199         inet_ntop: Support for MSVC on Windows Vista or newer.
11200         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
11201         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
11202         HAVE_DECL_INET_NTOP is defined.
11203         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11204         On platforms with <winsock2.h>, test whether inet_ntop is declared in
11205         <ws2tcpip.h>. If so, arrange to replace it.
11206         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11207         REPLACE_INET_NTOP.
11208         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
11209         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
11210         (Depends-on, configure.ac): Update condition.
11211         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
11212
11213 2011-09-16  Eric Blake  <eblake@redhat.com>
11214
11215         test-fsync: yet another enhancement
11216         * tests/test-fsync.c (main): Also test behavior on read-only text
11217         file.
11218
11219 2011-09-16  Bruno Haible  <bruno@clisp.org>
11220
11221         Enhance fsync, fdatasync tests.
11222         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
11223         * tests/test-fdatasync.c (main): Likewise.
11224
11225 2011-09-16  Bruno Haible  <bruno@clisp.org>
11226
11227         Support for MSVC compiler: Ensure mode_t gets defined.
11228         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
11229         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11230         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
11231         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
11232         * tests/test-fcntl-h.c: Check that mode_t is defined.
11233         * tests/test-sys_stat.c: Likewise.
11234         * tests/test-sys_types.c: Likewise.
11235         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
11236         * doc/posix-headers/sys_stat.texi: Likewise.
11237         * doc/posix-headers/sys_types.texi: Likewise.
11238
11239 2011-09-16  Bruno Haible  <bruno@clisp.org>
11240
11241         sys_stat: Support for MSVC.
11242         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
11243         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
11244         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
11245         MSVC.
11246
11247 2011-09-16  Bruno Haible  <bruno@clisp.org>
11248
11249         Support for MSVC compiler: Ensure off_t gets defined.
11250         * lib/unistd.in.h: Include <sys/types.h>.
11251         * tests/test-fcntl-h.c: Check that off_t is defined.
11252         * tests/test-sys_stat.c: Likewise.
11253         * tests/test-sys_types.c: Likewise.
11254
11255 2011-09-16  Eric Blake  <eblake@redhat.com>
11256
11257         fdatasync: port to Solaris
11258         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
11259         * modules/fdatasync (Link): Document it.
11260         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
11261
11262         fdatasync: port to MacOS X 10.7
11263         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
11264         declared.
11265         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
11266         * modules/unistd (Makefile.am): Substitute it.
11267         * lib/unistd.in.h (fdatasync): Declare on MacOS.
11268         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
11269
11270         fdatasync: minor improvements
11271         * modules/fdatasync (Depends-on): Add condition for fsync.
11272         * lib/fdatasync.c (fdatasync): Add comment.
11273         * tests/test-unistd-c++.cc: Test fdatasync.
11274
11275         unistd: update refs to newer POSIX
11276         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
11277         Suggested by Bruno Haible.
11278
11279         fdatasync: new module
11280         * modules/fsync (Description): Document difference to fdatasync.
11281         * modules/fdatasync: New module.
11282         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
11283         * lib/fdatasync.c (fdatasync): Likewise.
11284         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
11285         defaults.
11286         * modules/unistd (Makefile.am): Set witnesses.
11287         * lib/unistd.in.h (fdatasync): Declare.
11288         * MODULES.html.sh: Document it.
11289         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
11290         * modules/fdatasync-tests: New test.
11291         * tests/test-fdatasync.c: Likewise.
11292
11293 2011-09-16  Eric Blake  <eblake@redhat.com>
11294
11295         test-fsync: enhance tests
11296         * modules/fsync-tests (Depends-on): Add errno, for mingw.
11297         * tests/test-fsync.c (main): Enhance test.
11298
11299 2011-09-15  Bruno Haible  <bruno@clisp.org>
11300
11301         Support for MSVC compiler: Ensure ssize_t gets defined.
11302         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
11303         * doc/posix-headers/stdio.texi: Likewise.
11304         * modules/stdio (Depends-on): Add ssize_t.
11305         * modules/sys_socket (Depends-on): Likewise.
11306         * modules/sys_types (Depends-on): Likewise.
11307         * modules/sys_uio (Depends-on): Likewise.
11308         * modules/unistd (Depends-on): Likewise.
11309         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
11310         * tests/test-sys_types.c: Check that ssize_t is defined.
11311
11312 2011-09-14  Bruno Haible  <bruno@clisp.org>
11313
11314         Avoid using #, the m4 comment starter character, near brackets.
11315         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
11316         delimiter character in sed expressions.
11317         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11318         Suggested by Eric Blake.
11319
11320         Properly quote AC_CHECK_DECLS' 4th argument.
11321         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
11322         argument.
11323         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11324         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11325         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11326         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
11327         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
11328         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
11329         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
11330         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
11331         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
11332         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
11333         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
11334         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11335         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
11336         * m4/isinf.m4 (gl_ISINF): Likewise.
11337         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11338         * m4/readutmp.m4 (gl_READUTMP): Likewise.
11339         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
11340         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11341         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11342         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11343         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11344         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11345         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
11346         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11347         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11348         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11349         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
11350         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11352         Reported by Eric Blake.
11353
11354         Properly quote AC_CHECK_DECL's 4th argument.
11355         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
11356         argument.
11357         * m4/argp.m4 (gl_ARGP): Likewise.
11358         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11359         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11360         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11361         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11362         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
11363         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
11364         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
11365         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11366         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11367         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11368         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11369         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11370         Reported by Eric Blake.
11371
11372 2011-09-14  Eric Blake  <eblake@redhat.com>
11373
11374         opendir: avoid compile warning
11375         * lib/opendir.c (includes): Always include errno.h.
11376         Reported by Tatsuro MATSUOKA.
11377
11378 2011-09-14  Jim Meyering  <meyering@redhat.com>
11379
11380         maint.mk: sc_tight_scope: propagate failure from sub-make
11381         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
11382         Reported by Martin von Gagern.
11383
11384 2011-09-13  Bruno Haible  <bruno@clisp.org>
11385
11386         tempname: Support for MSVC.
11387         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
11388         MSVC.
11389         * modules/tempname (Depends-on): Add fcntl-h.
11390
11391 2011-09-13  Bruno Haible  <bruno@clisp.org>
11392
11393         sys_time: Support for MSVC.
11394         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
11395         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
11396         include <winsock2.h>.
11397         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
11398         function declarations that collide with POSIX.
11399         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
11400         (Makefile.am): Substitute HAVE_WINSOCK2_H.
11401
11402 2011-09-13  Bruno Haible  <bruno@clisp.org>
11403
11404         stat: Support for MSVC.
11405         * lib/stat.c: Include pathmax.h.
11406         * modules/stat (Depends-on): Add pathmax.
11407
11408         pathmax: Support for native Windows.
11409         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
11410
11411 2011-09-12  Bruno Haible  <bruno@clisp.org>
11412
11413         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
11414         * lib/dirent.in.h (struct dirent): New type.
11415         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
11416         DT_WHT): New macros.
11417         (DIR): New type.
11418         (opendir, closedir): Declare only if the module 'opendir' is enabled.
11419         (readdir, rewinddir): New declarations.
11420         * lib/dirent-private.h: New file.
11421         * lib/opendir.c: New file.
11422         * lib/readdir.c: New file.
11423         * lib/rewinddir.c: New file.
11424         * lib/closedir.c: New file.
11425         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
11426         * m4/opendir.m4: New file.
11427         * m4/readdir.m4: New file.
11428         * m4/rewinddir.m4: New file.
11429         * m4/closedir.m4: New file.
11430         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
11431         REPLACE_CLOSEDIR here.
11432         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
11433         readdir, rewinddir are declared.
11434         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
11435         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
11436         HAVE_REWINDDIR, HAVE_CLOSEDIR.
11437         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
11438         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
11439         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
11440         * modules/opendir: New file.
11441         * modules/readdir: New file.
11442         * modules/rewinddir: New file.
11443         * modules/closedir: New file.
11444         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
11445         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
11446         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
11447         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
11448         * NEWS: Mention the 'fchdir' change.
11449
11450 2011-09-11  Bruno Haible  <bruno@clisp.org>
11451
11452         asm-underscore.m4: Support for MSVC.
11453         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
11454         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
11455
11456 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
11457
11458         Doc about crypt functions.
11459         * doc/posix-functions/crypt.texi: Expand range of glibc versions
11460         needing for _GNU_SOURCE to get crypt.
11461         * doc/posix-functions/encrypt.texi: Likewise.
11462         * doc/posix-functions/setkey.texi: Likewise.
11463
11464 2011-09-11  Bruno Haible  <bruno@clisp.org>
11465
11466         doc: Update regarding MSVC 9.
11467         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
11468         tested".
11469         * doc/posix-functions/*.texi: Update with info about MSVC 9.
11470         * doc/posix-headers/*.texi: Likewise.
11471         * doc/pastposix-functions/*.texi: Likewise.
11472         * doc/glibc-functions/*.texi: Likewise.
11473         * doc/glibc-headers/*.texi: Likewise.
11474
11475 2011-09-11  Bruno Haible  <bruno@clisp.org>
11476
11477         unistd et al.: Don't assume <unistd.h> exists.
11478         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
11479         does not exist.
11480         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
11481         exist. But include <stdlib.h>.
11482         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
11483         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
11484         symlink() does not exist.
11485         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
11486         include <io.h> instead.
11487         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
11488         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
11489         include <direct.h> instead.
11490         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11491         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11492         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
11493         <io.h> instead.
11494         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
11495         correctly if the system does not have hard links.
11496         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
11497         <direct.h> instead.
11498         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
11499         it when looking for function declarations.
11500         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
11501         <direct.h> and <io.h> instead.
11502         * doc/posix-headers/unistd.texi: More details about MSVC problem.
11503
11504 2011-09-11  Bruno Haible  <bruno@clisp.org>
11505
11506         strcase: Support for MSVC.
11507         * modules/strcase (Status, Notice): Remove obsoletion mark.
11508         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
11509         * doc/posix-functions/strncasecmp.texi: Likewise.
11510
11511         strings: Don't assume <strings.h> exists.
11512         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
11513         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
11514         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
11515         * doc/posix-headers/strings.texi: Mention the MSVC problem.
11516
11517 2011-09-11  Bruno Haible  <bruno@clisp.org>
11518
11519         dirent: Don't assume <dirent.h> exists.
11520         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
11521         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
11522         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
11523         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
11524
11525 2011-09-11  Bruno Haible  <bruno@clisp.org>
11526
11527         Fix wint_t on MSVC.
11528         * lib/wchar.in.h (wint_t): On MSVC, override it.
11529         * lib/wctype.in.h (wint_t): Likewise.
11530         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
11531         MSVC.
11532         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
11533         * doc/posix-headers/wctype.texi: Likewise.
11534
11535 2011-09-11  Bruno Haible  <bruno@clisp.org>
11536
11537         sys_types: Fix typo.
11538         * lib/sys_types.in.h: Fix typo in comment.
11539         Reported by Paul Eggert.
11540
11541         Support for MSVC compiler: Ensure size_t gets defined.
11542         * modules/strings (Depends-on): Add 'sys_types'.
11543         * modules/sys_uio (Depends-on): Likewise.
11544         * lib/sys_uio.in.h: Update comment.
11545
11546         C++ tests for module 'sys_types'.
11547         * modules/sys_types-c++-tests: New file.
11548         * tests/test-sys_types-c++.cc: New file.
11549
11550         Tests for module 'sys_types'.
11551         * modules/sys_types-tests: New file.
11552         * tests/test-sys_types.c: New file.
11553
11554         New module 'sys_types'.
11555         * lib/sys_types.in.h: New file.
11556         * m4/sys_types_h.m4: New file.
11557         * modules/sys_types: New file.
11558         * doc/posix-headers/sys_types.texi: Mention the new module and the
11559         size_t problem on MSVC 9.
11560
11561 2011-09-11  Bruno Haible  <bruno@clisp.org>
11562
11563         Support for MSVC compiler: Avoid division by a literal 0.
11564         * lib/math.in.h (NAN): Define through a function call also on MSVC.
11565         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
11566         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
11567         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
11568         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
11569         * tests/infinity.h: New file.
11570         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
11571         on MSVC.
11572         * tests/test-ceilf1.c: Include infinity.h.
11573         (main): Use Infinityf.
11574         * tests/test-ceil1.c: Include infinity.h.
11575         (main): Use Infinityd.
11576         * tests/test-ceill.c: Include infinity.h.
11577         (main): Use Infinityl.
11578         * tests/test-dprintf-posix.c: Include infinity.h.
11579         (test_function): Use Infinityd.
11580         * tests/test-floorf1.c: Include infinity.h.
11581         (main): Use Infinityf.
11582         * tests/test-floor1.c: Include infinity.h.
11583         (main): Use Infinityd.
11584         * tests/test-floorl.c: Include infinity.h.
11585         (main): Use Infinityl.
11586         * tests/test-fprintf-posix.c: Include infinity.h.
11587         (test_function): Use Infinityd.
11588         * tests/test-frexp.c: Include infinity.h.
11589         (main): Use Infinityd.
11590         * tests/test-frexpl.c: Include infinity.h.
11591         (main): Use Infinityl.
11592         * tests/test-isfinite.c: Include infinity.h.
11593         (test_isfinitef): Use Infinityf.
11594         (test_isfinited): Use Infinityd.
11595         (test_isfinitel): Use Infinityl.
11596         * tests/test-isinf.c: Include infinity.h.
11597         (test_isinff): Use Infinityf.
11598         (test_isinfd): Use Infinityd.
11599         (test_isinfl): Use Infinityl.
11600         * tests/test-isnan.c: Include infinity.h.
11601         (test_float): Use Infinityf.
11602         (test_double): Use Infinityd.
11603         (test_long_double): Use Infinityl.
11604         * tests/test-isnanf.h: Include infinity.h.
11605         (main): Use Infinityf.
11606         * tests/test-isnand.h: Include infinity.h.
11607         (main): Use Infinityd.
11608         * tests/test-isnanl.h: Include infinity.h.
11609         (main): Use Infinityl.
11610         * tests/test-ldexpl.c: Include infinity.h.
11611         (main): Use Infinityl.
11612         * tests/test-printf-posix.h: Include infinity.h.
11613         (test_function): Use Infinityd.
11614         * tests/test-roundf1.c: Include infinity.h.
11615         (main): Use Infinityf.
11616         * tests/test-round1.c: Include infinity.h.
11617         (main): Use Infinityd.
11618         * tests/test-roundl.c: Include infinity.h.
11619         (main): Use Infinityl.
11620         * tests/test-signbit.c: Include infinity.h.
11621         (test_signbitf): Use Infinityf.
11622         (test_signbitd): Use Infinityd.
11623         (test_signbitl): Use Infinityl.
11624         * tests/test-snprintf-posix.h: Include infinity.h.
11625         (test_function): Use Infinityd, Infinityl.
11626         * tests/test-sprintf-posix.h: Include infinity.h.
11627         (test_function): Use Infinityd, Infinityl.
11628         * tests/test-truncf1.c: Include infinity.h.
11629         (main): Use Infinityf.
11630         * tests/test-trunc1.c: Include infinity.h.
11631         (main): Use Infinityd.
11632         * tests/test-truncl.c: Include infinity.h.
11633         (main): Use Infinityl.
11634         * tests/test-vasnprintf-posix.c: Include infinity.h.
11635         (test_function): Use Infinityd, Infinityl.
11636         * tests/test-vasprintf-posix.c: Include infinity.h.
11637         (test_function): Use Infinityd, Infinityl.
11638         * modules/ceilf-tests (Files): Add tests/infinity.h.
11639         * modules/ceil-tests (Files): Likewise.
11640         * modules/ceill-tests (Files): Likewise.
11641         * modules/dprintf-posix-tests (Files): Likewise.
11642         * modules/floorf-tests (Files): Likewise.
11643         * modules/floor-tests (Files): Likewise.
11644         * modules/floorl-tests (Files): Likewise.
11645         * modules/fprintf-posix-tests (Files): Likewise.
11646         * modules/frexp-tests (Files): Likewise.
11647         * modules/frexp-nolibm-tests (Files): Likewise.
11648         * modules/frexpl-tests (Files): Likewise.
11649         * modules/frexpl-nolibm-tests (Files): Likewise.
11650         * modules/isfinite-tests (Files): Likewise.
11651         * modules/isinf-tests (Files): Likewise.
11652         * modules/isnan-tests (Files): Likewise.
11653         * modules/isnanf-tests (Files): Likewise.
11654         * modules/isnanf-nolibm-tests (Files): Likewise.
11655         * modules/isnand-tests (Files): Likewise.
11656         * modules/isnand-nolibm-tests (Files): Likewise.
11657         * modules/isnanl-tests (Files): Likewise.
11658         * modules/isnanl-nolibm-tests (Files): Likewise.
11659         * modules/ldexpl-tests (Files): Likewise.
11660         * modules/printf-posix-tests (Files): Likewise.
11661         * modules/roundf-tests (Files): Likewise.
11662         * modules/round-tests (Files): Likewise.
11663         * modules/roundl-tests (Files): Likewise.
11664         * modules/signbit-tests (Files): Likewise.
11665         * modules/snprintf-posix-tests (Files): Likewise.
11666         * modules/sprintf-posix-tests (Files): Likewise.
11667         * modules/truncf-tests (Files): Likewise.
11668         * modules/trunc-tests (Files): Likewise.
11669         * modules/truncl-tests (Files): Likewise.
11670         * modules/vasnprintf-posix-tests (Files): Likewise.
11671         * modules/vasprintf-posix-tests (Files): Likewise.
11672         * modules/vdprintf-posix-tests (Files): Likewise.
11673         * modules/vfprintf-posix-tests (Files): Likewise.
11674         * modules/vprintf-posix-tests (Files): Likewise.
11675         * modules/vsnprintf-posix-tests (Files): Likewise.
11676         * modules/vsprintf-posix-tests (Files): Likewise.
11677         * modules/xprintf-posix-tests (Files): Likewise.
11678
11679 2011-09-11  Bruno Haible  <bruno@clisp.org>
11680
11681         Ensure pid_t gets defined.
11682         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
11683         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11684         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
11685         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11686         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
11687         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11688         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
11689         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11690         * tests/test-fcntl-h.c: Check that pid_t is defined.
11691         * tests/test-sched.c: Likewise.
11692         * tests/test-termios.c: Likewise.
11693         * tests/test-time.c: Likewise.
11694         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
11695         * doc/posix-headers/signal.texi: Likewise.
11696         * doc/posix-headers/sys_types.texi: Likewise.
11697         * doc/posix-headers/time.texi: Likewise.
11698
11699 2011-09-11  Bruno Haible  <bruno@clisp.org>
11700
11701         acl: Fix compilation on Solaris 10 (older version).
11702         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
11703         of ACE_EVERYONE.
11704         * lib/set-mode-acl.c (qset_acl): Likewise.
11705         Reported by Christian Jullien <eligis@orange.fr>.
11706
11707 2011-09-10  Bruno Haible  <bruno@clisp.org>
11708
11709         iconv, unsetenv: Add support for MSVC compiler.
11710         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
11711         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
11712
11713 2011-09-10  Bruno Haible  <bruno@clisp.org>
11714
11715         *printf: Add support for MSVC compiler.
11716         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
11717         handles the exception caused by the %n directive. When cross-compiling,
11718         guess no on native Windows.
11719         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11720         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
11721         emulate it through vsnprintf.
11722         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
11723         * doc/posix-functions/dprintf.texi: Update documentation regarding
11724         MSVC 9.
11725         * doc/posix-functions/fprintf.texi: Likewise.
11726         * doc/posix-functions/printf.texi: Likewise.
11727         * doc/posix-functions/snprintf.texi: Likewise.
11728         * doc/posix-functions/sprintf.texi: Likewise.
11729         * doc/posix-functions/swprintf.texi: Likewise.
11730         * doc/posix-functions/vdprintf.texi: Likewise.
11731         * doc/posix-functions/vfprintf.texi: Likewise.
11732         * doc/posix-functions/vprintf.texi: Likewise.
11733         * doc/posix-functions/vsnprintf.texi: Likewise.
11734         * doc/posix-functions/vsprintf.texi: Likewise.
11735         * doc/glibc-functions/asprintf.texi: Likewise.
11736         * doc/glibc-functions/obstack_printf.texi: Likewise.
11737         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11738         * doc/glibc-functions/vasprintf.texi: Likewise.
11739
11740 2011-09-10  Bruno Haible  <bruno@clisp.org>
11741
11742         nocrash: Add support for native Windows.
11743         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
11744
11745 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
11746             Bruno Haible  <bruno@clisp.org>
11747
11748         absolute-header, include-next: Add support for MSVC compiler.
11749         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
11750         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
11751         directory separator in #line directives.
11752         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
11753         recognize also backslash as directory separator in #line directives.
11754
11755 2011-09-08  Jim Meyering  <meyering@redhat.com>
11756
11757         maint.mk: mark the post-release commit log with "maint: " prefix
11758         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
11759         one-line commit-log summary.
11760
11761 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
11762             Bruno Haible  <bruno@clisp.org>
11763
11764         Doc about crypt functions.
11765         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
11766         systems.
11767         * doc/posix-functions/encrypt.texi: Likewise.
11768         * doc/posix-functions/setkey.texi: Likewise.
11769
11770 2011-09-08  Simon Josefsson  <simon@josefsson.org>
11771
11772         * lib/gc.h: Fix copyright header.
11773
11774 2011-09-07  Bruno Haible  <bruno@clisp.org>
11775
11776         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
11777         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
11778         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
11779
11780 2011-09-07  Bruno Haible  <bruno@clisp.org>
11781
11782         openat: Work around compilation error with OSF/1 5.1 DTK cc.
11783         * lib/fopen.c: Use different syntax for include of <stdio.h>.
11784         * lib/freopen.c: Likewise.
11785         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
11786         * lib/lstat.c: Likewise.
11787         * lib/stat.c: Likewise.
11788         * lib/open.c: Use different syntax for include of <fcntl.h>.
11789         * lib/openat.c: Include fcntl.h again, explicitly.
11790
11791 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
11792
11793         parse-datetime: document the newly accepted format
11794         * doc/parse-datetime.texi (Combined date and time of day items):
11795         New section.
11796
11797 2011-09-06  Bruno Haible  <bruno@clisp.org>
11798
11799         acl: Fix a test failure on newer Solaris 10 with ZFS.
11800         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
11801         ENOSYS as no ACL.
11802         Reported by Jim Meyering.
11803
11804 2011-09-06  Bruno Haible  <bruno@clisp.org>
11805
11806         acl: Update for AIX >= 5.3 with NFS.
11807         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
11808         ENOSYS as no ACL.
11809
11810         acl: Fix a test failure on AIX >= 5.3 with NFS.
11811         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
11812         as no ACL.
11813
11814 2011-09-06  Bruno Haible  <bruno@clisp.org>
11815
11816         acl: Fix a test failure on IRIX 6.5 with NFS.
11817         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
11818         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
11819         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
11820         * lib/copy-acl.c (qcopy_acl): Likewise.
11821
11822 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11823
11824         openat: port to AIX 7.1 with large files
11825         AIX 7.1 does a "#define openat open64at" if large files are in use,
11826         so we can't simply #undef openat.  Use the orig_openat trick (similar
11827         to orig_open in lib/open.c) to work around the problem.  Problem
11828         reported by Kevin Brott for GNU tar, in the thread containing
11829         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
11830         * lib/openat.c (__need_system_fcntl_h): Define first.
11831         Include <fcntl.h> and <sys/types.h> before undefining.
11832         (orig_openat) [HAVE_OPENAT]: New inline function.
11833         (openat) [HAVE_OPENAT]: Do not undef.
11834         (rpl_openat): Use orig_openat, not openat.
11835
11836 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11837             Bruno Haible  <bruno@clisp.org>
11838
11839         acl: Avoid errors on NonStop Kernel.
11840         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
11841         ENOTSUP errors.
11842
11843 2011-09-05  Bruno Haible  <bruno@clisp.org>
11844
11845         acl: Clean up Solaris code.
11846         * lib/acl-internal.h: Remove no-op #if.
11847         * lib/file-has-acl.c: Likewise.
11848         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
11849         * lib/copy-acl.c (qcopy_acl): Likewise.
11850
11851 2011-09-05  Bruno Haible  <bruno@clisp.org>
11852
11853         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
11854         binaries built on the original Solaris 10.
11855         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
11856         trivial.
11857
11858 2011-09-05  Bruno Haible  <bruno@clisp.org>
11859
11860         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11861         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
11862         10.
11863         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
11864         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
11865         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
11866         instead of acl_get, facl_get, acl_set, facl_set.
11867
11868 2011-09-05  Bruno Haible  <bruno@clisp.org>
11869
11870         copy-file: Try unit tests on more file systems.
11871         * tests/test-copy-file-1.sh: New file.
11872         * tests/test-copy-file-2.sh: New file.
11873         * modules/copy-file-tests (Files): Add them.
11874         (Makefile.am): Add them to TESTS.
11875
11876         acl: Try unit tests on more file systems.
11877         * tests/test-file-has-acl-1.sh: New file.
11878         * tests/test-file-has-acl-2.sh: New file.
11879         * tests/test-set-mode-acl-1.sh: New file.
11880         * tests/test-set-mode-acl-2.sh: New file.
11881         * tests/test-copy-acl-1.sh: New file.
11882         * tests/test-copy-acl-2.sh: New file.
11883         * modules/acl-tests (Files): Add them.
11884         (Makefile.am): Add them to TESTS.
11885
11886 2011-09-04  Bruno Haible  <bruno@clisp.org>
11887
11888         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11889         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
11890         10.
11891         (OLD_ALLOW, OLD_DENY): New macros.
11892         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
11893         ACE_ACCESS_ALLOWED_ACE_TYPE.
11894         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
11895         ACE_ACCESS_DENIED_ACE_TYPE.
11896         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
11897         (NEW_ACE_EXECUTE): Fix value.
11898         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
11899         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
11900         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
11901         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
11902         NEW_ACE_SYNCHRONIZE): New macros.
11903         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
11904         instead of acl_fromtext, acl_set, facl_set.
11905         Fixes a coreutils/tests/cp/perm failure.
11906
11907 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
11908
11909         openat: test for fstatat (..., 0) bug
11910         Further testing with tar suggests that fstatat (..., 0)
11911         does not work in general, on AIX 7.1; see
11912         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
11913         So, give up entirely on AIX 7.1's fstatat, and fall back on our
11914         replacement fstatat (which is what older AIX releases were using
11915         anyway).
11916         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
11917         use is now changed to orig_fstatat.  This was probably the right
11918         thing to do anyway.
11919         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
11920         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
11921         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
11922         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
11923         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
11924         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
11925         if the bug is found.
11926
11927         openat: test for fstatat (AT_FDCWD, ..., 0) bug
11928         This tests for another fstatat bug on AIX 7.1:
11929         fstatat (AT_FDCWD, ..., 0) does not work.  See
11930         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
11931         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
11932         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
11933         (rpl_fstatat): Adjust so that it works around either (or both)
11934         bugs if present.
11935         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
11936
11937 2011-09-03  Karl Berry  <karl@gnu.org>
11938
11939         * doc/regex.texi (Character Class Operators): Avoid literal ":"
11940         in index entries.
11941
11942 2011-09-02  Bruno Haible  <bruno@clisp.org>
11943
11944         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
11945         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
11946         values of AR, ARFLAGS, RANLIB.
11947         Reported by John W. Eaton <jwe@gnu.org> for Octave.
11948
11949 2011-09-02  Bruno Haible  <bruno@clisp.org>
11950
11951         Find 'ar' program that fits with --host argument.
11952         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
11953
11954 2011-09-02  Bruno Haible  <bruno@clisp.org>
11955
11956         tests: init.sh: Support any non-GNU diff.
11957         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
11958         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
11959         Solaris 8.
11960
11961 2011-09-02  Bruno Haible  <bruno@clisp.org>
11962
11963         tests: init.sh: work also with any non-GNU diff that supports -u
11964         * tests/init.sh: Relax check for diff -u support.
11965         Rather than checking for GNU diff via --version, simply check
11966         for support for -u itself.  Useful at least on OpenBSD 4.9,
11967         AIX 7.1, IRIX 6.5, and Solaris 10.
11968
11969 2011-09-01  Bruno Haible  <bruno@clisp.org>
11970
11971         strtoimax, strtoumax: Document problem on HP-UX 11.
11972         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
11973         * doc/posix-functions/strtoumax.texi: Likewise.
11974
11975 2011-09-01  Bruno Haible  <bruno@clisp.org>
11976
11977         strtoumax: Avoid link error on OSF/1 with DTK cc.
11978         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
11979         defined as a function.
11980         * modules/strtoumax (Depends-on, configure.ac): Test only whether
11981         strtoumax is defined, not whether it is declared.
11982
11983 2011-09-01  Bruno Haible  <bruno@clisp.org>
11984
11985         strtoimax: Avoid link error on OSF/1 with DTK cc.
11986         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
11987         defined as a function.
11988         * modules/strtoimax (Depends-on, configure.ac): Test only whether
11989         strtoimax is defined, not whether it is declared.
11990
11991 2011-09-01  Bruno Haible  <bruno@clisp.org>
11992
11993         imaxdiv: Avoid link error on OSF/1 with DTK cc.
11994         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
11995         as a function.
11996         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
11997         whether it is declared.
11998
11999 2011-09-01  Bruno Haible  <bruno@clisp.org>
12000
12001         imaxabs: Avoid link error on OSF/1 with DTK cc.
12002         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
12003         as a function.
12004         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
12005         whether it is declared.
12006
12007 2011-09-01  Bruno Haible  <bruno@clisp.org>
12008
12009         Tests for module 'strtoumax'.
12010         * modules/strtoumax-tests: New file.
12011         * tests/test-strtoumax.c: New file.
12012
12013         Tests for module 'strtoimax'.
12014         * modules/strtoimax-tests: New file.
12015         * tests/test-strtoimax.c: New file.
12016
12017         Tests for module 'imaxdiv'.
12018         * modules/imaxdiv-tests: New file.
12019         * tests/test-imaxdiv.c: New file.
12020
12021         Tests for module 'imaxabs'.
12022         * modules/imaxabs-tests: New file.
12023         * tests/test-imaxabs.c: New file.
12024
12025 2011-09-01  Bruno Haible  <bruno@clisp.org>
12026
12027         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
12028         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
12029         pthread_create.
12030
12031 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12032
12033         openat: work around AIX 7.1 fstatat issue
12034         This should fix the problem that was not properly fixed
12035         in the previous change, dated 2011-08-30.
12036         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
12037         __need_system_stat_h defined.
12038         (orig_fstatat) [HAVE_FSTATAT]: New function.
12039         (rpl_fstatat): Go back to the old way of doing things,
12040         except call orig_fstatat instead of fstatat.
12041         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
12042         Remove unnecessary check whether fstatat fills in st_size etc.
12043
12044 2011-09-01  Bruno Haible  <bruno@clisp.org>
12045
12046         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
12047         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
12048         just include the system's header.
12049
12050 2011-08-31  Jim Meyering  <meyering@redhat.com>
12051
12052         tests: avoid spurious assertion failure in test-float.c on ppc64
12053         * tests/test-float.c (test_long_double): Comment out an assertion,
12054         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
12055         with gcc-4.4.4.
12056
12057         maint: indent with spaces, not TABs
12058         I need to get in the habit of running gnulib's "make check".
12059         Both of these would have been caught.
12060         * m4/largefile.m4: Indent with spaces, not TABs.
12061         * lib/parse-datetime.y (iso_8601_time): Likewise.
12062         Spotted by Pádraig Brady.
12063
12064         test-parse-datetime.c: accommodate a relatively strict gcc warning
12065         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
12066         to avoid a warning from gcc's -Werror=missing-declarations.
12067         Insert a few spaces-before-funcall-parenthesis.
12068
12069 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
12070
12071         parse-datetime: accept ISO 8601 date and time rep with "T" separator
12072         The parser now accepts ISO 8601 date-time strings with "T" as the
12073         separator.  It has long parsed dates like "2004-02-29 16:21:42"
12074         with a space between the date and time strings.  Now it also parses
12075         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
12076         variants like "2004-02-29T16:21:42.333-07:00"
12077         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
12078         of day representation using the 'T' separator character.
12079         * doc/parse-datetime.texi (General date syntax): replace use of
12080         deprecated --iso-8601 option with --rfc-3339 in example of date
12081         command output formats that can be parsed.
12082         * tests/test-parse-datetime.c (tm_diff): New function, taken from
12083         lib/parse-datetime.y.
12084         (gmt_offset): New function.
12085         (main): Add additional test cases to validate ISO8601 extended
12086         date and time of day parsing.
12087
12088 2011-08-31  Bruno Haible  <bruno@clisp.org>
12089
12090         freopen: Documentation.
12091         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
12092         name.
12093         Reported by Claudio Bley <claudio.bley@gmail.com>.
12094
12095 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
12096
12097         freopen: Don't crash if the filename argument is NULL.
12098         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
12099         NULL.
12100
12101 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12102
12103         openat: work around AIX 7.1 fstatat bug
12104         Problem reported by Kevin Brott for GNU tar, in the thread containing
12105         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
12106         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
12107         FSTATAT_ST_SIZE_ETC_BROKEN.
12108         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
12109         rpl_fstatat.
12110         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
12111         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
12112         AC_CHECK_FUNCS_ONCE for fstatat.
12113         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
12114         fchmodat, mkdirat, openat and unlinkat.
12115
12116 2011-08-30  Bruno Haible  <bruno@clisp.org>
12117
12118         Avoid endless recursions if config.h includes some header files.
12119         * lib/fopen.c (__need_FILE): Define already before including config.h.
12120         * lib/freopen.c (__need_FILE): Likewise.
12121         * lib/open.c (__need_system_fcntl_h): Likewise.
12122         * lib/stat.c (__need_system_sys_stat_h): Likewise.
12123         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
12124         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12125
12126 2011-08-25  Karl Berry  <karl@gnu.org>
12127
12128         * config/srclist.txt (ylwrap): new try.
12129         * build-aux/ylwrap: new file.
12130
12131 2011-08-23  Bruno Haible  <bruno@clisp.org>
12132
12133         tmpdir: Use a good default directory on native Windows.
12134         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
12135         (P_tmpdir): Default to _P_tmpdir on native Windows.
12136         (path_search): On native Windows, try the value returned by GetTempPath
12137         before trying P_tmpdir.
12138         * modules/tmpdir (Depends-on): Add pathmax.
12139         Suggested by John Darrington <john@darrington.wattle.id.au>.
12140
12141 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
12142
12143         doc: fix typo in README-release
12144         * top/README-release: Capitalize first word of a sentence.
12145
12146 2011-08-19  Jim Meyering  <meyering@redhat.com>
12147
12148         fts: do not exhaust memory when processing million-entry directories
12149         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
12150         directory would require about 256*N bytes of memory.  Thus, it was
12151         easy to construct a directory too large to be processed by any of
12152         those tools.  With this change, fts' maximum memory utilization is
12153         now limited to around 30MB.
12154         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
12155         (fts_read): When we've processed the final entry (i.e., when
12156         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
12157         using the parent entry to read any remaining entries.  Dispatch
12158         depending on what fts_build returns:
12159         - NULL+stop, aka failure: stop
12160         - NULL otherwise: move up in the dir hierarchy
12161         - non-NULL: handle this new entry
12162         (fts_build): Declare and use new local, continue_readdir.
12163         Prepare to be called from fts_read, when the entries
12164         from a partially-read directory have just been exhausted.
12165         In that case, we'll skip the opendir and instead use the parent's
12166         fts_dirp and derive dir_fd from that.
12167         Finally, in the readdir loop, if we read max_entries entries,
12168         exit the loop ensuring *not* to call closedir.  This is required
12169         so that fts_dirp can be reused on a subsequent call.
12170         Prompted by Ben England's report of memory exhaustion in find
12171         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
12172
12173         maint: fts: move decl of `dp' down into while loop; split a long line
12174         * lib/fts.c (fts_build): No semantic change.
12175
12176         fts: add/use new struct member, fts_dirp
12177         We are about to use this to manage any directory with
12178         too many entries to read all of them into memory at once.
12179         To do that, we'll need to save the DIR* pointer in each
12180         affected FTSENT struct.
12181         * lib/fts_.h: Include <dirent.h>.
12182         (struct FTSENT) [fts_dirp]: New member.
12183         * lib/fts.c (closedir_and_clear): Define.
12184         Use it in place of closedir so that we are sure to
12185         clear the new fts_dirp member when done with it.
12186         (fts_alloc): Initialize the new member.
12187         (fts_lfree): Free, if needed.
12188
12189         maint: fts: give __opendir2 a new parameter and rename
12190         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
12191         than surreptitiously using sole caller's "dir_fd".
12192         (fts_opendir): Rename from __opendir2.
12193
12194         maint: fts.c: remove __opendir2's now-unused parameter, oflag
12195         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
12196
12197         maint: fts.c: correct off-by-one indentation
12198         * lib/fts.c (fts_build): Correct indentation, change style
12199         of a couple of block comments, and bracing style.
12200
12201         maint: fts.c: move __opendir2 #define "up" out of function body
12202         * lib/fts.c (__opendir2): Move "up".  No semantic change.
12203
12204         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
12205         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
12206         out for a long time and besides was useful only on BSD systems.
12207
12208 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12209
12210         regex: port to Stratus OpenVOS
12211         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
12212         define to empty, rather than attempting nonportable optimizations.
12213         Problem reported by Paul Green in:
12214         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
12215         and fix suggested by Eric Blake in:
12216         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
12217
12218 2011-08-17  Eric Blake  <eblake@redhat.com>
12219
12220         getcwd: fix test failures on mingw
12221         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
12222         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
12223         test if long directory cannot be created, and allow mingw errno.
12224
12225         getcwd-lgpl: fix m4 to match relaxed test for BSD
12226         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
12227         (gl_FUNC_GETCWD_SIGNATURE): New macro.
12228         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
12229         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
12230         signature problem.
12231
12232         getcwd: fix compilation on mingw64
12233         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
12234         getcwd.
12235         Reported by Marc-André Lureau.
12236
12237         pipe2: silence compiler warning
12238         * lib/pipe2.c (pipe2): Hide label if it is not used.
12239
12240 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
12241
12242         relocatable-prog: fix link error
12243         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
12244         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
12245         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
12246         into modules/relocatable-lib without noticing that
12247         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
12248         also needs to build relocatable.c.
12249
12250 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12251
12252         getaddrinfo: fix sh typo in gai_strerrorA decl checking
12253         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
12254         shell code: it contained a 'break' that was not in a loop.
12255         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
12256         via a shell-language loop; this may have been true in old Autoconf
12257         versions, but it's not true in Autoconf 2.68.  I found this bug
12258         when testing coreutils git on Solaris 8, whose shell complains
12259         about the syntax error.
12260
12261 2011-08-12  Simon Josefsson  <simon@josefsson.org>
12262
12263         * lib/base64.c: Fix comment to reference RFC 4648.
12264         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
12265         <gvtulder@gmail.com>.
12266
12267 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12268
12269         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
12270
12271         po/Makefile.in.in: fix make -q problem
12272         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
12273         rule, since there's no file named 'check-macro-version' and its
12274         use as a file breaks make -q.
12275         (all): Don't depend on check-macro-version.
12276         (CHECK_MACRO_VERSION): New macro.
12277         (stamp-po): Use it.
12278
12279         configmake: fix make -q problem
12280         * modules/configmake (configmake.h): Update configmake.h's time stamp
12281         even if the file does not change.  Otherwise, 'make -q' fails.
12282         Problem reported by Simon Josefsson in
12283         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
12284
12285 2011-08-11  Jim Meyering  <meyering@redhat.com>
12286
12287         git-version-gen: correct the advice in a comment
12288         * build-aux/git-version-gen: Correct comment.
12289         Don't recommend to list .tarball-version in .gitignore.
12290
12291 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12292
12293         base64: fix off-by-one buffer size bug
12294         Problem and (trivial) fix reported by Gijs van Tulder in
12295         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
12296         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
12297         * tests/test-base64.c (main): Catch the bug.
12298
12299 2011-08-10  Eric Blake  <eblake@redhat.com>
12300
12301         closein: correct comments
12302         * lib/closein.c (close_stdin): Improve comments.
12303
12304 2011-08-09  Bruno Haible  <bruno@clisp.org>
12305
12306         More tests for 'fseeko'.
12307         * tests/test-fseeko3.c: New file, from Eric Blake.
12308         * tests/test-fseeko3.sh: New file.
12309         * modules/fseeko-tests (Files): Add them.
12310         (TESTS): Add test-fseeko3.sh.
12311         (check_PROGRAMS): Add test-fseeko3.
12312
12313 2011-08-09  Eric Blake  <eblake@redhat.com>
12314
12315         fseeko: remove unneeded hack
12316         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
12317
12318         fseeko: fix bug on glibc
12319         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
12320         Reported by John W. Eaton.
12321
12322 2011-08-08  Bruno Haible  <bruno@clisp.org>
12323
12324         unictype/base: Fix interoperability with preinstalled libunistring.
12325         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
12326         Reported by Simon Josefsson.
12327
12328 2011-08-08  Bruno Haible  <bruno@clisp.org>
12329
12330         iswblank: Detect declaration correctly.
12331         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
12332         AC_CHECK_DECLS invocation.
12333
12334 2011-08-08  Bruno Haible  <bruno@clisp.org>
12335
12336         tcgetsid: Detect declaration correctly.
12337         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
12338         AC_CHECK_DECLS invocation.
12339         Reported by Simon Josefsson.
12340
12341 2011-08-08  Eric Blake  <eblake@redhat.com>
12342
12343         largefile: fix typo that regressed large file support
12344         * modules/largefile (configure.ac-early): Fix section name.
12345
12346 2011-08-06  Karl Berry  <karl@gnu.org>
12347
12348         * MODULES.html.sh (func_all_files): _Noreturn is no longer
12349         a separate module.
12350
12351 2011-08-05  Simon Josefsson  <simon@josefsson.org>
12352
12353         openat: Fix warnings and commens when building unlinkat.c on Hurd.
12354         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
12355         get prototype for free.
12356
12357 2011-08-04  Bruno Haible  <bruno@clisp.org>
12358
12359         Tests for module 'pathmax'.
12360         * modules/pathmax-tests: New file.
12361         * tests/test-pathmax.c: New file.
12362
12363         canonicalize-lgpl: Support larger filenames on the Hurd.
12364         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
12365         Reported by Paul Eggert.
12366
12367         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
12368         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
12369         * lib/chdir-long.h: Include pathmax.h.
12370         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
12371         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
12372         (PATH_MAX): Remove code that is done by pathmax.h.
12373         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
12374         * lib/tmpfile.c: Add a comment.
12375         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
12376         * modules/chdir-long (Depends-on): Add pathmax.
12377         * modules/getcwd (Depends-on): Add pathmax.
12378         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
12379         is not defined.
12380         * doc/posix-headers/limits.texi: Mention the pathmax module.
12381         * NEWS: Mention the change.
12382
12383 2011-08-02  Bruno Haible  <bruno@clisp.org>
12384
12385         pthread_sigmask: Actually use results of gl_THREADLIB.
12386         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
12387         gl_THREADLIB, not gl_[]THREADLIB.
12388         Reported by Eric Blake.
12389
12390 2011-08-02  Jim Meyering  <meyering@redhat.com>
12391
12392         maint.mk: relax the default _gl_TS_function_match regexp
12393         * top/maint.mk (_gl_TS_function_match): Don't require at least one
12394         space between function name and "(" in an "extern" declaration.
12395         That would fail to match a decl with no space there: extern void foo();
12396
12397 2011-07-31  Iain Nicol  <iain@thenicols.net>
12398
12399         git-version-gen: document that EXTRA_DIST must include .version
12400         * build-aux/git-version-gen: In the how-to-use comment, document
12401         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
12402         will fail when run from an unpacked distribution tarball.
12403
12404 2011-08-01  Bruno Haible  <bruno@clisp.org>
12405
12406         wctype-h: Fix last change.
12407         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
12408         REPLACE_TOWLOWER to 0.
12409         Reported by Sam Steingold <sds@gnu.org>.
12410
12411 2011-07-31  Bruno Haible  <bruno@clisp.org>
12412
12413         frexpl: Update autoconf test.
12414         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
12415         according to changes of 2011-06-20.
12416
12417 2011-07-31  Bruno Haible  <bruno@clisp.org>
12418
12419         sys_utsname: Add support for Minix.
12420         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
12421         <sys/utsname.h>.
12422         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12423         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
12424
12425 2011-07-31  Bruno Haible  <bruno@clisp.org>
12426
12427         strings: Add support for Minix.
12428         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
12429         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
12430         * doc/posix-headers/strings.texi: Document the Minix problem.
12431
12432 2011-07-31  Bruno Haible  <bruno@clisp.org>
12433
12434         wctype-h: Add support for Minix.
12435         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
12436         REPLACE_TOWLOWER.
12437         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
12438         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
12439         REPLACE_ISWCNTRL.
12440
12441 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12442
12443         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
12444         This is a performance improvement for 64-bit hosts: it causes the
12445         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
12446
12447 2011-07-31  Bruno Haible  <bruno@clisp.org>
12448
12449         stdioext: Add support for Minix.
12450         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
12451         * lib/fpurge.c (fpurge): Likewise.
12452         * lib/freadahead.c (freadahead): Likewise.
12453         * lib/freadable.c (freadable): Likewise.
12454         * lib/freading.c (freading): Likewise.
12455         * lib/freadptr.c (freadptr): Likewise.
12456         * lib/freadseek.c (freadptrinc): Likewise.
12457         * lib/fseeko.c (rpl_fseeko): Likewise.
12458         * lib/fseterr.c (fseterr): Likewise.
12459         * lib/fwritable.c (fwritable): Likewise.
12460         * lib/fwriting.c (fwriting): Likewise.
12461         * lib/fflush.c (clear_ungetc_buffer): Update comment.
12462         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
12463
12464 2011-07-31  Bruno Haible  <bruno@clisp.org>
12465
12466         errno: Port to Minix.
12467         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
12468         ECONNABORTED are defined.
12469         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
12470         GNULIB_defined_ECONNABORTED): New macros.
12471         * lib/strerror-override.h (strerror_override): Test also
12472         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
12473         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
12474         ECONNABORTED.
12475         * doc/posix-headers/errno.texi: Mention the Minix problem.
12476
12477 2011-07-31  Bruno Haible  <bruno@clisp.org>
12478
12479         Work around declaration collisions on Minix.
12480         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
12481         defined, set REPLACE_MBSINIT.
12482         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
12483         defined, set REPLACE_MBRTOWC.
12484         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
12485         set REPLACE_MBRLEN.
12486         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
12487         defined, set REPLACE_MBSRTOWCS.
12488         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
12489         defined, set REPLACE_WCRTOMB.
12490         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
12491         defined, set REPLACE_WCSRTOMBS.
12492
12493 2011-07-31  Bruno Haible  <bruno@clisp.org>
12494
12495         Add support for Minix with ACK compiler.
12496         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
12497         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
12498         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
12499
12500 2011-07-31  Bruno Haible  <bruno@clisp.org>
12501
12502         Documentation about Minix.
12503         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
12504         * doc/glibc-headers/*.texi: Likewise.
12505         * doc/posix-functions/*.texi: Likewise.
12506         * doc/glibc-functions/*.texi: Likewise.
12507
12508 2011-07-31  Bruno Haible  <bruno@clisp.org>
12509
12510         snippet/warn-on-use: Fix indentation.
12511         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
12512
12513 2011-07-25  Jim Meyering  <meyering@redhat.com>
12514
12515         tests: test-update-copyright.sh: remove unnecessary "rm" commands
12516         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
12517         commands.
12518
12519 2011-07-27  Jim Meyering  <meyering@redhat.com>
12520
12521         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
12522         * top/maint.mk (gl_extract_significant_defines_): Now that
12523         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
12524         gnulib/lib/signal.in.h, and now that we recommend to
12525         define-if-undefined those two symbols in application code,
12526         we must filter them out of the "significant" list.
12527         This avoids a "make syntax-check" failure in coreutils.
12528
12529 2011-07-26  Eric Blake  <eblake@redhat.com>
12530
12531         warnings: add comments about previous patch
12532         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
12533         * m4/include_next.m4: Likewise.
12534         * m4/warn-on-use.m4: Likewise.
12535         * m4/warnings.m4: Likewise, and simplify use.
12536         Suggested by Stefano Lattarini.
12537
12538         include-next, warnings: support older autoconf
12539         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
12540         AS_VAR_PUSHDEF in a way that works with older autoconf.
12541         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
12542         Reported by Daniel P. Berrange.
12543
12544 2011-07-25  Bruno Haible  <bruno@clisp.org>
12545
12546         fseek, ftell: Fix doc.
12547         * doc/posix-functions/fseek.texi: Reword statement about
12548         AC_SYS_LARGEFILE.
12549         * doc/posix-functions/ftell.texi: Likewise.
12550
12551 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12552             Bruno Haible  <bruno@clisp.org>
12553
12554         Add dependencies to the 'largefile' module.
12555         * modules/fopen (Depends-on): Add 'largefile'.
12556         * modules/freopen (Depends-on): Likewise.
12557         * modules/fseeko (Depends-on): Likewise.
12558         * modules/ftello (Depends-on): Likewise.
12559         * modules/glob (Depends-on): Likewise.
12560         * modules/lseek (Depends-on): Likewise.
12561         * modules/lstat (Depends-on): Likewise.
12562         * modules/mkostemp (Depends-on): Likewise.
12563         * modules/mkostemps (Depends-on): Likewise.
12564         * modules/mkstemp (Depends-on): Likewise.
12565         * modules/mkstemps (Depends-on): Likewise.
12566         * modules/open (Depends-on): Likewise.
12567         * modules/openat (Depends-on): Likewise.
12568         * modules/pread (Depends-on): Likewise.
12569         * modules/pwrite (Depends-on): Likewise.
12570         * modules/scandir (Depends-on): Likewise.
12571         * modules/stat (Depends-on): Likewise.
12572         * modules/tmpfile (Depends-on): Likewise.
12573         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
12574         since the containing module now depends on the largefile module.
12575         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
12576         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
12577         off_t is fixed by gnulib.
12578         * doc/posix-functions/freopen.texi: Likewise.
12579         * doc/posix-functions/fseeko.texi: Likewise.
12580         * doc/posix-functions/fstatat.texi: Likewise.
12581         * doc/posix-functions/ftello.texi: Likewise.
12582         * doc/posix-functions/glob.texi: Likewise.
12583         * doc/posix-functions/lseek.texi: Likewise.
12584         * doc/posix-functions/lstat.texi: Likewise.
12585         * doc/posix-functions/mkstemp.texi: Likewise.
12586         * doc/posix-functions/open.texi: Likewise.
12587         * doc/posix-functions/openat.texi: Likewise.
12588         * doc/posix-functions/pread.texi: Likewise.
12589         * doc/posix-functions/pwrite.texi: Likewise.
12590         * doc/posix-functions/scandir.texi: Likewise.
12591         * doc/posix-functions/stat.texi: Likewise.
12592         * doc/posix-functions/tmpfile.texi: Likewise.
12593         * doc/glibc-functions/mkostemp.texi: Likewise.
12594         * doc/glibc-functions/mkostemps.texi: Likewise.
12595         * doc/glibc-functions/mkstemps.texi: Likewise.
12596
12597 2011-07-25  Bruno Haible  <bruno@clisp.org>
12598
12599         fcntl: Move AC_LIBOBJ invocation to module description.
12600         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
12601         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
12602
12603         fcntl: Remove call-in from fchdir.m4.
12604         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
12605         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
12606
12607         dup3: Remove potential call-in from fchdir.m4.
12608         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
12609         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
12610
12611         dup2: Move AC_LIBOBJ invocation to module description.
12612         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
12613         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
12614         Don't invoke AC_LIBOBJ.
12615         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
12616
12617         dup2: Remove call-in from fchdir.m4.
12618         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
12619         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
12620
12621         fclose: Move AC_LIBOBJ invocation to module description.
12622         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
12623         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
12624         to 1.
12625         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
12626
12627         fclose: Remove call-in from close.m4.
12628         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
12629         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
12630
12631         close: Move AC_LIBOBJ invocation to module description.
12632         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
12633         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
12634         1.
12635         * modules/close (configure.ac): Invoke AC_LIBOBJ.
12636
12637         close: Remove call-in from fchdir.m4.
12638         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
12639         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
12640
12641         open: Move AC_LIBOBJ invocation to module description.
12642         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
12643         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
12644         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
12645
12646         open: Remove call-in from fchdir.m4.
12647         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
12648         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
12649
12650         fchdir: Start to remove gl_REPLACE_* idiom.
12651         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
12652         (gl_FUNC_FCHDIR): Invoke it.
12653
12654 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12655
12656         * lib/ftell.c (ftell): Comment out cast.
12657
12658         close: use gl_REPLACE_FCLOSE only if defined
12659         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
12660         is defined.  The close module doesn't depend on the fclose module
12661         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
12662         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
12663         I reproduced the problem with "./gnulib-tool --test close sys_socket".
12664
12665 2011-07-24  Jim Meyering  <meyering@redhat.com>
12666
12667         test-select.h: avoid warning when using gcc's -Wmissing-declarations
12668         * tests/test-select.h (test_function): Declare as "static".
12669
12670 2011-07-24  Bruno Haible  <bruno@clisp.org>
12671
12672         doc: Mention the effects of AC_SYS_LARGEFILE.
12673         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
12674         on this function.
12675         * doc/posix-functions/aio_error.texi: Likewise.
12676         * doc/posix-functions/aio_fsync.texi: Likewise.
12677         * doc/posix-functions/aio_read.texi: Likewise.
12678         * doc/posix-functions/aio_return.texi: Likewise.
12679         * doc/posix-functions/aio_suspend.texi: Likewise.
12680         * doc/posix-functions/aio_write.texi: Likewise.
12681         * doc/posix-functions/fgetpos.texi: Likewise.
12682         * doc/posix-functions/fopen.texi: Likewise.
12683         * doc/posix-functions/freopen.texi: Likewise.
12684         * doc/posix-functions/fsetpos.texi: Likewise.
12685         * doc/posix-functions/fstatvfs.texi: Likewise.
12686         * doc/posix-functions/ftruncate.texi: Likewise.
12687         * doc/posix-functions/ftw.texi: Likewise.
12688         * doc/posix-functions/getrlimit.texi: Likewise.
12689         * doc/posix-functions/glob.texi: Likewise.
12690         * doc/posix-functions/lio_listio.texi: Likewise.
12691         * doc/posix-functions/lockf.texi: Likewise.
12692         * doc/posix-functions/mkstemp.texi: Likewise.
12693         * doc/posix-functions/mmap.texi: Likewise.
12694         * doc/posix-functions/nftw.texi: Likewise.
12695         * doc/posix-functions/openat.texi: Likewise.
12696         * doc/posix-functions/opendir.texi: Likewise.
12697         * doc/posix-functions/posix_fadvise.texi: Likewise.
12698         * doc/posix-functions/posix_fallocate.texi: Likewise.
12699         * doc/posix-functions/pread.texi: Likewise.
12700         * doc/posix-functions/pwrite.texi: Likewise.
12701         * doc/posix-functions/readdir.texi: Likewise.
12702         * doc/posix-functions/readdir_r.texi: Likewise.
12703         * doc/posix-functions/rewinddir.texi: Likewise.
12704         * doc/posix-functions/scandir.texi: Likewise.
12705         * doc/posix-functions/seekdir.texi: Likewise.
12706         * doc/posix-functions/setrlimit.texi: Likewise.
12707         * doc/posix-functions/statvfs.texi: Likewise.
12708         * doc/posix-functions/telldir.texi: Likewise.
12709         * doc/posix-functions/tmpfile.texi: Likewise.
12710         * doc/posix-functions/truncate.texi: Likewise.
12711         * doc/glibc-functions/fallocate.texi: Likewise.
12712         * doc/glibc-functions/fstatfs.texi: Likewise.
12713         * doc/glibc-functions/fts_children.texi: Likewise.
12714         * doc/glibc-functions/fts_read.texi: Likewise.
12715         * doc/glibc-functions/getdirentries.texi: Likewise.
12716         * doc/glibc-functions/mkostemp.texi: Likewise.
12717         * doc/glibc-functions/mkostemps.texi: Likewise.
12718         * doc/glibc-functions/mkstemps.texi: Likewise.
12719         * doc/glibc-functions/preadv.texi: Likewise.
12720         * doc/glibc-functions/pwritev.texi: Likewise.
12721         * doc/glibc-functions/sendfile.texi: Likewise.
12722         * doc/glibc-functions/statfs.texi: Likewise.
12723
12724 2011-07-24  Bruno Haible  <bruno@clisp.org>
12725
12726         doc: Fix typo.
12727         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
12728
12729 2011-07-24  Bruno Haible  <bruno@clisp.org>
12730
12731         doc: Mention fsusage.
12732         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
12733
12734 2011-07-24  Bruno Haible  <bruno@clisp.org>
12735
12736         doc: Mention new glibc headers and functions.
12737         * doc/glibc-headers/gshadow.texi: New file.
12738         * doc/glibc-functions/endsgent.texi: New file.
12739         * doc/glibc-functions/fgetsgent.texi: New file.
12740         * doc/glibc-functions/fgetsgent_r.texi: New file.
12741         * doc/glibc-functions/getsgent.texi: New file.
12742         * doc/glibc-functions/getsgent_r.texi: New file.
12743         * doc/glibc-functions/getsgnam.texi: New file.
12744         * doc/glibc-functions/getsgnam_r.texi: New file.
12745         * doc/glibc-functions/putsgent.texi: New file.
12746         * doc/glibc-functions/setsgent.texi: New file.
12747         * doc/glibc-functions/sgetsgent.texi: New file.
12748         * doc/glibc-functions/sgetsgent_r.texi: New file.
12749         * doc/glibc-functions/malloc_info.texi: New file.
12750         * doc/glibc-functions/preadv.texi: New file.
12751         * doc/glibc-functions/pwritev.texi: New file.
12752         * doc/glibc-functions/register_printf_modifier.texi: New file.
12753         * doc/glibc-functions/register_printf_specifier.texi: New file.
12754         * doc/glibc-functions/register_printf_type.texi: New file.
12755         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
12756         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
12757         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
12758         * doc/glibc-functions/pthread_getname_np.texi: New file.
12759         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
12760         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
12761         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
12762         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
12763         * doc/glibc-functions/pthread_setname_np.texi: New file.
12764         * doc/glibc-functions/pthread_sigqueue.texi: New file.
12765         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
12766         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
12767         * doc/glibc-functions/qsort_r.texi: New file.
12768         * doc/glibc-functions/quick_exit.texi: New file.
12769         * doc/glibc-functions/syncfs.texi: New file.
12770         * doc/gnulib.texi: Include them.
12771         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
12772         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
12773         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
12774         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12775         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12776         * doc/glibc-functions/execvpe.texi: Likewise.
12777
12778 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12779
12780         ftell: don't include <unistd.h>
12781         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
12782         guaranteed to define off_t, and the ftell module depends on the
12783         stdio module.
12784
12785         ftell: do not assume wraparound signed arithmetic
12786         * lib/ftell.c: Include <limits.h>.
12787         (ftell): Don't assume wraparound signed arithmetic.
12788
12789 2011-07-24  Bruno Haible  <bruno@clisp.org>
12790
12791         close: No longer depend on module 'fclose'.
12792         * modules/close (Depends-on): Remove fclose.
12793         * NEWS: Mention the change.
12794         Suggested by Sam Steingold <sds@gnu.org>.
12795
12796 2011-07-24  Bruno Haible  <bruno@clisp.org>
12797
12798         fsusage: Enable large volume support on AIX >= 5.2.
12799         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
12800         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
12801         instead of STAT_STATVFS.
12802         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
12803
12804         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
12805         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
12806         f_blocks field only on MacOS X.
12807
12808         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
12809         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
12810         * modules/fsusage (Depends-on): Add largefile.
12811
12812 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12813
12814         * README: Modernize discussion of signed integers.
12815         Assuming overflow wraparound is no longer safe.
12816         Mention ones' complement and signed magnitude.
12817
12818 2011-07-22  Bruno Haible  <bruno@clisp.org>
12819
12820         select tests, pselect tests: Refactor.
12821         * tests/test-select.h: New file, extracted from tests/test-select.c.
12822         (select_fn): New type.
12823         (test, do_select, do_select_nowait, do_select_wait, test_tty,
12824         test_connect_first, test_accept_first, test_pair, test_socket_pair,
12825         test_pipe): Add my_select argument.
12826         (test_function): Renamed from main. Add my_select argument.
12827         * tests/test-select.c: Move most code to tests/test-select.h. Include
12828         test-select.h.
12829         * modules/select-tests (Files): Add tests/test-select.h.
12830         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
12831         (my_select, main): New functions.
12832         * modules/pselect-tests (Files): Add tests/test-select.h,
12833         tests/macros.h, tests/signature.h.
12834         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
12835         (configure.ac): Check for <sys/wait.h>.
12836
12837 2011-07-22  Bruno Haible  <bruno@clisp.org>
12838
12839         sys_select tests: Check the signature of FD_*.
12840         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
12841         signature tests from here...
12842         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
12843         here.
12844         * modules/sys_select-tests (Files): Add tests/signature.h.
12845
12846 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12847
12848         largefile: new module, replacing large-inode
12849         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
12850         * MODULES.html.sh: Add largefile, remove large-inode.
12851         * modules/largefile, m4/largefile.m4: New files.
12852         * modules/large-inode, m4/large-inode.m4: Remove.
12853
12854         fsusage: port to MacOS X 10.7 with 4 TiB file systems
12855         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
12856         implementations that use only 32 bits to count blocks.
12857         On typical hosts with 1024-byte blocks, this fails with file
12858         systems as small as 4 TiB.  Problem reported by Herb Wartens
12859         <http://debbugs.gnu.org/9140> and this should also fix a similar
12860         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
12861
12862         large-inode: New module
12863         * MODULES.html.sh: Add it.
12864         * modules/large-inode, m4/large-inode.m4: New files.
12865
12866         extensions: Enable extensions on MacOS X 10.5 and later.
12867         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
12868
12869 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
12870
12871         file-has-acl: use acl_extended_file_nofollow if available
12872         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
12873         (acl_extended_file): New macro.
12874         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
12875         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
12876
12877 2011-07-21  Bruno Haible  <bruno@clisp.org>
12878
12879         Declare system functions in a way that works with C++.
12880         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
12881         declare fdopendir as extern "C".
12882         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
12883         declare frexpl as extern "C".
12884         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
12885         declare gai_strerror as extern "C".
12886         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
12887         programs, declare gai_strerror as extern "C".
12888         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
12889         declare getlogin_r as extern "C".
12890         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
12891         as extern "C".
12892         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
12893         declare ldexpl as extern "C".
12894         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
12895         as extern "C".
12896         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
12897         program, declare getmntinfo as extern "C".
12898         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
12899         stpncpy as extern "C".
12900         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
12901         program, declare __xpg_strerror_r as extern "C".
12902         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
12903         strndup as extern "C".
12904         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
12905         declare memset and bzero as extern "C".
12906         Reported by Sam Steingold <sds@gnu.org>.
12907
12908 2011-07-12  Jim Meyering  <meyering@redhat.com>
12909
12910         maint.mk: prohibit inclusion of "verify.h" without use
12911         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
12912
12913 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12914
12915         timer-time: A new module to check for timer_settime()
12916         * m4/timer_time.m4: Check for the posix function.
12917         * modules/timer-time: Add the new module.
12918         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
12919         Mention it.
12920
12921 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
12922             Bruno Haible  <bruno@clisp.org>
12923
12924         pthread_sigmask: assume POSIX threads if --avoid=threadlib
12925         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
12926         not defined, assume POSIX threads and look for pthread_sigmask in
12927         $LIBS, without changing $CPPFLAGS.
12928
12929 2011-07-19  Bruno Haible  <bruno@clisp.org>
12930
12931         strstr: Update cross-compilation guess.
12932         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
12933         CPUs, guess no, in view of glibc
12934         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
12935         Suggested by Eric Blake. Reported by Reuben Thomas.
12936
12937 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12938
12939         getopt-gnu: suppress core dumps from detection code
12940         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
12941         to suppress core dumps that may well occur on glibc systems.
12942         * modules/getopt-gnu: Depend on nocrash.
12943
12944 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12945
12946         pthread_sigmask: ensure usleep is declared
12947         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
12948         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
12949
12950 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12951
12952         doc: Document NonStop portability issues.
12953         * doc/posix-functions/sigaction.texi (sigaction):
12954         * doc/posix-headers/signal.texi (signal.h):
12955         Document NonStop.  See Joachim Schmitz in
12956         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
12957
12958 2011-07-15  Bruno Haible  <bruno@clisp.org>
12959
12960         ffsl, ffsll: Avoid unportable behaviour.
12961         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
12962
12963 2011-07-15  Bruno Haible  <bruno@clisp.org>
12964
12965         ffs: More tests.
12966         * tests/test-ffs.c (NBITS): New macro.
12967         (main): Add more tests.
12968         * tests/test-ffsl.c (NBITS): New macro.
12969         (main): Add more tests.
12970         * tests/test-ffsll.c (NBITS): New macro.
12971         (main): Add more tests.
12972
12973 2011-07-15  Eric Blake  <eblake@redhat.com>
12974
12975         ffsl, ffsll: new modules
12976         * modules/ffsl: New file.
12977         * modules/ffsll: Likewise.
12978         * m4/ffsl.m4: Likewise.
12979         * m4/ffsll.m4: Likewise.
12980         * lib/ffsl.c: Likewise.
12981         * lib/ffsl.h: Likewise.
12982         * lib/ffsll.c: Likewise.
12983         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
12984         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
12985         * modules/string (Makefile.am): Substitute witnesses.
12986         * lib/strings.in.h (ffsl, ffsll): Declare.
12987         * modules/ffsl-tests: New test file.
12988         * modules/ffsll-tests: Likewise.
12989         * tests/test-ffsl.c: Likewise.
12990         * tests/test-ffsll.c: Likewise.
12991         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12992         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
12993         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
12994
12995         ffs: fix m4 prerequisite
12996         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
12997
12998         ffs: avoid undefined behavior
12999         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
13000         * tests/test-ffs.c (naive, main): Avoid signed shifts.
13001         Reported by Bruno Haible.
13002
13003 2011-07-12  Bruno Haible  <bruno@clisp.org>
13004
13005         pthread_sigmask: Rely on module 'threadlib'.
13006         * modules/pthread_sigmask (Depends-on): Add threadlib.
13007         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
13008         is defined.
13009
13010 2011-07-12  Bruno Haible  <bruno@clisp.org>
13011
13012         regex: Depend on module 'strcase'.
13013         * modules/regex (Depends-on): Add strcase, for strcasecmp().
13014
13015 2011-07-12  Jim Meyering  <meyering@redhat.com>
13016
13017         warn-on-use: fix typo in file name
13018         * modules/snippet/warn-on-use (Files): Correct file name:
13019         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
13020
13021 2011-07-12  Bruno Haible  <bruno@clisp.org>
13022
13023         strings: Document module.
13024         * doc/posix-headers/strings.texi: Mention module 'strings'.
13025
13026 2011-07-12  Bruno Haible  <bruno@clisp.org>
13027
13028         Rename module '_Noreturn' to 'snippet/_Noreturn'.
13029         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
13030         (Files, Makefile.am): Update.
13031         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
13032         * modules/stdlib (Depends-on): Update.
13033
13034 2011-07-12  Bruno Haible  <bruno@clisp.org>
13035
13036         * NEWS: Mention the changes.
13037
13038         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
13039         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
13040         (Files, Makefile.am): Update.
13041         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
13042         * modules/arpa_inet (Depends-on): Update.
13043         * modules/ctype (Depends-on): Update.
13044         * modules/dirent (Depends-on): Update.
13045         * modules/fcntl-h (Depends-on): Update.
13046         * modules/glob (Depends-on): Update.
13047         * modules/iconv-h (Depends-on): Update.
13048         * modules/inttypes-incomplete (Depends-on): Update.
13049         * modules/langinfo (Depends-on): Update.
13050         * modules/locale (Depends-on): Update.
13051         * modules/math (Depends-on): Update.
13052         * modules/netdb (Depends-on): Update.
13053         * modules/poll-h (Depends-on): Update.
13054         * modules/pty (Depends-on): Update.
13055         * modules/search (Depends-on): Update.
13056         * modules/signal (Depends-on): Update.
13057         * modules/spawn (Depends-on): Update.
13058         * modules/stdio (Depends-on): Update.
13059         * modules/stdlib (Depends-on): Update.
13060         * modules/string (Depends-on): Update.
13061         * modules/strings (Depends-on): Update.
13062         * modules/sys_file (Depends-on): Update.
13063         * modules/sys_ioctl (Depends-on): Update.
13064         * modules/sys_select (Depends-on): Update.
13065         * modules/sys_socket (Depends-on): Update.
13066         * modules/sys_stat (Depends-on): Update.
13067         * modules/sys_time (Depends-on): Update.
13068         * modules/sys_times (Depends-on): Update.
13069         * modules/sys_utsname (Depends-on): Update.
13070         * modules/sys_wait (Depends-on): Update.
13071         * modules/termios (Depends-on): Update.
13072         * modules/time (Depends-on): Update.
13073         * modules/unistd (Depends-on): Update.
13074         * modules/wchar (Depends-on): Update.
13075         * modules/wctype-h (Depends-on): Update.
13076         * MODULES.html.sh (Support for building libraries and executables):
13077         Update.
13078
13079         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
13080         * modules/snippet/unused-parameter: Renamed from
13081         modules/unused-parameter.
13082         (Files, Makefile.am): Update.
13083         * build-aux/snippet/unused-parameter.h: Renamed from
13084         build-aux/unused-parameter.h.
13085         * modules/selinux-h (Depends-on): Update.
13086         * modules/unistr/base (Depends-on): Update.
13087         * MODULES.html.sh (Core language properties): Update.
13088
13089         Rename module 'link-warning' to 'snippet/link-warning'.
13090         * modules/snippet/link-warning: Renamed from modules/link-warning.
13091         (Files, Makefile.am): Update.
13092         * build-aux/snippet/link-warning.h: Renamed from
13093         build-aux/link-warning.h.
13094         * MODULES.html.sh (Support for building libraries and executables):
13095         Update.
13096
13097         Rename module 'c++defs' to 'snippet/c++defs'.
13098         * modules/snippet/c++defs: Renamed from modules/c++defs.
13099         (Files, Makefile.am): Update.
13100         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
13101         * modules/arpa_inet (Depends-on): Update.
13102         * modules/ctype (Depends-on): Update.
13103         * modules/dirent (Depends-on): Update.
13104         * modules/fcntl-h (Depends-on): Update.
13105         * modules/glob (Depends-on): Update.
13106         * modules/iconv-h (Depends-on): Update.
13107         * modules/langinfo (Depends-on): Update.
13108         * modules/locale (Depends-on): Update.
13109         * modules/math (Depends-on): Update.
13110         * modules/netdb (Depends-on): Update.
13111         * modules/poll-h (Depends-on): Update.
13112         * modules/pty (Depends-on): Update.
13113         * modules/search (Depends-on): Update.
13114         * modules/signal (Depends-on): Update.
13115         * modules/spawn (Depends-on): Update.
13116         * modules/stdio (Depends-on): Update.
13117         * modules/stdlib (Depends-on): Update.
13118         * modules/string (Depends-on): Update.
13119         * modules/strings (Depends-on): Update.
13120         * modules/sys_ioctl (Depends-on): Update.
13121         * modules/sys_select (Depends-on): Update.
13122         * modules/sys_socket (Depends-on): Update.
13123         * modules/sys_stat (Depends-on): Update.
13124         * modules/sys_time (Depends-on): Update.
13125         * modules/sys_wait (Depends-on): Update.
13126         * modules/termios (Depends-on): Update.
13127         * modules/time (Depends-on): Update.
13128         * modules/unistd (Depends-on): Update.
13129         * modules/wchar (Depends-on): Update.
13130         * modules/wctype-h (Depends-on): Update.
13131
13132         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
13133         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
13134         (Files, Makefile.am): Update.
13135         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
13136         * modules/argv-iter (Depends-on): Update.
13137         * modules/arpa_inet (Depends-on): Update.
13138         * modules/dirent (Depends-on): Update.
13139         * modules/fcntl-h (Depends-on): Update.
13140         * modules/fnmatch (Depends-on): Update.
13141         * modules/getopt-posix (Depends-on): Update.
13142         * modules/glob (Depends-on): Update.
13143         * modules/iconv-h (Depends-on): Update.
13144         * modules/inttypes-incomplete (Depends-on): Update.
13145         * modules/locale (Depends-on): Update.
13146         * modules/math (Depends-on): Update.
13147         * modules/netdb (Depends-on): Update.
13148         * modules/search (Depends-on): Update.
13149         * modules/signal (Depends-on): Update.
13150         * modules/spawn (Depends-on): Update.
13151         * modules/stdio (Depends-on): Update.
13152         * modules/stdlib (Depends-on): Update.
13153         * modules/string (Depends-on): Update.
13154         * modules/strings (Depends-on): Update.
13155         * modules/sys_socket (Depends-on): Update.
13156         * modules/sys_stat (Depends-on): Update.
13157         * modules/sys_time (Depends-on): Update.
13158         * modules/sys_times (Depends-on): Update.
13159         * modules/sys_utsname (Depends-on): Update.
13160         * modules/time (Depends-on): Update.
13161         * modules/unistd (Depends-on): Update.
13162         * modules/wchar (Depends-on): Update.
13163         * MODULES.html.sh (Support for building libraries and executables):
13164         Update.
13165
13166 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13167
13168         Improvements on _Noreturn and related modules.
13169
13170         modules/_Exit-tests: test _Noreturn too
13171         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
13172         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
13173         (main): Use them.
13174
13175         stdnoreturn, stdnoreturn-tests: remove modules
13176         They're not needed here and a bit premature for use elsewhere.  See
13177         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
13178         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
13179         * tests/test-stdnoreturn.c: Remove files.
13180         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
13181         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
13182         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
13183         and using noreturn.
13184         * modules/openat, modules/sigpipe-die, modules/xalloc:
13185         * modules/xmemdup0, modules/xstrtol:
13186         Remove dependency on stdnoreturn.
13187
13188         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
13189         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
13190         Reparenthesize to avoid GCC warning.
13191         Support Microsoft's syntax.
13192         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
13193
13194         _Noreturn-tests: remove module
13195         * modules/_Noreturn-tests: Remove.
13196         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
13197         * tests/test-_Noreturn.c: Remove.
13198         * tests/test-stdnoreturn.c: Merge from the old
13199         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
13200
13201 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13202
13203         _Noreturn, stdnoreturn, and related modules.
13204
13205         * top/maint.mk: Adjust to new noreturn support.
13206         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
13207         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
13208
13209         xalloc: use stdnoreturn.h
13210         * lib/xalloc.h: Include <stdnoreturn.h>.
13211         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13212         * modules/xalloc (Depends-on): Add stdnoreturn.
13213
13214         xstrtol: use stdnoreturn.h
13215         * lib/xstrtol.h: Include <stdnoreturn.h>.
13216         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13217         * modules/xstrtol (Depends-on): Add stdnoreturn.
13218
13219         xmemdup0: use stdnoreturn.h
13220         * lib/xmemdup0.h: Include <stdnoreturn.h>.
13221         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13222         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
13223
13224         sigpipe-die: use stdnoreturn.h
13225         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
13226         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13227         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
13228
13229         openat: use stdnoreturn.h
13230         * lib/openat.h: Include <stdnoreturn.h>.
13231         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13232         * modules/openat (Depends-on): Add stdnoreturn.
13233
13234         * lib/openat-die.c (openat_save_fail): Modernize comment.
13235
13236         * lib/xalloc-die.c (xalloc_die): Modernize comment.
13237
13238         * lib/glthread/thread.h: Modernize comment.
13239
13240         obstack: use _Noreturn
13241         * lib/obstack.c (__attribute__): Remove macro.
13242         (print_and_abort): Use _Noreturn.
13243
13244         c-stack: use _Noreturn
13245         * lib/c-stack.c (die, overflow_handler, segv_handler):
13246         Use _Noreturn rather than __attribute__((noreturn)).
13247
13248         argmatch-tests, exclude_tests: use _Noreturn
13249         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
13250         Remove.
13251         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
13252
13253         stdlib: use _Noreturn
13254         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
13255         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
13256         * modules/stdlib (Depends-on): Add _Noreturn.
13257         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
13258
13259         stdnoreturn-tests: new module
13260         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
13261
13262         stdnoreturn: new module
13263         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
13264         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
13265
13266         _Noreturn-tests: new module
13267         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
13268
13269         _Noreturn: new module
13270         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
13271         New section, mentioning it.
13272         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
13273
13274         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
13275
13276 2011-07-11  Eric Blake  <eblake@redhat.com>
13277
13278         ffs: new module
13279         * modules/ffs: New file.
13280         * m4/ffs.m4: Likewise.
13281         * lib/ffs.c: Likewise.
13282         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
13283         * modules/strings (Makefile.am): Substitute witness.
13284         (Depends-on): Add c++defs.
13285         * lib/strings.in.h (ffs): Declare.
13286         * modules/ffs-tests: New test file.
13287         * tests/test-ffs.c: Test new module.
13288         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13289         * doc/posix-functions/ffs.texi (ffs): Likewise.
13290
13291         regex: avoid compiler warning
13292         * lib/regex.c (includes): Include <strings.h>, for use of
13293         strcasecmp in regcomp.c.
13294         Reported by Joachim Schmitz.
13295
13296 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13297
13298         stdint: respect system's intmax_t if INTMAX_MAX
13299         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
13300         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
13301         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
13302         long but int64_t is long long, and where we will clash with the
13303         system intmax_t if we override it.  See
13304         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
13305         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
13306         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
13307         similarly for UINTMAX_C.
13308
13309 2011-07-08  Bruno Haible  <bruno@clisp.org>
13310
13311         pthread_sigmask tests: Avoid a compiler warning.
13312         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
13313         non-zero.
13314
13315         sigprocmask tests: A better way to avoid a compiler warning.
13316         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
13317         (main): Complain if system() returns non-zero.
13318         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
13319
13320 2011-07-08  Bruno Haible  <bruno@clisp.org>
13321
13322         pthread_sigmask: Work around IRIX bug.
13323         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
13324         bug.
13325         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
13326         there may be unblocked pending signals.
13327         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
13328
13329 2011-07-08  Bruno Haible  <bruno@clisp.org>
13330
13331         pthread_sigmask: Work around Cygwin bug.
13332         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
13333         bug.
13334         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
13335         the system's pthread_sigmask function.
13336         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
13337
13338 2011-07-08  Bruno Haible  <bruno@clisp.org>
13339
13340         pthread_sigmask: Work around bug in single-threaded implementation.
13341         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
13342         FreeBSD, HP-UX, Solaris bug.
13343         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
13344         * lib/pthread_sigmask.c: Include <stddef.h>.
13345         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
13346         the system's pthread_sigmask function.
13347         * modules/pthread_sigmask (configure.ac): Invoke
13348         gl_PREREQ_PTHREAD_SIGMASK.
13349         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
13350         HP-UX, Solaris.
13351
13352 2011-07-08  Eric Blake  <eblake@redhat.com>
13353
13354         test-sigprocmask: avoid compiler warning
13355         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
13356         * tests/test-sigprocmask.c (main): Use it to silence warning.
13357         Reported by Jim Meyering.
13358
13359         test-snprintf: avoid compiler warning
13360         * tests/test-snprintf.c (main): Avoid shadowed declaration.
13361         * tests/test-vsnprintf.c (main): Likewise.
13362         Reported by Jim Meyering.
13363
13364 2011-07-08  Bruno Haible  <bruno@clisp.org>
13365
13366         Tests for module 'pthread_sigmask'.
13367         * modules/pthread_sigmask-tests: New file.
13368         * tests/test-pthread_sigmask1.c: New file, based on
13369         tests/test-sigprocmask.c.
13370         * tests/test-pthread_sigmask2.c: New file.
13371
13372 2011-07-08  Jim Meyering  <meyering@redhat.com>
13373
13374         test-getopt.h: avoid warning about an unused variable
13375         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
13376
13377 2011-07-07  Jim Meyering  <meyering@redhat.com>
13378
13379         maint: reduce list of files exempt from sc_prohibit_leading_TABs
13380         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
13381         now that it no longer contains leading TABs.
13382         Remove unused "url=FIXME" statement.
13383
13384 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13385
13386         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
13387         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13388         When gl_THREADLIB is not in use, assume that the POSIX sematics
13389         are desired.  This is better for Emacs, which uses POSIX semantics
13390         on GNUish and/or POSIXish platforms, and does not use threads at
13391         all otherwise.
13392
13393         pthread_sigmask: fix typo when testing for libraries
13394         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13395         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
13396
13397 2011-07-08  Eric Blake  <eblake@redhat.com>
13398
13399         fts: introduce FTS_NOATIME
13400         * lib/fts_.h (FTS_NOATIME): New bit flag.
13401         (FTS_OPTIONMASK): Adjust.
13402         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
13403         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
13404
13405 2011-07-08  Bruno Haible  <bruno@clisp.org>
13406
13407         Tests for module 'thread'.
13408         * modules/thread-tests: New file.
13409         * tests/test-thread_self.c: New file.
13410         * tests/test-thread_create.cc: New file.
13411
13412 2011-07-08  Bruno Haible  <bruno@clisp.org>
13413
13414         thread: Avoid gcc warnings when using gl_thread_self().
13415         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
13416         'void *'.
13417         (gl_thread_self_pointer): Update.
13418
13419 2011-07-07  Bruno Haible  <bruno@clisp.org>
13420
13421         signal-c++-tests: Check declaration of pthread_sigmask.
13422         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
13423         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
13424         $(LIB_PTHREAD_SIGMASK).
13425
13426 2011-07-07  Bruno Haible  <bruno@clisp.org>
13427
13428         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
13429         * lib/signal.in.h (pthread_sigmask): Override if
13430         REPLACE_PTHREAD_SIGMASK is 1.
13431         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13432         REPLACE_PTHREAD_SIGMASK.
13433         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
13434         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
13435         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
13436         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13437         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
13438
13439 2011-07-07  Bruno Haible  <bruno@clisp.org>
13440
13441         pthread_sigmask: Ensure declaration in <signal.h>.
13442         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
13443         include <pthread.h>.
13444         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
13445         problem.
13446
13447 2011-07-07  Bruno Haible  <bruno@clisp.org>
13448
13449         pthread_sigmask: Document the module.
13450         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
13451
13452 2011-07-07  Bruno Haible  <bruno@clisp.org>
13453
13454         pthread_sigmask: Follow gnulib conventions.
13455         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
13456         gl_PTHREAD_SIGMASK.
13457         * modules/pthread_sigmask (configure.ac): Update.
13458
13459 2011-07-07  Bruno Haible  <bruno@clisp.org>
13460
13461         pthread_sigmask: Make declaration C++ safe.
13462         * lib/signal.in.h: In two special conditions, just do an #include_next.
13463         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13464         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
13465         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13466         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13467         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
13468         not REPLACE_PTHREAD_MASK.
13469         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
13470         not REPLACE_PTHREAD_MASK.
13471         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13472
13473 2011-07-07  Bruno Haible  <bruno@clisp.org>
13474
13475         pthread_sigmask: Fix return value.
13476         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
13477         * lib/pthread_sigmask.c: New file.
13478         * modules/pthread_sigmask (Files): Add it.
13479         (configure.ac): Invoke AC_LIBOBJ.
13480
13481 2011-07-07  Eric Blake  <eblake@redhat.com>
13482
13483         getopt: more portable argv creation
13484         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
13485         const, use char arrays rather than strings.
13486         Suggested by Paul Eggert.
13487
13488 2011-07-07  Bruno Haible  <bruno@clisp.org>
13489
13490         Tests for module 'sigprocmask'.
13491         * modules/sigprocmask-tests: New file.
13492         * tests/test-sigprocmask.c: New file.
13493
13494 2011-07-07  Bruno Haible  <bruno@clisp.org>
13495
13496         float tests: Tweak.
13497         * tests/test-float.c (main): Tweak skip message.
13498
13499 2011-07-07  Eric Blake  <eblake@redhat.com>
13500
13501         getopt: avoid compiler warning during configure
13502         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
13503         assigning string literals to non-const pointer.
13504
13505         getopt-gnu: avoid crash in glibc getopt
13506         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
13507         * tests/test-getopt.h (test_getopt): Enhance test.
13508         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13509         * doc/posix-functions/getopt.texi (getopt): Document it.
13510         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13511         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13512         Likewise.
13513
13514 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
13515
13516         getopt: handle W; without long options in getopt [BZ #12922]
13517         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
13518         but no long options are defined, just return 'W'.
13519
13520 2011-07-07  Bruno Haible  <bruno@clisp.org>
13521
13522         Avoid literal tabs.
13523         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
13524         variable containing a tab instead of a literal tab.
13525         Reported by Jim Meyering.
13526
13527 2011-07-07  Bruno Haible  <bruno@clisp.org>
13528
13529         Comments.
13530         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
13531
13532 2011-07-06  Bruno Haible  <bruno@clisp.org>
13533
13534         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
13535         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
13536         <winsock2.h>.
13537         (rpl_fd_isset, FD_ISSET): New definitions, copied from
13538         lib/sys_socket.in.h.
13539         (close, gethostname): Hide declarations from <winsock2.h>.
13540         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13541         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
13542         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
13543         (select): Don't override if gnulib's <sys/select.h> was already
13544         included.
13545         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13546         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13547         setsockopt, shutdown, select): Tweak indentation.
13548
13549 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13550
13551         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
13552         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
13553         in an application that does not use the sys_select module.
13554
13555 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
13556
13557         poll: do not return 0 on timeout=-1
13558         * lib/poll.c: Loop with yield if no events occured
13559
13560 2011-07-06  Eric Blake  <eblake@redhat.com>
13561
13562         pthread_sigmask: always replace when not using pthread
13563         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
13564         replacement when using some threading other than pthread.  Fix
13565         logic bug.
13566
13567 2011-07-06  Bruno Haible  <bruno@clisp.org>
13568
13569         Comments.
13570         * m4/printf.m4: Update comments about mingw.
13571
13572 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13573
13574         sys_select: define sigset_t more portably
13575         * lib/sys_select.in.h: Always include <sys/types.h>, since
13576         we now need sigset_t and mingw defines it there.
13577         Include <signal.h> before split inclusion guard, to avoid
13578         mishaps on Solaris, whose <signal.h> eventually includes us.
13579         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
13580         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
13581         which come from ...
13582         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
13583         gl_CHECK_TYPE_SIGSET_T.
13584         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
13585         does the real work.
13586         * modules/sys_select (Depends-on): Add 'signal'.
13587
13588         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
13589         Suggested by Bruno Haible.
13590
13591         pselect: Use pthread_sigmask, not sigprocmask.
13592         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
13593         multithreaded apps better than sigprocmask does.
13594         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
13595         sigprocmask directly.
13596
13597 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13598
13599         * lib/pselect.c (pselect): Use plain name, without "rpl_".
13600         Don't #undef,  since we don't need any underlying pselect.
13601         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
13602         (Depends-on): Add select.
13603         (Link): Add $(LIBSOCKET).
13604         These changes suggested by Bruno Haible.
13605
13606         pselect: document better
13607         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13608         * doc/posix-functions/pselect.texi (pselect): Document new module.
13609
13610         pthread_sigmask: new module
13611         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13612         * doc/posix-functions/pthread_sigmask.texi: Document new module.
13613         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
13614         This is done only as a macro; I don't know how well that'll
13615         work for C++.  Move <sys/types.h> include before the include_next,
13616         to avoid mishap on Solaris.
13617         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
13618         * modules/signal (Makefile.am): Substitute the check's results.
13619         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
13620
13621         test-pselect: new module
13622         * modules/pselect-tests, tests/test-pselect.c: New files.
13623         * tests/test-select.c, tests/test-sys_select-c++.cc:
13624         If TEST_PSELECT is defined, test pselect instead of testing select.
13625
13626         * tests/test-sys_select.c (sigset_t): Test for it, too.
13627         Suggested by Bruno Haible.
13628
13629 2011-07-05  Eric Blake  <eblake@redhat.com>
13630
13631         snprintf: guarantee %1$d, for libintl
13632         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
13633         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
13634         * doc/posix-functions/snprintf.texi (snprintf): Update.
13635         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13636         * tests/test-snprintf.c (main): Enhance test.
13637         * tests/test-vsnprintf.c (main): Likewise.
13638
13639 2011-07-05  Jim Meyering  <meyering@redhat.com>
13640
13641         maint: exempt stdio-read.c and stdio-write.c from the cppi check
13642         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
13643         per Bruno's request, to accommodate this idiom (no space after "#")
13644         even when the function is inside an #if block:
13645         char *
13646         gets (char *s)
13647         #undef gets
13648         {
13649           ...
13650         }
13651
13652 2011-07-04  Jim Meyering  <meyering@redhat.com>
13653
13654         maint: indent with spaces, not TABs, and add a rule to check this
13655         * tests/test-userspec.c: Indent with spaces, not TABs.
13656         * tests/test-argp.c: Likewise.
13657         * tests/test-c-stack2.sh: Likewise.
13658         * tests/test-parse-duration.sh: Likewise
13659         * m4/strtod.m4: Likewise.
13660         * m4/alloca.m4: Likewise.
13661         * m4/pselect.m4: Likewise.
13662         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
13663
13664 2011-07-03  Jim Meyering  <meyering@redhat.com>
13665
13666         maint.mk: correct omissions in prohibit_argmatch_without_use check
13667         This rule would mistakenly report that argmatch.h is included without
13668         use even when both the argmatch and invalid_arg macro were used.
13669         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
13670         of argmatch and invalid_arg.
13671
13672 2011-07-03  Bruno Haible  <bruno@clisp.org>
13673
13674         Comments about EINTR.
13675         * lib/safe-read.h: Explain the purpose of this module.
13676         * lib/safe-write.h: Likewise.
13677         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
13678         module.
13679         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
13680         module.
13681         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13682
13683 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13684
13685         xnanosleep: Rewrite to use new dtotimespec module.
13686         It has the conversion code that used to be in xnanosleep.
13687         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
13688         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
13689         (TIME_T_MAX): Remove.
13690         (xnanosleep): Rewrite in terms of dtotimespec.
13691         * modules/xnanosleep (Depends-on): Add dtotimespec.
13692         Remove intprops, stdbool.
13693
13694         timespec-add, timespec-sub: new modules
13695         * lib/timespec.h (timespec_add, timespec_sub): New decls.
13696         * lib/timespec-add.c, lib/timespec-sub.c:
13697         * modules/timespec-add, modules/timespec-sub: New files.
13698
13699         dtotimespec: new module
13700         * lib/timespec.h (dtotimespec): New decl.
13701         * lib/dtotimespec.c, modules/dtotimespec: New files.
13702
13703         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
13704
13705         pselect: new module
13706         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
13707         (pselect): New decls.
13708         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
13709         since the standard pselect decl uses 'restrict'.
13710         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
13711         HAVE_PSELECT, REPLACE_PSELECT.
13712         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
13713         HAVE_PSELECT, REPLACE_PSELECT.
13714         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
13715
13716         sys_select: don't depend on sys_socket
13717         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
13718         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
13719         This fix works on GNU and GNU-like platforms, but has not been tested
13720         on native Windows.
13721         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
13722         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
13723         gl_HEADER_SYS_SOCKET.
13724         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
13725         gl_PREREQ_SYS_H_WINSOCK2.
13726
13727 2011-06-29  Eric Blake  <eblake@redhat.com>
13728
13729         pipe2: fix C89 compile problem
13730         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
13731         Reported by Bruno Haible.
13732
13733         pipe, pipe2: don't corrupt fd on error
13734         * lib/pipe.c (pipe): Leave fd unchanged on error.
13735         * lib/pipe2.c (pipe2): Likewise.
13736         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
13737         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13738
13739 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
13740
13741         mmap-anon: do not use regular expressions inadvertently
13742         * m4/mmap-anon.m4: Remove trailing period from strings sought
13743         in the output.
13744
13745 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
13746
13747         nanosleep: fix integer overflow problem
13748         * lib/nanosleep.c (my_usleep): Don't assume signed integer
13749         arithmetic wraps around on overflow.
13750
13751         nanosleep: simplify carrying
13752         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
13753         first call to the underyling nanosleep, not for the last one.
13754         This doesn't fix any bugs, but it simplifies the computation of
13755         the remaining delay.  Found while auditing integer overflow issues.
13756
13757         dup2: remove test for existence of fcntl
13758         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
13759         "#if HAVE_FCNTL", in the configure-time test program.
13760         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
13761         and therefore speeds up "configure" a bit.  Found while
13762         adding the dup2 module to Emacs.
13763
13764 2011-06-24  Eric Blake  <eblake@redhat.com>
13765
13766         maint.mk: enhance useless header checks
13767         * top/maint.mk (_sc_header_without_use): Check both include
13768         styles.
13769         (sc_prohibit_assert_without_use)
13770         (sc_prohibit_close_stream_without_use)
13771         (sc_prohibit_getopt_without_use)
13772         (sc_prohibit_quotearg_without_use)
13773         (sc_prohibit_quote_without_use)
13774         (sc_prohibit_long_options_without_use)
13775         (sc_prohibit_inttostr_without_use)
13776         (sc_prohibit_ignore_value_without_use)
13777         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
13778         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
13779         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
13780         (sc_prohibit_hash_pjw_without_use)
13781         (sc_prohibit_safe_read_without_use)
13782         (sc_prohibit_argmatch_without_use)
13783         (sc_prohibit_canonicalize_without_use)
13784         (sc_prohibit_root_dev_ino_without_use)
13785         (sc_prohibit_openat_without_use)
13786         (sc_prohibit_c_ctype_without_use)
13787         (sc_prohibit_signal_without_use)
13788         (sc_prohibit_stdio--_without_use)
13789         (sc_prohibit_stdio-safer_without_use)
13790         (sc_prohibit_strings_without_use)
13791         (sc_prohibit_intprops_without_use)
13792         (sc_prohibit_stddef_without_use)
13793         (sc_prohibit_xfreopen_without_use): Update clients.
13794
13795 2011-06-24  Jim Meyering  <meyering@redhat.com>
13796
13797         syntax-check: keep one maint.mk rule in sync with its header
13798         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
13799         of the bug Eric has just fixed, with today's commit 25e4c2ec.
13800         I prefer to avoid temporary files here, so use <(...), but that
13801         is not supported by /bin/sh, so...
13802         (SHELL): Define to /bin/bash.
13803
13804 2011-06-24  Eric Blake  <eblake@redhat.com>
13805
13806         maint.mk: update sc_prohibit_intprops_without_use
13807         * top/maint.mk (_intprops_names): Match recent changes.
13808
13809 2011-06-24  Bruno Haible  <bruno@clisp.org>
13810
13811         strerror-override: No-op tweak.
13812         * lib/strerror-override.h (strerror_override): Reorder conditions,
13813         for consistency with lib/strerror-override.c.
13814
13815 2011-06-23  Eric Blake  <eblake@redhat.com>
13816
13817         maint.mk: test further PATH_MAX issues
13818         * top/maint.mk (sc_prohibit_path_max_array): Rename...
13819         (sc_prohibit_path_max_allocation): ...and also test alloca.
13820         Suggested by Jim Meyering.
13821
13822 2011-06-22  Eric Blake  <eblake@redhat.com>
13823
13824         maint.mk: add syntax-check to avoid char[PATH_MAX]
13825         * top/maint.mk (sc_prohibit_path_max_array): New rule.
13826
13827         stat: be robust to PATH_MAX definition
13828         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
13829         * modules/stat (Depends-on): Add verify.
13830
13831         link: work around IRIX bug
13832         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
13833         * lib/link.c (rpl_link): Work around it.
13834         * tests/test-link.h (test_link): Enhance test.
13835         * doc/posix-functions/link.texi (link): Document the bug.
13836
13837         getopt: silence clang warning
13838         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
13839         dereference.
13840         Reported by Gustavo Martin Domato.
13841
13842 2011-06-22  Jim Meyering  <meyering@redhat.com>
13843
13844         bootstrap: do not insert a blank line into each .gitignore file
13845         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
13846
13847 2011-06-21  Eric Blake  <eblake@redhat.com>
13848
13849         perror: test for output mismatch
13850         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
13851         perror on IRIX.
13852
13853         strerror_r: fix OpenBSD behavior on out-of-range
13854         * lib/strerror_r.c (strerror_r): Always use maximal string.
13855         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13856
13857         strerror_r: fix OpenBSD behavior on 0
13858         * lib/strerror-override.c (strerror_override): Also override 0
13859         when needed.
13860         * lib/strerror-override.h (strerror_override): Likewise.
13861         * lib/strerror.c (strerror): Simplify, now that 0 override is done
13862         earlier.
13863         * lib/strerror_r.c (strerror_r): Likewise.
13864         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
13865         behavior...
13866         (gl_FUNC_STRERROR_0): ...into new macro.
13867         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
13868         is overridden.
13869         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
13870         * modules/strerror-override (Files): Add strerror.m4.
13871         (configure.ac): Also provide override for 0 when needed.
13872         * doc/posix-functions/strerror.texi (strerror): Document this.
13873         * doc/posix-functions/perror.texi (perror): Likewise.
13874
13875         perror: adjust array size
13876         * modules/perror (Depends-on): Add strerror-override.
13877         * lib/perror.c (perror): Use it to avoid magic number.
13878
13879         strerror-override: reduce size
13880         * lib/strerror-override.c (strerror_override): Use fewer lines.
13881
13882 2011-06-20  Bruno Haible  <bruno@clisp.org>
13883
13884         pathmax: Ensure correct value for PATH_MAX on HP-UX.
13885         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
13886
13887 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13888
13889         alloca: port to compilers that can optimize like GCC 4.6.0
13890         * lib/alloca.c (find_stack_direction): New signature, taken from
13891         Autoconf git.  This works with GCC 4.6.0.  This code should never
13892         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
13893         be used with other compilers that optimize as well as GCC 4.6.0 does.
13894         (alloca): Adjust to new signature.
13895         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
13896         New macro, which patches Autoconf in a similar way.
13897
13898         c-stack: stop worrying about stack direction
13899         * lib/c-stack.c (find_stack_direction): Remove.
13900         (segv_handler): Don't worry about stack direction growth, as it's
13901         too much of a pain to configure this correctly, given how compilers
13902         are optimizing-away our stack-growth detection code.  Instead, assume
13903         that any access to just before or just after the stack is OK.
13904         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
13905         Don't require AC_FUNC_ALLOCA; no longer needed.
13906
13907 2011-06-20  Eric Blake  <eblake@redhat.com>
13908
13909         test-stat: don't allocate PATH_MAX bytes
13910         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
13911         PATH_MAX-sized buffer.
13912         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
13913         * modules/stat-tests (Depends-on): Likewise.
13914         * tests/test-fstatat.c (includes): Drop pathmax.h.
13915         * tests/test-stat.c (includes): Likewise.
13916         Reported by Bruno Haible.
13917
13918 2011-06-20  Bruno Haible  <bruno@clisp.org>
13919
13920         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
13921         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
13922         * lib/float.c: New file.
13923         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
13924         REPLACE_FLOAT_LDBL.
13925         * modules/float (Files): Add lib/float.c.
13926         (configure.ac): Invoke AC_LIBOBJ.
13927         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
13928
13929 2011-06-20  Bruno Haible  <bruno@clisp.org>
13930
13931         Tests for module 'float'.
13932         * modules/float-tests: New file.
13933         * tests/test-float.c: New file.
13934
13935 2011-06-19  Bruno Haible  <bruno@clisp.org>
13936
13937         isinf: Coding style.
13938         * lib/isinf.c: Use GNU coding style.
13939
13940 2011-06-19  Bruno Haible  <bruno@clisp.org>
13941
13942         linkat test: Avoid test failure on AIX 7.1.
13943         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
13944         * tests/test-link.h (test_link): Likewise.
13945
13946 2011-06-19  Bruno Haible  <bruno@clisp.org>
13947
13948         pread test: Avoid test failure on OpenBSD 4.9.
13949         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
13950
13951 2011-06-19  Bruno Haible  <bruno@clisp.org>
13952
13953         sprintf-posix: Fix test failure on AIX 7.1.
13954         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
13955         * doc/posix-functions/dprintf.texi: Mention limited precision problem
13956         on AIX.
13957         * doc/posix-functions/fprintf.texi: Likewise.
13958         * doc/posix-functions/printf.texi: Likewise.
13959         * doc/posix-functions/snprintf.texi: Likewise.
13960         * doc/posix-functions/sprintf.texi: Likewise.
13961         * doc/posix-functions/vdprintf.texi: Likewise.
13962         * doc/posix-functions/vfprintf.texi: Likewise.
13963         * doc/posix-functions/vprintf.texi: Likewise.
13964         * doc/posix-functions/vsnprintf.texi: Likewise.
13965         * doc/posix-functions/vsprintf.texi: Likewise.
13966
13967 2011-06-19  Bruno Haible  <bruno@clisp.org>
13968
13969         roundl-ieee: Fix test failure on AIX 7.1.
13970         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
13971         * doc/posix-functions/roundl.texi: Mention problem with negative
13972         arguments.
13973
13974 2011-06-19  Bruno Haible  <bruno@clisp.org>
13975
13976         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13977         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
13978         * doc/posix-functions/round.texi: Mention problem with negative
13979         arguments.
13980         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
13981
13982 2011-06-19  Bruno Haible  <bruno@clisp.org>
13983
13984         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13985         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
13986         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
13987         * doc/posix-functions/roundf.texi: Mention problem with negative
13988         arguments.
13989         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
13990
13991 2011-06-19  Bruno Haible  <bruno@clisp.org>
13992
13993         ceilf-ieee: Work around bug on MacOS X 10.5.
13994         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
13995
13996         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
13997         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
13998         IEEE compliant, avoid compiler optimizations.
13999         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14000         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14001         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14002         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14003         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14004         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14005         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14006         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14007         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14008         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14009
14010 2011-06-19  Bruno Haible  <bruno@clisp.org>
14011
14012         ceilf-ieee: Work around bug on AIX 7.1.
14013         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
14014         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
14015
14016 2011-06-19  Bruno Haible  <bruno@clisp.org>
14017
14018         ceil-ieee: Work around bug on AIX 7.1.
14019         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
14020         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
14021
14022 2011-06-18  Bruno Haible  <bruno@clisp.org>
14023
14024         fsync test: Avoid test failure on MacOS X and AIX.
14025         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
14026         EINVAL.
14027
14028 2011-06-18  Bruno Haible  <bruno@clisp.org>
14029
14030         openat, fdopendir tests: Fix link errors.
14031         * modules/openat-tests (Depends-on): Add progname.
14032         * modules/fdopendir-tests (Depends-on): Likewise.
14033         * tests/test-fchownat.c: Include progname.h.
14034         (main): Call set_program_name.
14035         * tests/test-fstatat.c: Include progname.h.
14036         (main): Call set_program_name.
14037         * tests/test-mkdirat.c: Include progname.h.
14038         (main): Call set_program_name.
14039         * tests/test-openat.c: Include progname.h.
14040         (main): Call set_program_name.
14041         * tests/test-unlinkat.c: Include progname.h.
14042         (main): Call set_program_name.
14043         * tests/test-fdopendir.c: Include progname.h.
14044         (main): Call set_program_name.
14045
14046 2011-06-18  Bruno Haible  <bruno@clisp.org>
14047
14048         Doc update.
14049         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
14050         HP-UX.
14051         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
14052
14053 2011-06-18  Bruno Haible  <bruno@clisp.org>
14054
14055         getcwd tests: Avoid compilation error on HP-UX 11.31.
14056         * modules/getcwd-tests (Depends-on): Add pathmax.
14057         * tests/test-getcwd.c: Include pathmax.h.
14058
14059 2011-06-18  Bruno Haible  <bruno@clisp.org>
14060
14061         isfinite, isinf: Fix link error on AIX 6 and 7.
14062         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
14063         needed, also test the macro with a 'float' argument.
14064         * m4/isinf.m4 (gl_ISINF): Likewise.
14065
14066 2011-06-18  Bruno Haible  <bruno@clisp.org>
14067
14068         getloadavg: Don't clobber LIBS. Regression from previous commit.
14069         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
14070         AC_CHECK_LIB from here...
14071         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
14072         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
14073         gl_func_getloadavg_done.
14074         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14075
14076 2011-06-18  Bruno Haible  <bruno@clisp.org>
14077
14078         clean-temp: Improve documentation.
14079         * lib/clean-temp.h: Explain better how to use this module.
14080         Reported by John Darrington <john@darrington.wattle.id.au>.
14081
14082 2011-06-17  Bruno Haible  <bruno@clisp.org>
14083
14084         pread, pwrite: Avoid cc warning on AIX.
14085         * lib/unistd.in.h (pread): Undefine before defining as a macro.
14086         (pwrite): Likewise.
14087
14088 2011-06-17  Bruno Haible  <bruno@clisp.org>
14089
14090         spawn-pipe tests: Fix link error.
14091         * tests/test-spawn-pipe-child.c: Undefine fprintf.
14092         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14093
14094 2011-06-17  Bruno Haible  <bruno@clisp.org>
14095
14096         Tests: Remove unnecessary dependency.
14097         * modules/canonicalize-tests (Depends-on): Remove progname.
14098         * modules/chown-tests (Depends-on): Likewise.
14099         * modules/dirname-tests (Depends-on): Likewise.
14100         * modules/fdopendir-tests (Depends-on): Likewise.
14101         * modules/fdutimensat-tests (Depends-on): Likewise.
14102         * modules/hash-tests (Depends-on): Likewise.
14103         * modules/lchown-tests (Depends-on): Likewise.
14104         * modules/linkat-tests (Depends-on): Likewise.
14105         * modules/renameat-tests (Depends-on): Likewise.
14106         * modules/spawn-pipe-tests (Depends-on): Likewise.
14107         * modules/utimensat-tests (Depends-on): Likewise.
14108
14109 2011-06-17  Bruno Haible  <bruno@clisp.org>
14110
14111         spawn-pipe tests: Fix link error.
14112         * tests/test-spawn-pipe-child.c: Undefine fflush.
14113
14114 2011-06-17  Bruno Haible  <bruno@clisp.org>
14115
14116         Fix tests link errors.
14117         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
14118         * modules/chown-tests (Makefile.am): Don't link test-chown with
14119         LIBINTL.
14120         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
14121         LIBINTL.
14122         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
14123         LIBINTL.
14124         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
14125         LIBINTL.
14126
14127 2011-06-16  Bruno Haible  <bruno@clisp.org>
14128
14129         crypto/gc-sha1: Fix recent regression.
14130         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
14131         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
14132
14133         crypto/gc-md5: Fix recent regression.
14134         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
14135
14136         crypto/gc-md4: Fix recent regression.
14137         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
14138         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
14139
14140         crypto/gc-arctwo: Fix recent regression.
14141         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
14142         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
14143
14144         crypto/gc-rijndael: Fix recent regression.
14145         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
14146         (configure.ac): Invoke AC_LIBOBJ here.
14147         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
14148         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14149
14150         crypto/gc-hmac-sha1: Fix recent regression.
14151         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
14152         (configure.ac): Invoke AC_LIBOBJ here.
14153         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
14154         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14155
14156         crypto/gc-hmac-md5: Fix recent regression.
14157         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
14158         (configure.ac): Invoke AC_LIBOBJ here.
14159         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
14160         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14161
14162         crypto/gc-des: Fix recent regression.
14163         * modules/crypto/gc-des (Files): Remove m4/des.m4.
14164         (configure.ac): Invoke AC_LIBOBJ here.
14165         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
14166         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14167
14168         crypto/gc-arcfour: Fix recent regression.
14169         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
14170         (configure.ac): Invoke AC_LIBOBJ here.
14171         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
14172         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14173
14174 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
14175
14176         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
14177         After the 2011-05-21 change, this macro requires
14178         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
14179         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14180
14181 2011-06-16  Bruno Haible  <bruno@clisp.org>
14182
14183         fprintftime: Move AC_LIBOBJ invocations to module description.
14184         * m4/fprintftime.m4: Remove file.
14185         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
14186         (configure.ac): Remove gl_FPRINTFTIME call.
14187         (Makefile.am): Augment lib_SOURCES.
14188         Reported by Jim Meyering.
14189
14190 2011-06-16  Bruno Haible  <bruno@clisp.org>
14191
14192         tmpfile-safer: Finish 2011-05-23 commit.
14193         * m4/stdio-safer.m4: Really remove file.
14194         Reported by Jim Meyering.
14195
14196 2011-06-16  Bruno Haible  <bruno@clisp.org>
14197
14198         syntax-check: Fix typo.
14199         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
14200         printf-posix.m4.
14201         Reported by Jim Meyering.
14202
14203 2011-06-13  Jim Meyering  <meyering@redhat.com>
14204
14205         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
14206         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
14207
14208 2011-05-23  Bruno Haible  <bruno@clisp.org>
14209
14210         yesno: Move AC_LIBOBJ invocations to module description.
14211         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
14212         * modules/yesno (Makefile.am): Augment lib_SOURCES.
14213
14214 2011-05-23  Bruno Haible  <bruno@clisp.org>
14215
14216         xstrtol: Move AC_LIBOBJ invocations to module description.
14217         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
14218         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
14219
14220 2011-05-23  Bruno Haible  <bruno@clisp.org>
14221
14222         xstrtold: Move AC_LIBOBJ invocations to module description.
14223         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
14224         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
14225
14226 2011-05-23  Bruno Haible  <bruno@clisp.org>
14227
14228         xstrtod: Move AC_LIBOBJ invocations to module description.
14229         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
14230         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
14231
14232 2011-05-23  Bruno Haible  <bruno@clisp.org>
14233
14234         xnanosleep: Move AC_LIBOBJ invocations to module description.
14235         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
14236         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
14237
14238 2011-05-23  Bruno Haible  <bruno@clisp.org>
14239
14240         xgetcwd: Move AC_LIBOBJ invocations to module description.
14241         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
14242         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
14243
14244 2011-05-23  Bruno Haible  <bruno@clisp.org>
14245
14246         xalloc: Move AC_LIBOBJ invocations to module description.
14247         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
14248         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
14249
14250 2011-05-23  Bruno Haible  <bruno@clisp.org>
14251
14252         write-any-file: Move AC_LIBOBJ invocations to module description.
14253         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
14254         invocation.
14255         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
14256
14257 2011-05-23  Bruno Haible  <bruno@clisp.org>
14258
14259         utimens: Move AC_LIBOBJ invocations to module description.
14260         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
14261         * modules/utimens (Makefile.am): Augment lib_SOURCES.
14262
14263 2011-05-23  Bruno Haible  <bruno@clisp.org>
14264
14265         utimecmp: Move AC_LIBOBJ invocations to module description.
14266         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
14267         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
14268
14269 2011-05-23  Bruno Haible  <bruno@clisp.org>
14270
14271         userspec: Move AC_LIBOBJ invocations to module description.
14272         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
14273         * modules/userspec (Makefile.am): Augment lib_SOURCES.
14274
14275 2011-05-23  Bruno Haible  <bruno@clisp.org>
14276
14277         unlinkdir: Move AC_LIBOBJ invocations to module description.
14278         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
14279         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
14280
14281 2011-05-23  Bruno Haible  <bruno@clisp.org>
14282
14283         unistd-safer: Move AC_LIBOBJ invocations to module description.
14284         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
14285         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
14286
14287 2011-05-23  Bruno Haible  <bruno@clisp.org>
14288
14289         tempname: Move AC_LIBOBJ invocations to module description.
14290         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
14291         * modules/tempname (Makefile.am): Augment lib_SOURCES.
14292
14293 2011-05-23  Bruno Haible  <bruno@clisp.org>
14294
14295         strftime: Move AC_LIBOBJ invocations to module description.
14296         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
14297         * modules/strftime (Makefile.am): Augment lib_SOURCES.
14298
14299 2011-05-23  Bruno Haible  <bruno@clisp.org>
14300
14301         stdlib-safer: Move AC_LIBOBJ invocations to module description.
14302         * m4/stdlib-safer.m4: Remove file.
14303         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
14304         (configure.ac): Remove gl_STDLIB_SAFER call.
14305         (Makefile.am): Augment lib_SOURCES.
14306
14307 2011-05-23  Bruno Haible  <bruno@clisp.org>
14308
14309         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
14310         * m4/stdio-safer.m4: Remove file.
14311         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
14312         (configure.ac): Remove gl_TMPFILE_SAFER call.
14313         (Makefile.am): Augment lib_SOURCES.
14314
14315 2011-05-23  Bruno Haible  <bruno@clisp.org>
14316
14317         popen-safer: Move AC_LIBOBJ invocations to module description.
14318         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
14319         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
14320         (configure.ac): Remove gl_POPEN_SAFER call.
14321         (Makefile.am): Augment lib_SOURCES.
14322
14323 2011-05-23  Bruno Haible  <bruno@clisp.org>
14324
14325         freopen-safer: Move AC_LIBOBJ invocations to module description.
14326         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
14327         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
14328         (configure.ac): Remove gl_FREOPEN_SAFER call.
14329         (Makefile.am): Augment lib_SOURCES.
14330
14331 2011-05-23  Bruno Haible  <bruno@clisp.org>
14332
14333         fopen-safer: Move AC_LIBOBJ invocations to module description.
14334         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
14335         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
14336         (configure.ac): Remove gl_FOPEN_SAFER call.
14337         (Makefile.am): Augment lib_SOURCES.
14338
14339 2011-05-23  Bruno Haible  <bruno@clisp.org>
14340
14341         crypto/sha512: Move AC_LIBOBJ invocations to module description.
14342         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
14343         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
14344
14345 2011-05-23  Bruno Haible  <bruno@clisp.org>
14346
14347         crypto/sha256: Move AC_LIBOBJ invocations to module description.
14348         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
14349         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
14350
14351 2011-05-23  Bruno Haible  <bruno@clisp.org>
14352
14353         crypto/sha1: Move AC_LIBOBJ invocations to module description.
14354         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
14355         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
14356
14357 2011-05-23  Bruno Haible  <bruno@clisp.org>
14358
14359         settime: Move AC_LIBOBJ invocations to module description.
14360         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
14361         * modules/settime (Makefile.am): Augment lib_SOURCES.
14362
14363 2011-05-23  Bruno Haible  <bruno@clisp.org>
14364
14365         savedir: Move AC_LIBOBJ invocations to module description.
14366         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
14367         * modules/savedir (Makefile.am): Augment lib_SOURCES.
14368
14369 2011-05-23  Bruno Haible  <bruno@clisp.org>
14370
14371         save-cwd: Move AC_LIBOBJ invocations to module description.
14372         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
14373         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
14374
14375 2011-05-23  Bruno Haible  <bruno@clisp.org>
14376
14377         same: Move AC_LIBOBJ invocations to module description.
14378         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
14379         * modules/same (Makefile.am): Augment lib_SOURCES.
14380
14381 2011-05-23  Bruno Haible  <bruno@clisp.org>
14382
14383         safe-write: Move AC_LIBOBJ invocations to module description.
14384         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
14385         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
14386         instead of gl_SAFE_WRITE.
14387         (Makefile.am): Augment lib_SOURCES.
14388
14389 2011-05-23  Bruno Haible  <bruno@clisp.org>
14390
14391         safe-read: Move AC_LIBOBJ invocations to module description.
14392         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
14393         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
14394         of gl_SAFE_READ.
14395         (Makefile.am): Augment lib_SOURCES.
14396
14397 2011-05-23  Bruno Haible  <bruno@clisp.org>
14398
14399         safe-alloc: Move AC_LIBOBJ invocations to module description.
14400         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
14401         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
14402
14403 2011-05-23  Bruno Haible  <bruno@clisp.org>
14404
14405         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
14406         * m4/rijndael.m4: Remove file.
14407         * modules/crypto/rijndael (Files): Remove it.
14408         (configure.ac): Remove gl_RIJNDAEL call.
14409         (Makefile.am): Augment lib_SOURCES.
14410
14411 2011-05-23  Bruno Haible  <bruno@clisp.org>
14412
14413         readtokens: Move AC_LIBOBJ invocations to module description.
14414         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
14415         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
14416
14417 2011-05-23  Bruno Haible  <bruno@clisp.org>
14418
14419         read-file: Move AC_LIBOBJ invocations to module description.
14420         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
14421         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
14422         of gl_FUNC_READ_FILE.
14423         (Makefile.am): Augment lib_SOURCES.
14424
14425 2011-05-23  Bruno Haible  <bruno@clisp.org>
14426
14427         quotearg: Move AC_LIBOBJ invocations to module description.
14428         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
14429         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
14430
14431 2011-05-23  Bruno Haible  <bruno@clisp.org>
14432
14433         quote: Move AC_LIBOBJ invocations to module description.
14434         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
14435         * modules/quote (Makefile.am): Augment lib_SOURCES.
14436
14437 2011-05-23  Bruno Haible  <bruno@clisp.org>
14438
14439         posixver: Move AC_LIBOBJ invocations to module description.
14440         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
14441         * modules/posixver (Makefile.am): Augment lib_SOURCES.
14442
14443 2011-05-23  Bruno Haible  <bruno@clisp.org>
14444
14445         posixtm: Move AC_LIBOBJ invocations to module description.
14446         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
14447         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
14448
14449 2011-05-23  Bruno Haible  <bruno@clisp.org>
14450
14451         physmem: Move AC_LIBOBJ invocations to module description.
14452         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
14453         * modules/physmem (Makefile.am): Augment lib_SOURCES.
14454
14455 2011-05-23  Bruno Haible  <bruno@clisp.org>
14456
14457         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
14458         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
14459         invocation.
14460         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
14461
14462 2011-05-23  Bruno Haible  <bruno@clisp.org>
14463
14464         mpsort: Move AC_LIBOBJ invocations to module description.
14465         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
14466         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
14467
14468 2011-05-23  Bruno Haible  <bruno@clisp.org>
14469
14470         modechange: Move AC_LIBOBJ invocations to module description.
14471         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
14472         * modules/modechange (Makefile.am): Augment lib_SOURCES.
14473
14474 2011-05-23  Bruno Haible  <bruno@clisp.org>
14475
14476         mkdir-p: Move AC_LIBOBJ invocations to module description.
14477         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
14478         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
14479
14480 2011-05-23  Bruno Haible  <bruno@clisp.org>
14481
14482         mkancesdirs: Move AC_LIBOBJ invocations to module description.
14483         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
14484         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
14485
14486 2011-05-23  Bruno Haible  <bruno@clisp.org>
14487
14488         mgetgroups: Move AC_LIBOBJ invocations to module description.
14489         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
14490         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
14491
14492 2011-05-23  Bruno Haible  <bruno@clisp.org>
14493
14494         memxor: Move AC_LIBOBJ invocations to module description.
14495         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
14496         * modules/memxor (Makefile.am): Augment lib_SOURCES.
14497
14498 2011-05-23  Bruno Haible  <bruno@clisp.org>
14499
14500         memcoll: Move AC_LIBOBJ invocations to module description.
14501         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
14502         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
14503
14504 2011-05-23  Bruno Haible  <bruno@clisp.org>
14505
14506         memcasecmp: Move AC_LIBOBJ invocations to module description.
14507         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
14508         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
14509
14510 2011-05-23  Bruno Haible  <bruno@clisp.org>
14511
14512         crypto/md5: Move AC_LIBOBJ invocations to module description.
14513         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
14514         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
14515
14516 2011-05-23  Bruno Haible  <bruno@clisp.org>
14517
14518         crypto/md4: Move AC_LIBOBJ invocations to module description.
14519         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
14520         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
14521
14522 2011-05-23  Bruno Haible  <bruno@clisp.org>
14523
14524         crypto/md2: Move AC_LIBOBJ invocations to module description.
14525         * m4/md2.m4: Remove file.
14526         * modules/crypto/md2 (Files): Remove it.
14527         (configure.ac): Remove gl_MD2 call.
14528         (Makefile.am): Augment lib_SOURCES.
14529
14530 2011-05-23  Bruno Haible  <bruno@clisp.org>
14531
14532         long-options: Move AC_LIBOBJ invocations to module description.
14533         * m4/long-options.m4: Remove file.
14534         * modules/long-options (Files): Remove it.
14535         (configure.ac): Remove gl_LONG_OPTIONS call.
14536         (Makefile.am): Augment lib_SOURCES.
14537
14538 2011-05-23  Bruno Haible  <bruno@clisp.org>
14539
14540         i-ring: Move AC_LIBOBJ invocations to module description.
14541         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
14542         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
14543
14544 2011-05-23  Bruno Haible  <bruno@clisp.org>
14545
14546         idcache: Move AC_LIBOBJ invocations to module description.
14547         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
14548         * modules/idcache (Makefile.am): Augment lib_SOURCES.
14549
14550 2011-05-23  Bruno Haible  <bruno@clisp.org>
14551
14552         human: Move AC_LIBOBJ invocations to module description.
14553         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
14554         * modules/human (Makefile.am): Augment lib_SOURCES.
14555
14556 2011-05-23  Bruno Haible  <bruno@clisp.org>
14557
14558         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
14559         * m4/hmac-sha1.m4: Remove file.
14560         * modules/crypto/hmac-sha1 (Files): Remove it.
14561         (configure.ac): Remove gl_HMAC_SHA1 call.
14562         (Makefile.am): Augment lib_SOURCES.
14563
14564 2011-05-23  Bruno Haible  <bruno@clisp.org>
14565
14566         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
14567         * m4/hmac-md5.m4: Remove file.
14568         * modules/crypto/hmac-md5 (Files): Remove it.
14569         (configure.ac): Remove gl_HMAC_MD5 call.
14570         (Makefile.am): Augment lib_SOURCES.
14571
14572 2011-05-23  Bruno Haible  <bruno@clisp.org>
14573
14574         hash: Move AC_LIBOBJ invocations to module description.
14575         * m4/hash.m4: Remove file.
14576         * modules/hash (Files): Remove it.
14577         (configure.ac): Remove gl_HASH call.
14578         (Makefile.am): Augment lib_SOURCES.
14579
14580 2011-05-23  Bruno Haible  <bruno@clisp.org>
14581
14582         hard-locale: Move AC_LIBOBJ invocations to module description.
14583         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
14584         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
14585
14586 2011-05-23  Bruno Haible  <bruno@clisp.org>
14587
14588         getugroups: Move AC_LIBOBJ invocations to module description.
14589         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
14590         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
14591
14592 2011-05-23  Bruno Haible  <bruno@clisp.org>
14593
14594         gettime: Move AC_LIBOBJ invocations to module description.
14595         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
14596         * modules/gettime (Makefile.am): Augment lib_SOURCES.
14597
14598 2011-05-23  Bruno Haible  <bruno@clisp.org>
14599
14600         getndelim2: Move AC_LIBOBJ invocations to module description.
14601         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
14602         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
14603
14604 2011-05-23  Bruno Haible  <bruno@clisp.org>
14605
14606         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
14607         * m4/gc-pbkdf2-sha1.m4: Remove file.
14608         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
14609         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
14610         (Makefile.am): Augment lib_SOURCES.
14611
14612 2011-05-23  Bruno Haible  <bruno@clisp.org>
14613
14614         fts: Move AC_LIBOBJ invocations to module description.
14615         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
14616         * modules/fts (configure.ac): ... to here.
14617
14618 2011-05-23  Bruno Haible  <bruno@clisp.org>
14619
14620         file-type: Move AC_LIBOBJ invocations to module description.
14621         * m4/file-type.m4: Remove file.
14622         * modules/file-type (Files): Remove it.
14623         (configure.ac): Remove gl_FILE_TYPE call.
14624         (Makefile.am): Augment lib_SOURCES.
14625
14626 2011-05-23  Bruno Haible  <bruno@clisp.org>
14627
14628         filenamecat*: Respect rules for use of AC_LIBOBJ.
14629         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
14630         Remove AC_LIBOBJ invocation.
14631         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
14632         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
14633
14634 2011-05-23  Bruno Haible  <bruno@clisp.org>
14635
14636         filemode: Move AC_LIBOBJ invocations to module description.
14637         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
14638         * modules/filemode (Makefile.am): Augment lib_SOURCES.
14639
14640 2011-05-23  Bruno Haible  <bruno@clisp.org>
14641
14642         openat-safer: Move AC_LIBOBJ invocations to module description.
14643         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
14644         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
14645
14646 2011-05-23  Bruno Haible  <bruno@clisp.org>
14647
14648         fcntl-safer: Move AC_LIBOBJ invocations to module description.
14649         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
14650         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
14651
14652 2011-05-23  Bruno Haible  <bruno@clisp.org>
14653
14654         exclude: Move AC_LIBOBJ invocations to module description.
14655         * m4/exclude.m4: Remove file.
14656         * modules/exclude (Files): Remove it.
14657         (configure.ac): Remove gl_EXCLUDE call.
14658         (Makefile.am): Augment lib_SOURCES.
14659
14660 2011-05-23  Bruno Haible  <bruno@clisp.org>
14661
14662         dirname*: Respect rules for use of AC_LIBOBJ.
14663         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
14664         invocations.
14665         * modules/dirname (Makefile.am): Augment lib_SOURCES.
14666         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
14667
14668 2011-05-23  Bruno Haible  <bruno@clisp.org>
14669
14670         dirent-safer: Move AC_LIBOBJ invocations to module description.
14671         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
14672         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
14673
14674 2011-05-23  Bruno Haible  <bruno@clisp.org>
14675
14676         crypto/des: Move AC_LIBOBJ invocations to module description.
14677         * m4/des.m4: Remove file.
14678         * modules/crypto/des (Files): Remove it.
14679         (configure.ac): Remove gl_DES call.
14680         (Makefile.am): Augment lib_SOURCES.
14681
14682 2011-05-23  Bruno Haible  <bruno@clisp.org>
14683
14684         cycle-check: Move AC_LIBOBJ invocations to module description.
14685         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
14686         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
14687
14688 2011-05-23  Bruno Haible  <bruno@clisp.org>
14689
14690         c-strtold: Move AC_LIBOBJ invocations to module description.
14691         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
14692         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
14693
14694 2011-05-23  Bruno Haible  <bruno@clisp.org>
14695
14696         c-strtod: Move AC_LIBOBJ invocations to module description.
14697         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
14698         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
14699
14700 2011-05-23  Bruno Haible  <bruno@clisp.org>
14701
14702         crc: Move AC_LIBOBJ invocations to module description.
14703         * m4/crc.m4: Remove file.
14704         * modules/crc (Files): Remove it.
14705         (configure.ac): Remove gl_CRC call.
14706         (Makefile.am): Augment lib_SOURCES.
14707
14708 2011-05-23  Bruno Haible  <bruno@clisp.org>
14709
14710         close-stream: Move AC_LIBOBJ invocations to module description.
14711         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
14712         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
14713
14714 2011-05-23  Bruno Haible  <bruno@clisp.org>
14715
14716         closeout: Move AC_LIBOBJ invocations to module description.
14717         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
14718         * modules/closeout (Makefile.am): Augment lib_SOURCES.
14719
14720 2011-05-23  Bruno Haible  <bruno@clisp.org>
14721
14722         closein: Move AC_LIBOBJ invocations to module description.
14723         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
14724         * modules/closein (Makefile.am): Augment lib_SOURCES.
14725
14726 2011-05-23  Bruno Haible  <bruno@clisp.org>
14727
14728         cloexec: Move AC_LIBOBJ invocations to module description.
14729         * m4/cloexec.m4: Remove file.
14730         * modules/cloexec (Files): Remove it.
14731         (configure.ac): Remove gl_CLOEXEC call.
14732         (Makefile.am): Augment lib_SOURCES.
14733
14734 2011-05-23  Bruno Haible  <bruno@clisp.org>
14735
14736         check-version: Move AC_LIBOBJ invocations to module description.
14737         * m4/check-version.m4: Remove file.
14738         * modules/check-version (Files): Remove it.
14739         (configure.ac): Remove gl_CHECK_VERSION call.
14740         (Makefile.am): Augment lib_SOURCES.
14741
14742 2011-05-23  Bruno Haible  <bruno@clisp.org>
14743
14744         chdir-safer: Move AC_LIBOBJ invocations to module description.
14745         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
14746         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
14747
14748 2011-05-23  Bruno Haible  <bruno@clisp.org>
14749
14750         canonicalize: Move AC_LIBOBJ invocations to module description.
14751         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
14752         AC_LIBOBJ invocation.
14753         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
14754
14755 2011-05-23  Bruno Haible  <bruno@clisp.org>
14756
14757         canon-host: Move AC_LIBOBJ invocations to module description.
14758         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
14759         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
14760         instead of gl_CANON_HOST.
14761         (Makefile.am): Augment lib_SOURCES.
14762
14763 2011-05-23  Bruno Haible  <bruno@clisp.org>
14764
14765         backupfile: Move AC_LIBOBJ invocations to module description.
14766         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
14767         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
14768
14769 2011-05-23  Bruno Haible  <bruno@clisp.org>
14770
14771         argmatch: Move AC_LIBOBJ invocations to module description.
14772         * m4/argmatch.m4: Remove file.
14773         * modules/argmatch (Files): Remove it.
14774         (configure.ac): Remove gl_ARGMATCH call.
14775         (Makefile.am): Augment lib_SOURCES.
14776
14777 2011-05-23  Bruno Haible  <bruno@clisp.org>
14778
14779         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
14780         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
14781         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
14782
14783 2011-05-23  Bruno Haible  <bruno@clisp.org>
14784
14785         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
14786         * m4/arcfour.m4: Remove file.
14787         * modules/crypto/arcfour (Files): Remove it.
14788         (configure.ac): Remove gl_ARCFOUR call.
14789         (Makefile.am): Augment lib_SOURCES.
14790
14791 2011-05-22  Bruno Haible  <bruno@clisp.org>
14792
14793         write: Move AC_LIBOBJ invocations to module description.
14794         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
14795         * modules/write (configure.ac): ... to here.
14796
14797 2011-05-22  Bruno Haible  <bruno@clisp.org>
14798
14799         wmemset: Move AC_LIBOBJ invocations to module description.
14800         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
14801         here...
14802         * modules/wmemset (configure.ac): ... to here.
14803
14804 2011-05-22  Bruno Haible  <bruno@clisp.org>
14805
14806         wmemmove: Move AC_LIBOBJ invocations to module description.
14807         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
14808         here...
14809         * modules/wmemmove (configure.ac): ... to here.
14810
14811 2011-05-22  Bruno Haible  <bruno@clisp.org>
14812
14813         wmemcpy: Move AC_LIBOBJ invocations to module description.
14814         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
14815         here...
14816         * modules/wmemcpy (configure.ac): ... to here.
14817
14818 2011-05-22  Bruno Haible  <bruno@clisp.org>
14819
14820         wmemcmp: Move AC_LIBOBJ invocations to module description.
14821         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
14822         here...
14823         * modules/wmemcmp (configure.ac): ... to here.
14824
14825 2011-05-22  Bruno Haible  <bruno@clisp.org>
14826
14827         wmemchr: Move AC_LIBOBJ invocations to module description.
14828         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
14829         here...
14830         * modules/wmemchr (configure.ac): ... to here.
14831
14832 2011-05-22  Bruno Haible  <bruno@clisp.org>
14833
14834         wcswidth: Move AC_LIBOBJ invocations to module description.
14835         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
14836         here...
14837         * modules/wcswidth (configure.ac): ... to here.
14838
14839 2011-05-22  Bruno Haible  <bruno@clisp.org>
14840
14841         wcwidth: Respect rules for use of AC_LIBOBJ.
14842         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
14843         invocation from here...
14844         * modules/wcwidth (configure.ac): ... to here.
14845         (Depends-on): Update conditions.
14846
14847 2011-05-22  Bruno Haible  <bruno@clisp.org>
14848
14849         wctype: Move AC_LIBOBJ invocations to module description.
14850         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
14851         invocation from here...
14852         * modules/wctype (configure.ac): ... to here.
14853         (Depends-on): Update conditions.
14854
14855 2011-05-22  Bruno Haible  <bruno@clisp.org>
14856
14857         wctrans: Move AC_LIBOBJ invocations to module description.
14858         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
14859         invocation from here...
14860         * modules/wctrans (configure.ac): ... to here.
14861
14862 2011-05-22  Bruno Haible  <bruno@clisp.org>
14863
14864         wctomb: Move AC_LIBOBJ invocations to module description.
14865         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
14866         invocations from here...
14867         * modules/wctomb (configure.ac): ... to here.
14868
14869 2011-05-22  Bruno Haible  <bruno@clisp.org>
14870
14871         wctob: Move AC_LIBOBJ invocations to module description.
14872         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
14873         gl_PREREQ_WCTOB invocations from here...
14874         * modules/wctob (configure.ac): ... to here.
14875         (Depends-on): Update conditions.
14876
14877 2011-05-22  Bruno Haible  <bruno@clisp.org>
14878
14879         wcsxfrm: Move AC_LIBOBJ invocations to module description.
14880         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
14881         here...
14882         * modules/wcsxfrm (configure.ac): ... to here.
14883
14884 2011-05-22  Bruno Haible  <bruno@clisp.org>
14885
14886         wcstok: Move AC_LIBOBJ invocations to module description.
14887         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
14888         * modules/wcstok (configure.ac): ... to here.
14889
14890 2011-05-22  Bruno Haible  <bruno@clisp.org>
14891
14892         wcsstr: Move AC_LIBOBJ invocations to module description.
14893         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
14894         * modules/wcsstr (configure.ac): ... to here.
14895
14896 2011-05-22  Bruno Haible  <bruno@clisp.org>
14897
14898         wcsspn: Move AC_LIBOBJ invocations to module description.
14899         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
14900         * modules/wcsspn (configure.ac): ... to here.
14901
14902 2011-05-22  Bruno Haible  <bruno@clisp.org>
14903
14904         wcsrtombs: Move AC_LIBOBJ invocations to module description.
14905         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
14906         gl_PREREQ_WCSRTOMBS invocations from here...
14907         * modules/wcsrtombs (configure.ac): ... to here.
14908
14909 2011-05-22  Bruno Haible  <bruno@clisp.org>
14910
14911         wcsrchr: Move AC_LIBOBJ invocations to module description.
14912         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
14913         here...
14914         * modules/wcsrchr (configure.ac): ... to here.
14915
14916 2011-05-22  Bruno Haible  <bruno@clisp.org>
14917
14918         wcspbrk: Move AC_LIBOBJ invocations to module description.
14919         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
14920         here...
14921         * modules/wcspbrk (configure.ac): ... to here.
14922
14923 2011-05-22  Bruno Haible  <bruno@clisp.org>
14924
14925         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
14926         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
14927         gl_PREREQ_WCSNRTOMBS invocations from here...
14928         * modules/wcsnrtombs (configure.ac): ... to here.
14929
14930 2011-05-22  Bruno Haible  <bruno@clisp.org>
14931
14932         wcsnlen: Move AC_LIBOBJ invocations to module description.
14933         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
14934         here...
14935         * modules/wcsnlen (configure.ac): ... to here.
14936
14937 2011-05-22  Bruno Haible  <bruno@clisp.org>
14938
14939         wcsncpy: Move AC_LIBOBJ invocations to module description.
14940         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
14941         here...
14942         * modules/wcsncpy (configure.ac): ... to here.
14943
14944 2011-05-22  Bruno Haible  <bruno@clisp.org>
14945
14946         wcsncmp: Move AC_LIBOBJ invocations to module description.
14947         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
14948         here...
14949         * modules/wcsncmp (configure.ac): ... to here.
14950
14951 2011-05-22  Bruno Haible  <bruno@clisp.org>
14952
14953         wcsncat: Move AC_LIBOBJ invocations to module description.
14954         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
14955         here...
14956         * modules/wcsncat (configure.ac): ... to here.
14957
14958 2011-05-22  Bruno Haible  <bruno@clisp.org>
14959
14960         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
14961         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
14962         from here...
14963         * modules/wcsncasecmp (configure.ac): ... to here.
14964
14965 2011-05-22  Bruno Haible  <bruno@clisp.org>
14966
14967         wcslen: Move AC_LIBOBJ invocations to module description.
14968         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
14969         * modules/wcslen (configure.ac): ... to here.
14970
14971 2011-05-22  Bruno Haible  <bruno@clisp.org>
14972
14973         wcsdup: Move AC_LIBOBJ invocations to module description.
14974         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
14975         * modules/wcsdup (configure.ac): ... to here.
14976
14977 2011-05-22  Bruno Haible  <bruno@clisp.org>
14978
14979         wcscspn: Move AC_LIBOBJ invocations to module description.
14980         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
14981         here...
14982         * modules/wcscspn (configure.ac): ... to here.
14983
14984 2011-05-22  Bruno Haible  <bruno@clisp.org>
14985
14986         wcscpy: Move AC_LIBOBJ invocations to module description.
14987         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
14988         * modules/wcscpy (configure.ac): ... to here.
14989
14990 2011-05-22  Bruno Haible  <bruno@clisp.org>
14991
14992         wcscoll: Move AC_LIBOBJ invocations to module description.
14993         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
14994         here...
14995         * modules/wcscoll (configure.ac): ... to here.
14996
14997 2011-05-22  Bruno Haible  <bruno@clisp.org>
14998
14999         wcscmp: Move AC_LIBOBJ invocations to module description.
15000         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
15001         * modules/wcscmp (configure.ac): ... to here.
15002
15003 2011-05-22  Bruno Haible  <bruno@clisp.org>
15004
15005         wcschr: Move AC_LIBOBJ invocations to module description.
15006         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
15007         * modules/wcschr (configure.ac): ... to here.
15008
15009 2011-05-22  Bruno Haible  <bruno@clisp.org>
15010
15011         wcscat: Move AC_LIBOBJ invocations to module description.
15012         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
15013         * modules/wcscat (configure.ac): ... to here.
15014
15015 2011-05-22  Bruno Haible  <bruno@clisp.org>
15016
15017         wcscasecmp: Move AC_LIBOBJ invocations to module description.
15018         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
15019         here...
15020         * modules/wcscasecmp (configure.ac): ... to here.
15021
15022 2011-05-22  Bruno Haible  <bruno@clisp.org>
15023
15024         wcrtomb: Move AC_LIBOBJ invocations to module description.
15025         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
15026         invocations from here...
15027         * modules/wcrtomb (configure.ac): ... to here.
15028
15029 2011-05-22  Bruno Haible  <bruno@clisp.org>
15030
15031         wcpncpy: Move AC_LIBOBJ invocations to module description.
15032         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
15033         here...
15034         * modules/wcpncpy (configure.ac): ... to here.
15035
15036 2011-05-22  Bruno Haible  <bruno@clisp.org>
15037
15038         wcpcpy: Move AC_LIBOBJ invocations to module description.
15039         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
15040         * modules/wcpcpy (configure.ac): ... to here.
15041
15042 2011-05-22  Bruno Haible  <bruno@clisp.org>
15043
15044         waitpid: Move AC_LIBOBJ invocations to module description.
15045         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
15046         invocation from here...
15047         * modules/waitpid (configure.ac): ... to here.
15048
15049 2011-05-22  Bruno Haible  <bruno@clisp.org>
15050
15051         utimensat: Move AC_LIBOBJ invocations to module description.
15052         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
15053         here...
15054         * modules/utimensat (configure.ac): ... to here.
15055
15056 2011-05-22  Bruno Haible  <bruno@clisp.org>
15057
15058         usleep: Move AC_LIBOBJ invocations to module description.
15059         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
15060         here...
15061         * modules/usleep (configure.ac): ... to here.
15062
15063 2011-05-22  Bruno Haible  <bruno@clisp.org>
15064
15065         unlockpt: Move AC_LIBOBJ invocations to module description.
15066         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
15067         gl_PREREQ_UNLOCKPT invocations from here...
15068         * modules/unlockpt (configure.ac): ... to here.
15069
15070 2011-05-22  Bruno Haible  <bruno@clisp.org>
15071
15072         unlink: Respect rules for use of AC_LIBOBJ.
15073         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
15074         * modules/unlink (configure.ac): ... to here.
15075
15076 2011-05-22  Bruno Haible  <bruno@clisp.org>
15077
15078         uname: Move AC_LIBOBJ invocations to module description.
15079         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
15080         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
15081         here...
15082         * modules/uname (configure.ac): ... to here.
15083
15084 2011-05-22  Bruno Haible  <bruno@clisp.org>
15085
15086         ttyname_r: Move AC_LIBOBJ invocations to module description.
15087         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
15088         gl_PREREQ_TTYNAME_R invocations from here...
15089         * modules/ttyname_r (configure.ac): ... to here.
15090
15091 2011-05-22  Bruno Haible  <bruno@clisp.org>
15092
15093         tsearch: Move AC_LIBOBJ invocations to module description.
15094         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
15095         invocations from here...
15096         * modules/tsearch (configure.ac): ... to here.
15097
15098 2011-05-22  Bruno Haible  <bruno@clisp.org>
15099
15100         towctrans: Move AC_LIBOBJ invocations to module description.
15101         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
15102         AC_LIBOBJ invocation from here...
15103         * modules/towctrans (configure.ac): ... to here.
15104
15105 2011-05-22  Bruno Haible  <bruno@clisp.org>
15106
15107         tmpfile: Move AC_LIBOBJ invocations to module description.
15108         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
15109         invocations from here...
15110         * modules/tmpfile (configure.ac): ... to here.
15111
15112 2011-05-22  Bruno Haible  <bruno@clisp.org>
15113
15114         times: Move AC_LIBOBJ invocations to module description.
15115         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
15116         * modules/times (configure.ac): ... to here.
15117
15118 2011-05-22  Bruno Haible  <bruno@clisp.org>
15119
15120         time_r: Move AC_LIBOBJ invocations to module description.
15121         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
15122         invocations from here...
15123         * modules/time_r (configure.ac): ... to here.
15124
15125 2011-05-22  Bruno Haible  <bruno@clisp.org>
15126
15127         timegm: Move AC_LIBOBJ invocations to module description.
15128         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
15129         invocations from here...
15130         * modules/timegm (configure.ac): ... to here.
15131
15132 2011-05-22  Bruno Haible  <bruno@clisp.org>
15133
15134         tcgetsid: Move AC_LIBOBJ invocations to module description.
15135         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
15136         and gl_PREREQ_TCGETSID invocations from here...
15137         * modules/tcgetsid (configure.ac): ... to here.
15138         (Depends-on): Update conditions.
15139
15140 2011-05-22  Bruno Haible  <bruno@clisp.org>
15141
15142         symlinkat: Move AC_LIBOBJ invocations to module description.
15143         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
15144         here...
15145         * modules/symlinkat (configure.ac): ... to here.
15146
15147 2011-05-22  Bruno Haible  <bruno@clisp.org>
15148
15149         symlink: Move AC_LIBOBJ invocations to module description.
15150         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
15151         here...
15152         * modules/symlink (configure.ac): ... to here.
15153
15154 2011-05-22  Bruno Haible  <bruno@clisp.org>
15155
15156         strverscmp: Move AC_LIBOBJ invocations to module description.
15157         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
15158         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
15159         from here...
15160         * modules/strverscmp (configure.ac): ... to here.
15161
15162 2011-05-22  Bruno Haible  <bruno@clisp.org>
15163
15164         strtok_r: Move AC_LIBOBJ invocations to module description.
15165         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
15166         and gl_PREREQ_STRTOK_R invocations from here...
15167         * modules/strtok_r (configure.ac): ... to here.
15168         (Depends-on): Update conditions.
15169
15170 2011-05-22  Bruno Haible  <bruno@clisp.org>
15171
15172         strtoumax: Move AC_LIBOBJ invocations to module description.
15173         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
15174         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
15175         from here...
15176         * modules/strtoumax (configure.ac): ... to here.
15177
15178 2011-05-22  Bruno Haible  <bruno@clisp.org>
15179
15180         strtoimax: Move AC_LIBOBJ invocations to module description.
15181         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
15182         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
15183         from here...
15184         * modules/strtoimax (configure.ac): ... to here.
15185
15186 2011-05-22  Bruno Haible  <bruno@clisp.org>
15187
15188         strtoull: Move AC_LIBOBJ invocations to module description.
15189         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
15190         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
15191         from here...
15192         * modules/strtoull (configure.ac): ... to here.
15193
15194 2011-05-22  Bruno Haible  <bruno@clisp.org>
15195
15196         strtoll: Move AC_LIBOBJ invocations to module description.
15197         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
15198         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
15199         here...
15200         * modules/strtoll (configure.ac): ... to here.
15201
15202 2011-05-22  Bruno Haible  <bruno@clisp.org>
15203
15204         strtoul: Move AC_LIBOBJ invocations to module description.
15205         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
15206         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15207         * modules/strtoul (configure.ac): ... to here.
15208
15209 2011-05-22  Bruno Haible  <bruno@clisp.org>
15210
15211         strtol: Move AC_LIBOBJ invocations to module description.
15212         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
15213         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15214         * modules/strtol (configure.ac): ... to here.
15215
15216 2011-05-22  Bruno Haible  <bruno@clisp.org>
15217
15218         strtod: Move AC_LIBOBJ invocations to module description.
15219         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
15220         invocations from here...
15221         * modules/strtod (configure.ac): ... to here.
15222
15223 2011-05-22  Bruno Haible  <bruno@clisp.org>
15224
15225         strstr*: Move AC_LIBOBJ invocations to module description.
15226         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
15227         invocations from here...
15228         * modules/strstr-simple (configure.ac): ... to here.
15229         * modules/strstr (configure.ac): ... and here.
15230
15231 2011-05-22  Bruno Haible  <bruno@clisp.org>
15232
15233         strsignal: Move AC_LIBOBJ invocations to module description.
15234         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
15235         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
15236         * modules/strsignal (configure.ac): ... to here.
15237         (Depends-on): Update conditions.
15238
15239 2011-05-22  Bruno Haible  <bruno@clisp.org>
15240
15241         strsep: Move AC_LIBOBJ invocations to module description.
15242         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
15243         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
15244         here...
15245         * modules/strsep (configure.ac): ... to here.
15246
15247 2011-05-22  Bruno Haible  <bruno@clisp.org>
15248
15249         strptime: Move AC_LIBOBJ invocations to module description.
15250         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
15251         gl_PREREQ_STRPTIME invocations from here...
15252         * modules/strptime (configure.ac): ... to here.
15253
15254 2011-05-22  Bruno Haible  <bruno@clisp.org>
15255
15256         strpbrk: Move AC_LIBOBJ invocations to module description.
15257         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
15258         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
15259         here...
15260         * modules/strpbrk (configure.ac): ... to here.
15261
15262 2011-05-22  Bruno Haible  <bruno@clisp.org>
15263
15264         strnlen: Move AC_LIBOBJ invocations to module description.
15265         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
15266         invocations from here...
15267         * modules/strnlen (configure.ac): ... to here.
15268
15269 2011-05-22  Bruno Haible  <bruno@clisp.org>
15270
15271         strndup: Move AC_LIBOBJ invocations to module description.
15272         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
15273         invocations from here...
15274         * modules/strndup (configure.ac): ... to here.
15275         (Depends-on): Update conditions.
15276
15277 2011-05-22  Bruno Haible  <bruno@clisp.org>
15278
15279         strncat: Move AC_LIBOBJ invocations to module description.
15280         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
15281         invocations from here...
15282         * modules/strncat (configure.ac): ... to here.
15283
15284 2011-05-22  Bruno Haible  <bruno@clisp.org>
15285
15286         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
15287         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
15288         invocations from here...
15289         * modules/strdup (configure.ac): ... to here.
15290         * modules/strdup-posix (configure.ac): ... and here.
15291
15292 2011-05-22  Bruno Haible  <bruno@clisp.org>
15293
15294         strcspn: Move AC_LIBOBJ invocations to module description.
15295         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
15296         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
15297         here...
15298         * modules/strcspn (configure.ac): ... to here.
15299
15300 2011-05-22  Bruno Haible  <bruno@clisp.org>
15301
15302         strchrnul: Move AC_LIBOBJ invocations to module description.
15303         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
15304         gl_PREREQ_STRCHRNUL invocations from here...
15305         * modules/strchrnul (configure.ac): ... to here.
15306
15307 2011-05-22  Bruno Haible  <bruno@clisp.org>
15308
15309         strcasestr*: Move AC_LIBOBJ invocations to module description.
15310         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
15311         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
15312         * modules/strcasestr-simple (configure.ac): ... to here.
15313         * modules/strcasestr (configure.ac): ... and here.
15314
15315 2011-05-22  Bruno Haible  <bruno@clisp.org>
15316
15317         strcase: Move AC_LIBOBJ invocations to module description.
15318         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
15319         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
15320         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
15321         gl_PREREQ_STRNCASECMP invocations from here...
15322         * modules/strcase (configure.ac): ... to here.
15323
15324 2011-05-22  Bruno Haible  <bruno@clisp.org>
15325
15326         stpncpy: Move AC_LIBOBJ invocations to module description.
15327         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
15328         here...
15329         * modules/stpncpy (configure.ac): ... to here.
15330
15331 2011-05-22  Bruno Haible  <bruno@clisp.org>
15332
15333         stpcpy: Move AC_LIBOBJ invocations to module description.
15334         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
15335         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
15336         here...
15337         * modules/stpcpy (configure.ac): ... to here.
15338
15339 2011-05-21  Bruno Haible  <bruno@clisp.org>
15340
15341         stat: Move AC_LIBOBJ invocations to module description.
15342         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
15343         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
15344         here...
15345         * modules/stat (configure.ac): ... to here.
15346
15347 2011-05-21  Bruno Haible  <bruno@clisp.org>
15348
15349         sleep: Move AC_LIBOBJ invocations to module description.
15350         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
15351         * modules/sleep (configure.ac): ... to here.
15352
15353 2011-05-21  Bruno Haible  <bruno@clisp.org>
15354
15355         signbit: Move AC_LIBOBJ invocations to module description.
15356         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
15357         * modules/signbit (configure.ac): ... to here.
15358
15359 2011-05-21  Bruno Haible  <bruno@clisp.org>
15360
15361         sigprocmask: Move AC_LIBOBJ invocations to module description.
15362         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
15363         gl_PREREQ_SIGPROMASK invocations from here...
15364         * modules/sigprocmask (configure.ac): ... to here.
15365
15366 2011-05-21  Bruno Haible  <bruno@clisp.org>
15367
15368         sigaction: Move AC_LIBOBJ invocations to module description.
15369         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
15370         gl_PREREQ_SIGACTION invocations from here...
15371         * modules/sigaction (configure.ac): ... to here.
15372
15373 2011-05-21  Bruno Haible  <bruno@clisp.org>
15374
15375         sig2str: Move AC_LIBOBJ invocations to module description.
15376         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
15377         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
15378         here...
15379         * modules/sig2str (configure.ac): ... to here.
15380
15381 2011-05-21  Bruno Haible  <bruno@clisp.org>
15382
15383         setlocale: Move AC_LIBOBJ invocations to module description.
15384         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
15385         gl_PREREQ_SETLOCALE invocations from here...
15386         * modules/setlocale (configure.ac): ... to here.
15387
15388 2011-05-21  Bruno Haible  <bruno@clisp.org>
15389
15390         unsetenv: Move AC_LIBOBJ invocations to module description.
15391         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
15392         and gl_PREREQ_UNSETENV invocations from here...
15393         * modules/unsetenv (configure.ac): ... to here.
15394         (Depends-on): Update.
15395
15396 2011-05-21  Bruno Haible  <bruno@clisp.org>
15397
15398         setenv: Move AC_LIBOBJ invocations to module description.
15399         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
15400         here...
15401         * modules/setenv (configure.ac): ... to here.
15402
15403 2011-05-21  Bruno Haible  <bruno@clisp.org>
15404
15405         selinux-h: Move AC_LIBOBJ invocations to module description.
15406         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
15407         AC_LIBOBJ invocation from here...
15408         * modules/selinux-h (configure.ac): ... to here.
15409
15410 2011-05-21  Bruno Haible  <bruno@clisp.org>
15411
15412         select: Respect rules for use of AC_LIBOBJ.
15413         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
15414         here...
15415         * modules/select (configure.ac): ... to here.
15416
15417 2011-05-21  Bruno Haible  <bruno@clisp.org>
15418
15419         scandir: Move AC_LIBOBJ invocations to module description.
15420         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
15421         invocations from here...
15422         * modules/scandir (configure.ac): ... to here.
15423
15424 2011-05-21  Bruno Haible  <bruno@clisp.org>
15425
15426         rpmatch: Move AC_LIBOBJ invocations to module description.
15427         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
15428         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
15429         here...
15430         * modules/rpmatch (configure.ac): ... to here.
15431
15432 2011-05-21  Bruno Haible  <bruno@clisp.org>
15433
15434         rmdir: Respect rules for use of AC_LIBOBJ.
15435         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
15436         * modules/rmdir (configure.ac): ... to here.
15437
15438 2011-05-21  Bruno Haible  <bruno@clisp.org>
15439
15440         renameat: Move AC_LIBOBJ invocations to module description.
15441         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
15442         here...
15443         * modules/renameat (configure.ac): ... to here.
15444
15445 2011-05-21  Bruno Haible  <bruno@clisp.org>
15446
15447         rename: Respect rules for use of AC_LIBOBJ.
15448         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
15449         here...
15450         * modules/rename (configure.ac): ... to here.
15451
15452 2011-05-21  Bruno Haible  <bruno@clisp.org>
15453
15454         remove: Move AC_LIBOBJ invocations to module description.
15455         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
15456         here...
15457         * modules/remove (configure.ac): ... to here.
15458
15459 2011-05-21  Bruno Haible  <bruno@clisp.org>
15460
15461         relocatable-lib: Move AC_LIBOBJ invocations to module description.
15462         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
15463         macro.
15464         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
15465         * modules/relocatable-lib (configure.ac): ... to here.
15466         * modules/relocatable-prog-wrapper (configure.ac): Invoke
15467         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
15468
15469 2011-05-21  Bruno Haible  <bruno@clisp.org>
15470
15471         relocatable-prog: Move AC_LIBOBJ invocations to module description.
15472         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
15473         here...
15474         * modules/relocatable-prog (configure.ac): ... to here.
15475
15476 2011-05-21  Bruno Haible  <bruno@clisp.org>
15477
15478         regex: Move AC_LIBOBJ invocations to module description.
15479         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
15480         invocations from here...
15481         * modules/regex (configure.ac): ... to here.
15482
15483 2011-05-21  Bruno Haible  <bruno@clisp.org>
15484
15485         realloc-*: Move AC_LIBOBJ invocations to module description.
15486         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
15487         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
15488         AC_LIBOBJ invocations from here...
15489         * modules/realloc-gnu (configure.ac): ... to here.
15490         * modules/realloc-posix (configure.ac): ... and here.
15491
15492 2011-05-21  Bruno Haible  <bruno@clisp.org>
15493
15494         readutmp: Move AC_LIBOBJ invocations to module description.
15495         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
15496         * modules/readutmp (configure.ac): ... to here.
15497
15498 2011-05-21  Bruno Haible  <bruno@clisp.org>
15499
15500         readlinkat: Move AC_LIBOBJ invocations to module description.
15501         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
15502         here...
15503         * modules/readlinkat (configure.ac): ... to here.
15504
15505 2011-05-21  Bruno Haible  <bruno@clisp.org>
15506
15507         readlink: Move AC_LIBOBJ invocations to module description.
15508         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
15509         gl_PREREQ_READLINK invocations from here...
15510         * modules/readlink (configure.ac): ... to here.
15511
15512 2011-05-21  Bruno Haible  <bruno@clisp.org>
15513
15514         readline: Move AC_LIBOBJ invocations to module description.
15515         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
15516         gl_PREREQ_READLINE invocations from here...
15517         * modules/readline (configure.ac): ... to here.
15518
15519 2011-05-21  Bruno Haible  <bruno@clisp.org>
15520
15521         read: Move AC_LIBOBJ invocations to module description.
15522         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
15523         * modules/read (configure.ac): ... to here.
15524
15525 2011-05-21  Bruno Haible  <bruno@clisp.org>
15526
15527         rawmemchr: Move AC_LIBOBJ invocations to module description.
15528         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
15529         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
15530         from here...
15531         * modules/rawmemchr (configure.ac): ... to here.
15532
15533 2011-05-21  Bruno Haible  <bruno@clisp.org>
15534
15535         random_r: Move AC_LIBOBJ invocations to module description.
15536         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
15537         gl_PREREQ_RANDOM_R invocations from here...
15538         * modules/random_r (configure.ac): ... to here.
15539
15540 2011-05-21  Bruno Haible  <bruno@clisp.org>
15541
15542         pwrite: Move AC_LIBOBJ invocations to module description.
15543         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
15544         * modules/pwrite (configure.ac): ... to here.
15545
15546 2011-05-21  Bruno Haible  <bruno@clisp.org>
15547
15548         putenv: Move AC_LIBOBJ invocations to module description.
15549         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
15550         * modules/putenv (configure.ac): ... to here.
15551
15552 2011-05-21  Bruno Haible  <bruno@clisp.org>
15553
15554         login_tty: Move AC_LIBOBJ invocations to module description.
15555         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
15556         * modules/login_tty (configure.ac): ... to here.
15557
15558 2011-05-21  Bruno Haible  <bruno@clisp.org>
15559
15560         openpty: Move AC_LIBOBJ invocations to module description.
15561         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
15562         * modules/openpty (configure.ac): ... to here.
15563
15564 2011-05-21  Bruno Haible  <bruno@clisp.org>
15565
15566         forkpty: Move AC_LIBOBJ invocations to module description.
15567         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
15568         * modules/forkpty (configure.ac): ... to here.
15569
15570 2011-05-21  Bruno Haible  <bruno@clisp.org>
15571
15572         ptsname: Move AC_LIBOBJ invocations to module description.
15573         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
15574         invocations from here...
15575         * modules/ptsname (configure.ac): ... to here.
15576
15577 2011-05-21  Bruno Haible  <bruno@clisp.org>
15578
15579         pread: Move AC_LIBOBJ invocations to module description.
15580         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
15581         * modules/pread (configure.ac): ... to here.
15582
15583 2011-05-21  Bruno Haible  <bruno@clisp.org>
15584
15585         posix_spawn*: Move AC_LIBOBJ invocations to module description.
15586         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
15587         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
15588         * modules/posix_spawn (configure.ac): ... to here.
15589         * modules/posix_spawnp (configure.ac): ... and here.
15590
15591 2011-05-21  Bruno Haible  <bruno@clisp.org>
15592
15593         popen: Move AC_LIBOBJ invocations to module description.
15594         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
15595         invocations from here...
15596         * modules/popen (configure.ac): ... to here.
15597
15598 2011-05-21  Bruno Haible  <bruno@clisp.org>
15599
15600         poll: Move AC_LIBOBJ invocations to module description.
15601         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
15602         invocations from here...
15603         * modules/poll (configure.ac): ... to here.
15604
15605 2011-05-21  Bruno Haible  <bruno@clisp.org>
15606
15607         pipe-posix: Move AC_LIBOBJ invocations to module description.
15608         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
15609         * modules/pipe-posix (configure.ac): ... to here.
15610
15611 2011-05-21  Bruno Haible  <bruno@clisp.org>
15612
15613         openat: Respect rules for use of AC_LIBOBJ.
15614         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
15615         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15616         * modules/openat (configure.ac): ... to here.
15617
15618 2011-05-21  Bruno Haible  <bruno@clisp.org>
15619
15620         obstack-printf*: Move AC_LIBOBJ invocations to module description.
15621         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
15622         invocation from here...
15623         * modules/obstack-printf (configure.ac): ... to here.
15624         * modules/obstack-printf-posix (configure.ac): ... and here.
15625
15626 2011-05-21  Bruno Haible  <bruno@clisp.org>
15627
15628         nl_langinfo: Move AC_LIBOBJ invocations to module description.
15629         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
15630         from here...
15631         * modules/nl_langinfo (configure.ac): ... to here.
15632
15633 2011-05-21  Bruno Haible  <bruno@clisp.org>
15634
15635         nanosleep: Move AC_LIBOBJ invocations to module description.
15636         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
15637         gl_PREREQ_NANOSLEEP invocations from here...
15638         * modules/nanosleep (configure.ac): ... to here.
15639
15640 2011-05-21  Bruno Haible  <bruno@clisp.org>
15641
15642         mountlist: Move AC_LIBOBJ invocations to module description.
15643         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
15644         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
15645         * modules/mountlist (configure.ac): ... to here.
15646
15647 2011-05-21  Bruno Haible  <bruno@clisp.org>
15648
15649         mktime: Respect rules for use of AC_LIBOBJ.
15650         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
15651         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
15652         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
15653         (gl_FUNC_MKTIME_INTERNAL): ... and here...
15654         * modules/mktime (configure.ac): ... to here.
15655         * modules/mktime-internal (configure.ac): ... and here.
15656         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
15657
15658 2011-05-21  Bruno Haible  <bruno@clisp.org>
15659
15660         mkstemps: Move AC_LIBOBJ invocations to module description.
15661         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
15662         here...
15663         * modules/mkstemps (configure.ac): ... to here.
15664
15665 2011-05-21  Bruno Haible  <bruno@clisp.org>
15666
15667         mkstemp: Move AC_LIBOBJ invocations to module description.
15668         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
15669         gl_PREREQ_MKSTEMP invocations from here...
15670         * modules/mkstemp (configure.ac): ... to here.
15671
15672 2011-05-21  Bruno Haible  <bruno@clisp.org>
15673
15674         mkostemps: Move AC_LIBOBJ invocations to module description.
15675         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
15676         here...
15677         * modules/mkostemps (configure.ac): ... to here.
15678
15679 2011-05-21  Bruno Haible  <bruno@clisp.org>
15680
15681         mkostemp: Move AC_LIBOBJ invocations to module description.
15682         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
15683         gl_PREREQ_MKOSTEMP invocations from here...
15684         * modules/mkostemp (configure.ac): ... to here.
15685
15686 2011-05-21  Bruno Haible  <bruno@clisp.org>
15687
15688         mknod: Move AC_LIBOBJ invocations to module description.
15689         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
15690         * modules/mknod (configure.ac): ... to here.
15691
15692 2011-05-21  Bruno Haible  <bruno@clisp.org>
15693
15694         mkfifoat: Move AC_LIBOBJ invocations to module description.
15695         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
15696         here...
15697         * modules/mkfifoat (configure.ac): ... to here.
15698
15699 2011-05-21  Bruno Haible  <bruno@clisp.org>
15700
15701         mkfifo: Respect rules for use of AC_LIBOBJ.
15702         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
15703         here...
15704         * modules/mkfifo (configure.ac): ... to here.
15705
15706 2011-05-21  Bruno Haible  <bruno@clisp.org>
15707
15708         mkdtemp: Move AC_LIBOBJ invocations to module description.
15709         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
15710         invocations from here...
15711         * modules/mkdtemp (configure.ac): ... to here.
15712
15713 2011-05-21  Bruno Haible  <bruno@clisp.org>
15714
15715         mkdir: Move AC_LIBOBJ invocations to module description.
15716         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
15717         * modules/mkdir (configure.ac): ... to here.
15718
15719 2011-05-21  Bruno Haible  <bruno@clisp.org>
15720
15721         memset: Move AC_LIBOBJ invocations to module description.
15722         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
15723         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
15724         here...
15725         * modules/memset (configure.ac): ... to here.
15726
15727 2011-05-21  Bruno Haible  <bruno@clisp.org>
15728
15729         memrchr: Move AC_LIBOBJ invocations to module description.
15730         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
15731         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
15732         here...
15733         * modules/memrchr (configure.ac): ... to here.
15734
15735 2011-05-21  Bruno Haible  <bruno@clisp.org>
15736
15737         mempcpy: Move AC_LIBOBJ invocations to module description.
15738         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
15739         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
15740         here...
15741         * modules/mempcpy (configure.ac): ... to here.
15742
15743 2011-05-21  Bruno Haible  <bruno@clisp.org>
15744
15745         memmove: Move AC_LIBOBJ invocations to module description.
15746         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
15747         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
15748         here...
15749         * modules/memmove (configure.ac): ... to here.
15750
15751 2011-05-21  Bruno Haible  <bruno@clisp.org>
15752
15753         memmem*: Move AC_LIBOBJ invocations to module description.
15754         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
15755         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
15756         here...
15757         (gl_FUNC_MEMMEM): ... and here...
15758         * modules/memmem-simple (configure.ac): ... to here.
15759         * modules/memmem (configure.ac): ... and here.
15760
15761 2011-05-21  Bruno Haible  <bruno@clisp.org>
15762
15763         memcpy: Move AC_LIBOBJ invocations to module description.
15764         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
15765         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
15766         here...
15767         * modules/memcpy (configure.ac): ... to here.
15768
15769 2011-05-21  Bruno Haible  <bruno@clisp.org>
15770
15771         memcmp: Simplify autoconf macro.
15772         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
15773         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
15774         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
15775
15776 2011-05-21  Bruno Haible  <bruno@clisp.org>
15777
15778         memcmp: Move AC_LIBOBJ invocations to module description.
15779         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
15780         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
15781         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
15782         * modules/memcmp (configure.ac): ... to here.
15783         (Depends-on): Update conditions.
15784
15785 2011-05-21  Bruno Haible  <bruno@clisp.org>
15786
15787         memchr: Respect rules for use of AC_LIBOBJ.
15788         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
15789         invocations from here...
15790         * modules/memchr (configure.ac): ... to here.
15791
15792 2011-05-21  Bruno Haible  <bruno@clisp.org>
15793
15794         mbtowc: Move AC_LIBOBJ invocations to module description.
15795         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
15796         invocations from here...
15797         * modules/mbtowc (configure.ac): ... to here.
15798
15799 2011-05-21  Bruno Haible  <bruno@clisp.org>
15800
15801         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
15802         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
15803         gl_PREREQ_MBSRTOWCS invocations from here...
15804         * modules/mbsrtowcs (configure.ac): ... to here.
15805
15806 2011-05-21  Bruno Haible  <bruno@clisp.org>
15807
15808         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
15809         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
15810         gl_PREREQ_MBSNRTOWCS invocations from here...
15811         * modules/mbsnrtowcs (configure.ac): ... to here.
15812
15813 2011-05-21  Bruno Haible  <bruno@clisp.org>
15814
15815         mbsinit: Move AC_LIBOBJ invocations to module description.
15816         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
15817         invocations from here...
15818         * modules/mbsinit (configure.ac): ... to here.
15819
15820 2011-05-21  Bruno Haible  <bruno@clisp.org>
15821
15822         mbrlen: Move AC_LIBOBJ invocations to module description.
15823         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
15824         invocations from here...
15825         * modules/mbrlen (configure.ac): ... to here.
15826
15827 2011-05-21  Bruno Haible  <bruno@clisp.org>
15828
15829         mbrtowc: Respect rules for use of AC_LIBOBJ.
15830         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
15831         invocations from here...
15832         * modules/mbrtowc (configure.ac): ... to here.
15833
15834 2011-05-21  Bruno Haible  <bruno@clisp.org>
15835
15836         malloc-*: Move AC_LIBOBJ invocations to module description.
15837         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
15838         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
15839         AC_LIBOBJ invocations from here...
15840         * modules/malloc-gnu (configure.ac): ... to here.
15841         * modules/malloc-posix (configure.ac): ... and here.
15842
15843 2011-05-21  Bruno Haible  <bruno@clisp.org>
15844
15845         lstat, openat: Respect rules for use of AC_LIBOBJ.
15846         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
15847         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
15848         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
15849         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
15850         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
15851         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
15852         here.
15853         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
15854
15855 2011-05-21  Bruno Haible  <bruno@clisp.org>
15856
15857         lseek: Move AC_LIBOBJ invocations to module description.
15858         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
15859         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15860         * modules/lseek (configure.ac): ... to here.
15861
15862 2011-05-21  Bruno Haible  <bruno@clisp.org>
15863
15864         linkat: Move AC_LIBOBJ invocations to module description.
15865         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
15866         here...
15867         * modules/linkat (configure.ac): ... to here.
15868
15869 2011-05-21  Bruno Haible  <bruno@clisp.org>
15870
15871         link: Respect rules for use of AC_LIBOBJ.
15872         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
15873         * modules/link (configure.ac): ... to here.
15874
15875 2011-05-21  Bruno Haible  <bruno@clisp.org>
15876
15877         lchown: Move AC_LIBOBJ invocations to module description.
15878         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15879         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15880         * modules/lchown (configure.ac): ... to here.
15881
15882 2011-05-21  Bruno Haible  <bruno@clisp.org>
15883
15884         iswctype: Move AC_LIBOBJ invocations to module description.
15885         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
15886         here...
15887         * modules/iswctype (configure.ac): ... to here.
15888
15889 2011-05-21  Bruno Haible  <bruno@clisp.org>
15890
15891         iswblank: Move AC_LIBOBJ invocations to module description.
15892         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
15893         here...
15894         * modules/iswblank (configure.ac): ... to here.
15895
15896 2011-05-21  Bruno Haible  <bruno@clisp.org>
15897
15898         atanl: Move AC_LIBOBJ invocations to module description.
15899         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
15900         * modules/atanl (configure.ac): ... to here.
15901
15902 2011-05-21  Bruno Haible  <bruno@clisp.org>
15903
15904         acosl: Move AC_LIBOBJ invocations to module description.
15905         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
15906         * modules/acosl (configure.ac): ... to here.
15907
15908 2011-05-21  Bruno Haible  <bruno@clisp.org>
15909
15910         asinl: Respect rules for use of AC_LIBOBJ.
15911         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
15912         * modules/asinl (configure.ac): ... to here.
15913
15914 2011-05-21  Bruno Haible  <bruno@clisp.org>
15915
15916         tanl: Move AC_LIBOBJ invocations to module description.
15917         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
15918         * modules/tanl (configure.ac): ... to here.
15919
15920 2011-05-21  Bruno Haible  <bruno@clisp.org>
15921
15922         cosl: Move AC_LIBOBJ invocations to module description.
15923         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
15924         * modules/cosl (configure.ac): ... to here.
15925
15926 2011-05-21  Bruno Haible  <bruno@clisp.org>
15927
15928         sinl: Move AC_LIBOBJ invocations to module description.
15929         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
15930         * modules/sinl (configure.ac): ... to here.
15931
15932 2011-05-21  Bruno Haible  <bruno@clisp.org>
15933
15934         logl: Move AC_LIBOBJ invocations to module description.
15935         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
15936         * modules/logl (configure.ac): ... to here.
15937
15938 2011-05-21  Bruno Haible  <bruno@clisp.org>
15939
15940         expl: Move AC_LIBOBJ invocations to module description.
15941         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
15942         * modules/expl (configure.ac): ... to here.
15943
15944 2011-05-21  Bruno Haible  <bruno@clisp.org>
15945
15946         roundl: Move AC_LIBOBJ invocations to module description.
15947         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
15948         * modules/roundl (configure.ac): ... to here.
15949
15950 2011-05-21  Bruno Haible  <bruno@clisp.org>
15951
15952         round: Move AC_LIBOBJ invocations to module description.
15953         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
15954         * modules/round (configure.ac): ... to here.
15955
15956 2011-05-21  Bruno Haible  <bruno@clisp.org>
15957
15958         roundf: Move AC_LIBOBJ invocations to module description.
15959         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
15960         * modules/roundf (configure.ac): ... to here.
15961
15962 2011-05-21  Bruno Haible  <bruno@clisp.org>
15963
15964         truncl: Move AC_LIBOBJ invocations to module description.
15965         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
15966         * modules/truncl (configure.ac): ... to here.
15967
15968 2011-05-21  Bruno Haible  <bruno@clisp.org>
15969
15970         trunc: Move AC_LIBOBJ invocations to module description.
15971         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
15972         * modules/trunc (configure.ac): ... to here.
15973
15974 2011-05-21  Bruno Haible  <bruno@clisp.org>
15975
15976         truncf: Move AC_LIBOBJ invocations to module description.
15977         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
15978         * modules/truncf (configure.ac): ... to here.
15979
15980 2011-05-21  Bruno Haible  <bruno@clisp.org>
15981
15982         ceill: Move AC_LIBOBJ invocations to module description.
15983         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
15984         * modules/ceill (configure.ac): ... to here.
15985
15986 2011-05-21  Bruno Haible  <bruno@clisp.org>
15987
15988         ceil: Move AC_LIBOBJ invocations to module description.
15989         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
15990         * modules/ceil (configure.ac): ... to here.
15991
15992 2011-05-21  Bruno Haible  <bruno@clisp.org>
15993
15994         ceilf: Move AC_LIBOBJ invocations to module description.
15995         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
15996         * modules/ceilf (configure.ac): ... to here.
15997
15998 2011-05-21  Bruno Haible  <bruno@clisp.org>
15999
16000         floorl: Respect rules for use of AC_LIBOBJ.
16001         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
16002         * modules/floorl (configure.ac): ... to here.
16003
16004 2011-05-21  Bruno Haible  <bruno@clisp.org>
16005
16006         floor: Respect rules for use of AC_LIBOBJ.
16007         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
16008         * modules/floor (configure.ac): ... to here.
16009
16010 2011-05-21  Bruno Haible  <bruno@clisp.org>
16011
16012         floorf: Move AC_LIBOBJ invocations to module description.
16013         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
16014         * modules/floorf (configure.ac): ... to here.
16015
16016 2011-05-20  Bruno Haible  <bruno@clisp.org>
16017
16018         sqrtl: Respect rules for use of AC_LIBOBJ.
16019         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
16020         * modules/sqrtl (configure.ac): ... to here.
16021
16022 2011-05-20  Bruno Haible  <bruno@clisp.org>
16023
16024         ldexpl: Respect rules for use of AC_LIBOBJ.
16025         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
16026         * modules/ldexpl (configure.ac): ... to here.
16027
16028 2011-05-20  Bruno Haible  <bruno@clisp.org>
16029
16030         frexpl*: Respect rules for use of AC_LIBOBJ.
16031         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
16032         invocation from here...
16033         * modules/frexpl (configure.ac): ... to here.
16034         * modules/frexpl-nolibm (configure.ac): ... and here.
16035
16036 2011-05-20  Bruno Haible  <bruno@clisp.org>
16037
16038         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
16039         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
16040         invocation from here...
16041         * modules/frexp (configure.ac): ... to here.
16042         * modules/frexp-nolibm (configure.ac): ... and here.
16043
16044 2011-05-20  Bruno Haible  <bruno@clisp.org>
16045
16046         isnan: Respect rules for use of AC_LIBOBJ.
16047         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
16048         invocations here.
16049         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
16050         REPLACE_ISNAN.
16051         * modules/isnand (configure.ac): Likewise.
16052         * modules/isnanl (configure.ac): Likewise.
16053
16054 2011-05-20  Bruno Haible  <bruno@clisp.org>
16055
16056         isnanl*: Respect rules for use of AC_LIBOBJ.
16057         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
16058         invocation from here...
16059         * modules/isnanl (configure.ac): ... to here.
16060         * modules/isnanl-nolibm (configure.ac): ... and here.
16061
16062 2011-05-20  Bruno Haible  <bruno@clisp.org>
16063
16064         isnand*: Move AC_LIBOBJ invocations to module description.
16065         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
16066         invocation from here...
16067         * modules/isnand (configure.ac): ... to here.
16068         * modules/isnand-nolibm (configure.ac): ... and here.
16069
16070 2011-05-20  Bruno Haible  <bruno@clisp.org>
16071
16072         isnanf*: Move AC_LIBOBJ invocations to module description.
16073         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
16074         invocation from here...
16075         * modules/isnanf (configure.ac): ... to here.
16076         * modules/isnanf-nolibm (configure.ac): ... and here.
16077
16078 2011-05-20  Bruno Haible  <bruno@clisp.org>
16079
16080         isnan*: Separate the AC_LIBOBJ invocations.
16081         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
16082         AC_LIBOBJ invocation.
16083         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
16084         here.
16085         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
16086         AC_LIBOBJ invocation.
16087         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
16088         here.
16089         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
16090         AC_LIBOBJ invocation.
16091         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
16092         here.
16093         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
16094
16095 2011-05-08  Bruno Haible  <bruno@clisp.org>
16096
16097         isinf: Move AC_LIBOBJ invocations to module description.
16098         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
16099         * modules/isinf (configure.ac): ... to here.
16100
16101 2011-05-08  Bruno Haible  <bruno@clisp.org>
16102
16103         isfinite: Move AC_LIBOBJ invocations to module description.
16104         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
16105         * modules/isfinite (configure.ac): ... to here.
16106
16107 2011-05-08  Bruno Haible  <bruno@clisp.org>
16108
16109         isblank: Move AC_LIBOBJ invocations to module description.
16110         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
16111         here...
16112         * modules/isblank (configure.ac): ... to here.
16113
16114 2011-05-08  Bruno Haible  <bruno@clisp.org>
16115
16116         isapipe: Move AC_LIBOBJ invocations to module description.
16117         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
16118         gl_PREREQ_ISAPIPE invocations from here...
16119         * modules/isapipe (configure.ac): ... to here.
16120         (Depends-on): Update condition.
16121
16122 2011-05-08  Bruno Haible  <bruno@clisp.org>
16123
16124         ioctl: Move AC_LIBOBJ invocations to module description.
16125         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
16126         invocations from here...
16127         * modules/ioctl (configure.ac): ... to here.
16128         (Depends-on): Update condition.
16129
16130 2011-05-08  Bruno Haible  <bruno@clisp.org>
16131
16132         imaxdiv: Move AC_LIBOBJ invocations to module description.
16133         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
16134         invocations from here...
16135         * modules/imaxdiv (configure.ac): ... to here.
16136
16137 2011-05-08  Bruno Haible  <bruno@clisp.org>
16138
16139         imaxabs: Move AC_LIBOBJ invocations to module description.
16140         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
16141         invocations from here...
16142         * modules/imaxabs (configure.ac): ... to here.
16143
16144 2011-05-08  Bruno Haible  <bruno@clisp.org>
16145
16146         getaddrinfo: Move AC_LIBOBJ invocations to module description.
16147         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
16148         AC_LIBOBJ invocations from here...
16149         * modules/getaddrinfo (configure.ac): ... to here.
16150         (Depends-on): Add conditions.
16151
16152 2011-05-08  Bruno Haible  <bruno@clisp.org>
16153
16154         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16155         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
16156         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16157         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
16158         (gl_PREREQ_INET_PTON): ... from here.
16159         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
16160         gl_PREREQ_INET_PTON here.
16161         (Depends-on): Update condition.
16162
16163 2011-05-08  Bruno Haible  <bruno@clisp.org>
16164
16165         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16166         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
16167         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16168         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
16169         (gl_PREREQ_INET_NTOP): ... from here.
16170         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
16171         gl_PREREQ_INET_NTOP here.
16172         (Depends-on): Update condition.
16173
16174 2011-05-08  Bruno Haible  <bruno@clisp.org>
16175
16176         iconv_open: Move AC_LIBOBJ invocations to module description.
16177         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
16178         AC_LIBOBJ invocations from here...
16179         * modules/iconv_open (configure.ac): ... to here.
16180
16181 2011-05-08  Bruno Haible  <bruno@clisp.org>
16182
16183         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
16184         If module 'iconv_open' is among the main modules and module
16185         'iconv_open-utf' is among the tests dependencies, then
16186         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
16187         return the special iconv_t values. Therefore iconv() and iconv_close()
16188         must support these special iconv_t values, already in lib, not only in
16189         tests.
16190         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
16191         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
16192         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
16193         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
16194         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
16195         (Depends-on): Add the dependencies of iconv_open-utf.
16196         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
16197         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
16198         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
16199
16200 2011-05-08  Bruno Haible  <bruno@clisp.org>
16201
16202         group-member: Move AC_LIBOBJ invocations to module description.
16203         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
16204         gl_PREREQ_GROUP_MEMBER invocations from here...
16205         * modules/group-member (configure.ac): ... to here.
16206
16207 2011-05-08  Bruno Haible  <bruno@clisp.org>
16208
16209         grantpt: Move AC_LIBOBJ invocations to module description.
16210         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
16211         invocations from here...
16212         * modules/grantpt (configure.ac): ... to here.
16213
16214 2011-05-08  Bruno Haible  <bruno@clisp.org>
16215
16216         glob: Move AC_LIBOBJ invocations to module description.
16217         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
16218         from here...
16219         * modules/glob (configure.ac): ... to here.
16220
16221 2011-05-08  Bruno Haible  <bruno@clisp.org>
16222
16223         getusershell: Move AC_LIBOBJ invocations to module description.
16224         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
16225         Move AC_LIBOBJ invocation from here...
16226         * modules/getusershell (configure.ac): ... to here.
16227         (Depends-on): Update condition.
16228
16229 2011-05-08  Bruno Haible  <bruno@clisp.org>
16230
16231         gettimeofday: Move AC_LIBOBJ invocations to module description.
16232         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
16233         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
16234         gl_PREREQ_GETTIMEOFDAY invocations from here...
16235         * modules/gettimeofday (configure.ac): ... to here.
16236
16237 2011-05-08  Bruno Haible  <bruno@clisp.org>
16238
16239         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
16240         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
16241         just gl_FUNC_TZSET.
16242         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
16243         (gl_FUNC_TZSET_CLOBBER): Remove actions.
16244         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
16245         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
16246
16247 2011-05-08  Bruno Haible  <bruno@clisp.org>
16248
16249         getsubopt: Move AC_LIBOBJ invocations to module description.
16250         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
16251         gl_PREREQ_GETSUBOPT invocations from here...
16252         * modules/getsubopt (configure.ac): ... to here.
16253
16254 2011-05-08  Bruno Haible  <bruno@clisp.org>
16255
16256         getpass-gnu: Move AC_LIBOBJ invocations to module description.
16257         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
16258         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
16259         * modules/getpass-gnu (configure.ac): ... to here.
16260
16261 2011-05-08  Bruno Haible  <bruno@clisp.org>
16262
16263         getpass: Move AC_LIBOBJ invocations to module description.
16264         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
16265         gl_PREREQ_GETPASS invocations from here...
16266         * modules/getpass (configure.ac): ... to here.
16267
16268 2011-05-08  Bruno Haible  <bruno@clisp.org>
16269
16270         getpagesize: Move AC_LIBOBJ invocations to module description.
16271         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
16272         from here...
16273         * modules/getpagesize (configure.ac): ... to here.
16274
16275 2011-05-08  Bruno Haible  <bruno@clisp.org>
16276
16277         getopt: Move AC_LIBOBJ invocations to module description.
16278         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
16279         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
16280         invocations from here...
16281         * modules/getopt-gnu (configure.ac): ... to here.
16282         * modules/getopt-posix (configure.ac): ... and here.
16283         (Depends-on): Update condition.
16284
16285 2011-05-08  Bruno Haible  <bruno@clisp.org>
16286
16287         getopt, argp: Respect rules for use of AC_LIBOBJ.
16288         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
16289         (gl_REPLACE_GETOPT_ALWAYS): New macro.
16290         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
16291         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
16292
16293 2011-05-08  Bruno Haible  <bruno@clisp.org>
16294
16295         getlogin_r: Move AC_LIBOBJ invocations to module description.
16296         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
16297         gl_PREREQ_GETLOGIN_R invocations from here...
16298         * modules/getlogin_r (configure.ac): ... to here.
16299
16300 2011-05-08  Bruno Haible  <bruno@clisp.org>
16301
16302         getlogin: Move AC_LIBOBJ invocations to module description.
16303         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
16304         here...
16305         * modules/getlogin (configure.ac): ... to here.
16306
16307 2011-05-08  Bruno Haible  <bruno@clisp.org>
16308
16309         getloadavg: Move AC_LIBOBJ invocations to module description.
16310         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
16311         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
16312         * modules/getloadavg (configure.ac): ... to here.
16313
16314 2011-05-08  Bruno Haible  <bruno@clisp.org>
16315
16316         gethrxtime: Move AC_LIBOBJ invocations to module description.
16317         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
16318         LIB_GETHRXTIME from here...
16319         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
16320         invocations from here...
16321         * modules/gethrxtime (configure.ac): ... to here.
16322
16323 2011-05-08  Bruno Haible  <bruno@clisp.org>
16324
16325         gethostname: Move AC_LIBOBJ invocations to module description.
16326         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
16327         gl_PREREQ_GETHOSTNAME invocations from here...
16328         * modules/gethostname (configure.ac): ... to here.
16329
16330 2011-05-08  Bruno Haible  <bruno@clisp.org>
16331
16332         getgroups: Move AC_LIBOBJ invocations to module description.
16333         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
16334         here...
16335         * modules/getgroups (configure.ac): ... to here.
16336
16337 2011-05-08  Bruno Haible  <bruno@clisp.org>
16338
16339         getdtablesize: Move AC_LIBOBJ invocations to module description.
16340         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
16341         invocation from here...
16342         * modules/getdtablesize (configure.ac): ... to here.
16343
16344 2011-05-08  Bruno Haible  <bruno@clisp.org>
16345
16346         getdomainname: Move AC_LIBOBJ invocations to module description.
16347         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
16348         gl_PREREQ_GETDOMAINNAME invocations from here...
16349         * modules/getdomainname (configure.ac): ... to here.
16350
16351 2011-05-08  Bruno Haible  <bruno@clisp.org>
16352
16353         getline: Move AC_LIBOBJ invocations to module description.
16354         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
16355         invocations from here...
16356         * modules/getline (configure.ac): ... to here.
16357
16358 2011-05-08  Bruno Haible  <bruno@clisp.org>
16359
16360         getline: Simplify.
16361         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
16362         It's already handled through the module dependency.
16363
16364 2011-05-08  Bruno Haible  <bruno@clisp.org>
16365
16366         getdelim: Move AC_LIBOBJ invocations to module description.
16367         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
16368         and gl_PREREQ_GETDELIM invocations from here...
16369         * modules/getdelim (configure.ac): ... to here.
16370         (Depends-on): Fix condition.
16371
16372 2011-05-08  Bruno Haible  <bruno@clisp.org>
16373
16374         getcwd: Move AC_LIBOBJ invocations to module description.
16375         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
16376         invocations from here...
16377         * modules/getcwd (configure.ac): ... to here.
16378
16379 2011-05-08  Bruno Haible  <bruno@clisp.org>
16380
16381         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
16382         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
16383         here...
16384         * modules/getcwd-lgpl (configure.ac): ... to here.
16385
16386 2011-05-07  Bruno Haible  <bruno@clisp.org>
16387
16388         crypto/gc: Move AC_LIBOBJ invocations to module description.
16389         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
16390         * modules/crypto/gc (configure.ac): ... to here.
16391
16392 2011-05-07  Bruno Haible  <bruno@clisp.org>
16393
16394         fwriting: Move AC_LIBOBJ invocations to module description.
16395         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
16396         here...
16397         * modules/fwriting (configure.ac): ... to here.
16398
16399 2011-05-07  Bruno Haible  <bruno@clisp.org>
16400
16401         fwritable: Move AC_LIBOBJ invocations to module description.
16402         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
16403         here...
16404         * modules/fwritable (configure.ac): ... to here.
16405
16406 2011-05-07  Bruno Haible  <bruno@clisp.org>
16407
16408         futimens: Move AC_LIBOBJ invocations to module description.
16409         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
16410         here...
16411         * modules/futimens (configure.ac): ... to here.
16412
16413 2011-05-07  Bruno Haible  <bruno@clisp.org>
16414
16415         ftruncate: Move AC_LIBOBJ invocations to module description.
16416         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
16417         gl_PREREQ_FTRUNCATE invocations from here...
16418         * modules/ftruncate (configure.ac): ... to here.
16419
16420 2011-05-07  Bruno Haible  <bruno@clisp.org>
16421
16422         fsync: Move AC_LIBOBJ invocations to module description.
16423         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
16424         invocations from here...
16425         * modules/fsync (configure.ac): ... to here.
16426
16427 2011-05-07  Bruno Haible  <bruno@clisp.org>
16428
16429         fsusage: Move AC_LIBOBJ invocations to module description.
16430         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
16431         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
16432         * modules/fsusage (configure.ac): ... to here.
16433
16434 2011-05-07  Bruno Haible  <bruno@clisp.org>
16435
16436         freopen: Move AC_LIBOBJ invocations to module description.
16437         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
16438         invocations from here...
16439         * modules/freopen (configure.ac): ... to here.
16440
16441 2011-05-07  Bruno Haible  <bruno@clisp.org>
16442
16443         free: Move AC_LIBOBJ invocations to module description.
16444         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
16445         invocations from here...
16446         * modules/free (configure.ac): ... to here.
16447
16448 2011-05-07  Bruno Haible  <bruno@clisp.org>
16449
16450         freadable: Move AC_LIBOBJ invocations to module description.
16451         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
16452         here...
16453         * modules/freadable (configure.ac): ... to here.
16454
16455 2011-05-07  Bruno Haible  <bruno@clisp.org>
16456
16457         fpurge: Move AC_LIBOBJ invocations to module description.
16458         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
16459         invocations from here...
16460         * modules/fpurge (configure.ac): ... to here.
16461
16462 2011-05-07  Bruno Haible  <bruno@clisp.org>
16463
16464         fpending: Move AC_LIBOBJ invocations to module description.
16465         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
16466         gl_FUNC_FPENDING.
16467         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
16468         invocations from here...
16469         * modules/fpending (configure.ac): ... to here.
16470
16471 2011-05-07  Bruno Haible  <bruno@clisp.org>
16472
16473         fopen: Move AC_LIBOBJ invocations to module description.
16474         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
16475         invocations from here...
16476         * modules/fopen (configure.ac): ... to here.
16477
16478 2011-05-07  Bruno Haible  <bruno@clisp.org>
16479
16480         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
16481         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
16482         gl_FUNC_FNMATCH_POSIX.
16483         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
16484         invocations from here...
16485         * modules/fnmatch (configure.ac): ... to here.
16486         * modules/fnmatch-gnu (configure.ac): ... and here.
16487
16488 2011-05-07  Bruno Haible  <bruno@clisp.org>
16489
16490         flock: Move AC_LIBOBJ invocations to module description.
16491         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
16492         invocations from here...
16493         * modules/flock (configure.ac): ... to here.
16494
16495 2011-05-07  Bruno Haible  <bruno@clisp.org>
16496
16497         fileblocks: Move AC_LIBOBJ invocations to module description.
16498         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
16499         gl_PREREQ_FILEBLOCKS invocations from here...
16500         * modules/fileblocks (configure.ac): ... to here.
16501
16502 2011-05-06  Bruno Haible  <bruno@clisp.org>
16503
16504         fflush: Move AC_LIBOBJ invocations to module description.
16505         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
16506         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
16507         invocations from here...
16508         * modules/fflush (configure.ac): ... to here.
16509
16510 2011-05-06  Bruno Haible  <bruno@clisp.org>
16511
16512         fdopendir: Move AC_LIBOBJ invocations to module description.
16513         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
16514         here...
16515         * modules/fdopendir (configure.ac): ... to here.
16516         (Depends-on): Improve conditions.
16517
16518 2011-05-06  Bruno Haible  <bruno@clisp.org>
16519
16520         _Exit: Move AC_LIBOBJ invocations to module description.
16521         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
16522         invocations from here...
16523         * modules/_Exit (configure.ac): ... to here.
16524
16525 2011-05-21  Bruno Haible  <bruno@clisp.org>
16526
16527         euidaccess: Respect rules for use of AC_LIBOBJ.
16528         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16529         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
16530         from here...
16531         * modules/euidaccess (configure.ac): ... to here.
16532
16533 2011-05-06  Bruno Haible  <bruno@clisp.org>
16534
16535         error: Move AC_LIBOBJ invocations to module description.
16536         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
16537         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
16538         invocations from here...
16539         * modules/error (configure.ac): ... to here.
16540
16541 2011-05-06  Bruno Haible  <bruno@clisp.org>
16542
16543         duplocale: Move AC_LIBOBJ invocations to module description.
16544         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
16545         gl_PREREQ_DUPLOCALE invocations from here...
16546         * modules/duplocale (configure.ac): ... to here.
16547
16548 2011-05-05  Bruno Haible  <bruno@clisp.org>
16549
16550         dirfd: Move AC_LIBOBJ invocations to module description.
16551         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
16552         gl_FUNC_DIRFD.
16553         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
16554         here...
16555         * modules/dirfd (configure.ac): ... to here.
16556         (Depends-on): Fix condition.
16557
16558 2011-05-05  Bruno Haible  <bruno@clisp.org>
16559
16560         chown: Respect rules for use of AC_LIBOBJ.
16561         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
16562         * modules/chown (configure.ac): ... to here.
16563
16564 2011-05-05  Bruno Haible  <bruno@clisp.org>
16565
16566         chdir-long: Move AC_LIBOBJ invocations to module description.
16567         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
16568         gl_PREREQ_CHDIR_LONG invocations from here...
16569         * modules/chdir-long (configure.ac): ... to here.
16570
16571 2011-05-05  Bruno Haible  <bruno@clisp.org>
16572
16573         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
16574         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
16575         from here...
16576         * modules/canonicalize-lgpl (configure.ac): ... to here.
16577
16578 2011-05-05  Bruno Haible  <bruno@clisp.org>
16579
16580         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
16581         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
16582         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
16583         REPLACE_CALLOC.
16584         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
16585         * modules/calloc-gnu (configure.ac): Likewise.
16586
16587 2011-05-05  Bruno Haible  <bruno@clisp.org>
16588
16589         btowc: Move AC_LIBOBJ invocations to module description.
16590         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
16591         invocations from here...
16592         * modules/btowc (configure.ac): ... to here.
16593
16594 2011-05-21  Bruno Haible  <bruno@clisp.org>
16595
16596         atexit: Move AC_LIBOBJ invocations to module description.
16597         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
16598         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
16599         here...
16600         * modules/atexit (configure.ac): ... to here.
16601
16602 2011-05-05  Bruno Haible  <bruno@clisp.org>
16603
16604         atoll: Move AC_LIBOBJ invocations to module description.
16605         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
16606         invocations from here...
16607         * modules/atoll (configure.ac): ... to here.
16608
16609 2011-05-05  Bruno Haible  <bruno@clisp.org>
16610
16611         argz: Move AC_LIBOBJ invocations to module description.
16612         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
16613         * modules/argz (configure.ac): ... to here.
16614
16615 2011-05-05  Bruno Haible  <bruno@clisp.org>
16616
16617         alphasort: Move AC_LIBOBJ invocations to module description.
16618         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
16619         gl_PREREQ_ALPHASORT invocations from here...
16620         * modules/alphasort (configure.ac): ... to here.
16621
16622 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16623
16624         verify: new macro verify_expr; verify_true deprecated
16625         * NEWS: Mention this.
16626         * doc/verify.texi (Compile-time Assertions): Document this.
16627         * lib/verify.h (verify_true): Deprecate.
16628         (verify_expr): New macro.
16629         * tests/test-verify.c (function): Test verify_expr.
16630
16631 2011-06-14  Jim Meyering  <meyering@redhat.com>
16632
16633         init.sh: give more portable redirection-related advice in a comment
16634         * tests/init.sh (stderr_fileno_): Update the advice in comments.
16635         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
16636         for lots of discussion.  Stefano Lattarini suggested the solution
16637         of putting "9>&2" after the command.  Reported by Bruno Haible.
16638
16639 2011-06-13  Bruno Haible  <bruno@clisp.org>
16640
16641         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
16642         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
16643         'none'.
16644
16645 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16646
16647         ftoastr: use strtof only if HAVE_STRTOF
16648         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
16649         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
16650         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
16651         * modules/ftoastr (configure.ac): Check for strtof.
16652
16653 2011-06-13  Bruno Haible  <bruno@clisp.org>
16654
16655         gnulib-tool: Addendum to 2011-06-08 commit.
16656         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
16657         and --witness-c-macro have been given, augment AM_CPPFLAGS.
16658
16659 2011-06-13  Bruno Haible  <bruno@clisp.org>
16660
16661         fseeko: Provide a non-inline replacement of fseek().
16662         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
16663         * modules/fseeko (Depends-on): Add fseek.
16664         * modules/fseek (License): Change to LGPLv2+.
16665
16666 2011-06-13  Bruno Haible  <bruno@clisp.org>
16667
16668         ftello: Provide a non-inline replacement of ftell().
16669         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
16670         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
16671         not have ftello() (such as on mingw).
16672         * modules/ftello (Depends-on): Add ftell.
16673         * modules/ftell (License): Change to LGPLv2+.
16674
16675 2011-05-07  Bruno Haible  <bruno@clisp.org>
16676
16677         ftell: Move AC_LIBOBJ invocations to module description.
16678         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
16679         * modules/ftell (configure.ac): ... to here.
16680
16681 2011-05-07  Bruno Haible  <bruno@clisp.org>
16682
16683         ftello: Respect rules for use of AC_LIBOBJ.
16684         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
16685         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
16686         here...
16687         * modules/ftello (configure.ac): ... to here.
16688
16689 2011-05-07  Bruno Haible  <bruno@clisp.org>
16690
16691         fseeko: Simplify.
16692         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
16693         (gl_FUNC_FSEEKO): Inline it here.
16694
16695 2011-05-07  Bruno Haible  <bruno@clisp.org>
16696
16697         fseek: Move AC_LIBOBJ invocations to module description.
16698         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
16699         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
16700         * modules/fseek (configure.ac): ... to here.
16701
16702 2011-05-07  Bruno Haible  <bruno@clisp.org>
16703
16704         fseek: Respect rules for use of AC_LIBOBJ.
16705         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
16706         here...
16707         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
16708
16709 2011-05-07  Bruno Haible  <bruno@clisp.org>
16710
16711         fseeko: Respect rules for use of AC_LIBOBJ.
16712         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
16713         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
16714         here...
16715         * modules/fseeko (configure.ac): ... to here.
16716
16717 2011-06-13  Bruno Haible  <bruno@clisp.org>
16718
16719         gnulib-tool: Allow comments in the 'Depends-on' section.
16720         * doc/gnulib.texi (Module description): Mention comment syntax in the
16721         Depends-on section.
16722         * gnulib-tool (func_get_dependencies): Filter out comment lines.
16723
16724 2011-06-13  Bruno Haible  <bruno@clisp.org>
16725
16726         file-set.h: guard __attibute__ use, now that it's not always defined
16727         * lib/file-set.h (record_file): Use __attribute__ only with compiler
16728         versions that support it.  This fixes a coreutils build failure with
16729         the vendor cc on HP-UX 11.31.
16730
16731 2011-06-12  Bruno Haible  <bruno@clisp.org>
16732
16733         acl: Add support for HP-UX >= 11.11 JFS ACLs.
16734         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
16735         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
16736         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
16737         (acl, aclsort): New declarations.
16738         (aclv_nontrivial): New declaration.
16739         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
16740         (file_has_acl): Read also the second kind of HP-UX ACLs.
16741         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
16742         kind of HP-UX ACLs if the first kind fails.
16743         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
16744         second kind of HP-UX ACLs.
16745         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
16746         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
16747         agree.
16748         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16749         hpuxjfs.
16750         Handle hpuxjfs.
16751         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16752         hpuxjfs.
16753         Handle hpuxjfs.
16754         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16755         (func_test_same_acls): Use both lsacl and getacl.
16756         Handle hpuxjfs.
16757         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16758         (func_test_same_acls): Use both lsacl and getacl.
16759         Handle hpuxjfs.
16760
16761 2011-06-12  Bruno Haible  <bruno@clisp.org>
16762
16763         acl: Complete the 2010-08-10 fix.
16764         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
16765         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
16766         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
16767         explicitly.
16768         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
16769         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
16770
16771 2011-06-12  Bruno Haible  <bruno@clisp.org>
16772
16773         spawn-pipe tests: Comments.
16774         * tests/test-spawn-pipe-child.c (main): Update comment.
16775         Reported by James Youngman <jay@gnu.org>.
16776
16777 2011-06-11  James Youngman  <jay@gnu.org>
16778
16779         New module 'stat-size'.
16780         * modules/stat-size: New module.  Provides macros for accessing
16781         file size information in instances of struct stat.  Depends on the
16782         fileblocks module because it calls st_blocks.
16783         * lib/stat-size.h: New file, adapted from coreutils' system.h.
16784         * doc/gnulib.texi: Include stat-size.texi.
16785         * doc/stat-size.texi: Documentation for this module.
16786         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
16787         * m4/fileblocks.m4: Mention that stat-size depends on the call to
16788         AC_STRUCT_ST_BLOCKS.
16789
16790 2011-06-09  Bruno Haible  <bruno@clisp.org>
16791
16792         thread: Support pthreads-win32.
16793         * lib/glthread/thread.h (gl_thread_self): Define differently on
16794         pthreads-win32.
16795         (gl_null_thread): New declaration.
16796         (gl_thread_self_pointer): New macro.
16797         * lib/glthread/thread.c (gl_null_thread): New constant.
16798         * tests/test-lock.c: Use gl_thread_self_pointer instead of
16799         gl_thread_self.
16800         * tests/test-tls.c: Likewise.
16801         Suggested by Paul Eggert. Reported by Eric Blake.
16802
16803 2011-06-09  Bruno Haible  <bruno@clisp.org>
16804
16805         thread: Fix confusion between NULL and 0.
16806         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
16807         Reported by Paul Eggert.
16808
16809 2011-06-09  Bruno Haible  <bruno@clisp.org>
16810
16811         spawn-pipe tests: Avoid test failure on HP-UX 11.
16812         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
16813         is closed.
16814
16815 2011-06-09  Bruno Haible  <bruno@clisp.org>
16816
16817         acl tests: Fix compilation error on HP-UX 11.
16818         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
16819
16820 2011-06-09  Bruno Haible  <bruno@clisp.org>
16821
16822         rmdir: Avoid test failure on HP-UX 10.20.
16823         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
16824         EEXIST.
16825
16826 2011-06-08  Eric Blake  <eblake@redhat.com>
16827
16828         perror: fix test on mingw
16829         * modules/perror-tests (Depends-on): Add dup2.
16830
16831         strerror_r-posix: fix on MacOS
16832         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
16833         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
16834         logic bug.
16835         * lib/strerror_r.c (strerror_r): Fix the bug.
16836         * lib/strerror.c (strerror): Likewise.
16837         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16838         problem.
16839         * doc/posix-functions/strerror.texi (strerror): Likewise.
16840         * doc/posix-functions/perror.texi (perror): Likewise.
16841         * tests/test-strerror.c (main): Enhance test.
16842         * tests/test-strerror_r.c (main): Likewise.
16843
16844 2011-06-08  Bruno Haible  <bruno@clisp.org>
16845
16846         gnulib-tool: Better isolation between different gnulib-tool invocations.
16847         * gnulib-tool: New option --witness-c-macro.
16848         (witness_c_macro): New variable.
16849         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
16850         AM_CPPFLAGS define it as a C macro.
16851         (func_emit_tests_Makefile_am): Likewise.
16852         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
16853         read it from there.
16854         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
16855         m4_define, not AC_DEFUN.
16856         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
16857         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
16858         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
16859         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
16860         s|...|...|, to substitute the values of the GNULIB_* module indicator
16861         variables.
16862         * modules/dirent (Makefile.am): Likewise.
16863         * modules/fcntl-h (Makefile.am): Likewise.
16864         * modules/iconv-h (Makefile.am): Likewise.
16865         * modules/langinfo (Makefile.am): Likewise.
16866         * modules/locale (Makefile.am): Likewise.
16867         * modules/math (Makefile.am): Likewise.
16868         * modules/netdb (Makefile.am): Likewise.
16869         * modules/poll-h (Makefile.am): Likewise.
16870         * modules/pty (Makefile.am): Likewise.
16871         * modules/search (Makefile.am): Likewise.
16872         * modules/signal (Makefile.am): Likewise.
16873         * modules/spawn (Makefile.am): Likewise.
16874         * modules/stdio (Makefile.am): Likewise.
16875         * modules/stdlib (Makefile.am): Likewise.
16876         * modules/string (Makefile.am): Likewise.
16877         * modules/sys_ioctl (Makefile.am): Likewise.
16878         * modules/sys_select (Makefile.am): Likewise.
16879         * modules/sys_socket (Makefile.am): Likewise.
16880         * modules/sys_stat (Makefile.am): Likewise.
16881         * modules/sys_times (Makefile.am): Likewise.
16882         * modules/sys_utsname (Makefile.am): Likewise.
16883         * modules/sys_wait (Makefile.am): Likewise.
16884         * modules/termios (Makefile.am): Likewise.
16885         * modules/time (Makefile.am): Likewise.
16886         * modules/unistd (Makefile.am): Likewise.
16887         * modules/wchar (Makefile.am): Likewise.
16888
16889 2011-06-08  Eric Blake  <eblake@redhat.com>
16890
16891         strerror: simplify replacement
16892         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
16893         * modules/strerror (configure.ac): No prereqs needed here...
16894         * modules/strerror-override (configure.ac): ...but this needs it.
16895         (Files): Add file for needed prereq macro.
16896
16897 2011-06-08  Bruno Haible  <bruno@clisp.org>
16898
16899         strerror_r-posix: Tweaks.
16900         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
16901         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
16902         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
16903         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
16904         (gl_FUNC_STRERROR_R): ... to here.
16905         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
16906
16907 2011-06-07  Eric Blake  <eblake@redhat.com>
16908
16909         perror: document fixed bugs
16910         * doc/posix-functions/perror.texi (perror): Document recent
16911         patches.
16912
16913 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16914
16915         stat-time: get_stat_birthtime failure is better-defined
16916         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
16917         return a timestamp whose tv_sec and tv_nsec values are both -1.
16918         Previously, the spec said only that the tv_nsec value was negative.
16919         This upward-compatible change simplifies GNU tar a bit.
16920
16921 2011-06-07  Eric Blake  <eblake@redhat.com>
16922
16923         strerror_r-posix: work around cygwin 1.7.9
16924         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
16925         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
16926         bug without replacing strerror_r.
16927         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
16928         strerror_r is buggy, but without requiring strerror_r compilation.
16929         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
16930
16931         test-perror: relax test to ignore cygwin bug
16932         * tests/test-perror2.c (main): Relax test on requiring detection
16933         of stream errors, and use unbuffered stream.
16934         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
16935         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16936         * doc/posix-functions/fputc.texi (fputc): Likewise.
16937         * doc/posix-functions/fputs.texi (fputs): Likewise.
16938         * doc/posix-functions/fputws.texi (fputws): Likewise.
16939         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16940         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
16941         * doc/posix-functions/getopt.texi (getopt): Likewise.
16942         * doc/posix-functions/perror.texi (perror): Likewise.
16943         * doc/posix-functions/printf.texi (printf): Likewise.
16944         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
16945         * doc/posix-functions/psignal.texi (psignal): Likewise.
16946         * doc/posix-functions/putc.texi (putc): Likewise.
16947         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
16948         Likewise.
16949         * doc/posix-functions/putchar.texi (putchar): Likewise.
16950         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
16951         Likewise.
16952         * doc/posix-functions/puts.texi (puts): Likewise.
16953         * doc/posix-functions/putwc.texi (putwc): Likewise.
16954         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
16955         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16956         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16957         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16958         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16959         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16960         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
16961         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16962
16963 2011-05-22  Bruno Haible  <bruno@clisp.org>
16964
16965         strerror: Move AC_LIBOBJ invocations to module description.
16966         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
16967         gl_PREREQ_STRERROR invocations from here...
16968         * modules/strerror (configure.ac): ... to here.
16969
16970 2011-05-21  Bruno Haible  <bruno@clisp.org>
16971
16972         perror: Use common idiom.
16973         * modules/perror (configure.ac): Reorder statements.
16974
16975 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16976
16977         tests: fix usage message in 'mktempd_'
16978         * tests/init.sh (mktempd_): In the usage message, use literal
16979         'mktempd_', not '$ME' (which is even undefined), as the name of
16980         the subroutine.
16981
16982 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16983
16984         tests init: new function 'fatal_', for hard errors
16985         Before this patch, the only way offered by tests/init.sh to
16986         properly signal a hard error was the `framework_failure_'
16987         function.  But the error message issued by that function,
16988         as its name would suggest, refers to a set-up failure in the
16989         testsuite, while hard errors can obviously also be due to
16990         other reasons.  The best way to fix this inconsistency is to
16991         introduce a new function with a more general error message.
16992         * tests/init.sh (fatal_): New function.
16993
16994 2011-06-06  Eric Blake  <eblake@redhat.com>
16995
16996         canonicalize-lgpl: use common idiom
16997         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
16998         over newer POSIX -Rf.
16999         Reported by Bruno Haible.
17000
17001         canonicalize-lgpl: work around AIX realpath bug
17002         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
17003         * doc/posix-functions/realpath.texi (realpath): Document it.
17004         Reported by Bruno Haible.
17005
17006         strerror: work around FreeBSD bug
17007         * lib/strerror.c (strerror): Special case 0.
17008         Reported by Bruno Haible.
17009
17010         strerror-override: avoid bloating errno module
17011         * modules/errno (Files, configure.ac): Move replacement strings...
17012         * modules/strerror-override: ...to new module.
17013         * modules/strerror (Depends-on): Add strerror-override.
17014         * modules/strerror_r-posix (Depends-on): Likewise.
17015         * MODULES.html.sh: Document new module.
17016         Reported by Bruno Haible.
17017
17018 2011-06-06  Bruno Haible  <bruno@clisp.org>
17019
17020         spawn-pipe tests: Rename program.
17021         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
17022         * tests/test-spawn-pipe-child.c: Update comment.
17023         * tests/test-spawn-pipe.sh: Update.
17024         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
17025
17026         spawn-pipe tests: Link the child program only against libc.
17027         * tests/test-spawn-pipe-child.c: New file, extracted from
17028         tests/test-spawn-pipe.c.
17029         (main): Expect only one argument.
17030         (is_open): New function, copied from tests/test-pipe.c.
17031         * tests/test-spawn-pipe.c: Don't include <errno.h>.
17032         (child_main): Remove function.
17033         (test_pipe): Pass only one argument to the child program.
17034         (main): Remove child process code. Expect the child program's name as
17035         first argument.
17036         * tests/test-spawn-pipe.sh: Pass the child program's name as first
17037         argument.
17038         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
17039         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
17040         test-spawn-pipe-child against no libraries.
17041
17042 2011-06-06  Bruno Haible  <bruno@clisp.org>
17043
17044         careadlinkat: Avoid mismatch between ssize_t and int.
17045         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
17046         * lib/careadlinkat.c (careadlinkatcwd): Define always.
17047
17048 2011-06-06  Jim Meyering  <meyering@redhat.com>
17049
17050         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
17051         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
17052         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
17053
17054 2011-06-05  Bruno Haible  <bruno@clisp.org>
17055
17056         ansi-c++-opt: Interoperability with libtool.
17057         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
17058         set the variable to "no", not to ":".
17059         * NEWS: Mention the change.
17060
17061 2011-06-05  Bruno Haible  <bruno@clisp.org>
17062
17063         acl: Fix test failure on AIX 7.
17064         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
17065         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
17066
17067 2011-06-05  Bruno Haible  <bruno@clisp.org>
17068
17069         pipe-filter-ii: Fix test failure on AIX and IRIX.
17070         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
17071         with EAGAIN, retry with a smaller buffer size.
17072
17073 2011-06-05  Bruno Haible  <bruno@clisp.org>
17074
17075         localename: Fix link dependencies.
17076         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
17077         * modules/localename-tests (Makefile.am): Link test-localename with
17078         $(LIBTHREAD).
17079
17080 2011-06-05  Bruno Haible  <bruno@clisp.org>
17081
17082         error: Avoid gcc warning.
17083         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
17084
17085 2011-06-05  Bruno Haible  <bruno@clisp.org>
17086
17087         unsetenv: Avoid gcc warning.
17088         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
17089
17090 2011-06-05  Bruno Haible  <bruno@clisp.org>
17091
17092         setenv: Avoid gcc warning.
17093         * lib/setenv.c (setenv): Provide declaration if system lacks it.
17094
17095 2011-06-05  Bruno Haible  <bruno@clisp.org>
17096
17097         sys_select: Ensure memset is declared also on AIX 7.
17098         * lib/sys_select.in.h: Include <string.h> also on AIX.
17099         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
17100         self-contained also on AIX 7.1.
17101
17102 2011-06-04  Jim Meyering  <meyering@redhat.com>
17103
17104         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
17105         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
17106         function name, "error".
17107         (_gl_translatable_diag_func_re): New configurable variable.
17108
17109 2011-06-04  Bruno Haible  <bruno@clisp.org>
17110
17111         getopt: Avoid gcc warning.
17112         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
17113
17114 2011-06-04  Bruno Haible  <bruno@clisp.org>
17115
17116         strerror_r: Fix comments.
17117         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
17118         commit.
17119
17120 2011-06-04  Bruno Haible  <bruno@clisp.org>
17121
17122         perror: Fix compilation error.
17123         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
17124         Undefine fprintf, not sprintf.
17125         * modules/perror (Depends-on): Remove intprops, verify.
17126
17127 2011-06-04  Bruno Haible  <bruno@clisp.org>
17128
17129         setlocale: Enable replacement on Cygwin 1.5.
17130         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
17131         Cygwin 1.5.x.
17132         * doc/posix-functions/setlocale.texi: Mention that the problem with the
17133         LC_CTYPE category also exists on Cygwin 1.5.x.
17134
17135 2011-06-04  Bruno Haible  <bruno@clisp.org>
17136
17137         strerror-override: Don't disable symbol renamings.
17138         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
17139         * lib/strerror-override.c: Include config.h.
17140         (strerror_override): Don't undefine.
17141
17142 2011-06-03  Bruno Haible  <bruno@clisp.org>
17143
17144         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
17145         * lib/localename.h: Update copyright header.
17146         * lib/localename.c: Likewise.
17147         * lib/relocatable.h: Likewise.
17148         * lib/relocatable.c: Likewise.
17149
17150 2011-06-02  Bruno Haible  <bruno@clisp.org>
17151
17152         doc: Fix a module name.
17153         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
17154
17155 2011-06-02  Bruno Haible  <bruno@clisp.org>
17156
17157         pipe2: Remove dependency on 'nonblocking' module.
17158         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
17159         O_NONBLOCK is defined by gnulib.
17160         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
17161         is zero.
17162         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
17163         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
17164         defined by gnulib.
17165         (get_nonblocking_flag): New function.
17166         (main): Test O_NONBLOCK flag only if it is nonzero.
17167         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
17168
17169 2011-06-03  Jim Meyering  <meyering@redhat.com>
17170
17171         maint: three new prohibit-header-without-use rules
17172         Prohibit use of cloexec.h, posixver.h, same.h without use.
17173         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
17174         (sc_prohibit_posixver_without_use): Likewise.
17175         (sc_prohibit_same_without_use): Likewise.
17176
17177 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17178
17179         allocator: 'die' routine is now given requested size
17180         * lib/allocator.h (struct allocator.die): New size arg.
17181         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
17182         If the actual problem is an ssize_t limitation, not a size_t or
17183         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
17184
17185 2011-06-01  Eric Blake  <eblake@redhat.com>
17186
17187         strerror: drop strerror_r dependency
17188         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
17189         * lib/strerror-override.c (strerror_override): ...to new file.
17190         * lib/strerror-override.h: Add prototype.
17191         * lib/strerror-impl.h: Delete.
17192         * lib/strerror.c (strerror): New implementation.
17193         * modules/errno (Files): Add new files.
17194         (configure.ac): Compile new file as appropriate.
17195         * modules/strerror (Files): Drop unused file.
17196         (Depends-on): Drop strerror_r-posix.
17197         * MODULES.html.sh: Document strerror_r-posix.
17198         Requested by Sam Steingold.
17199
17200         perror: call strerror_r directly
17201         * modules/perror (Files): Drop strerror-impl.h.
17202         * lib/perror.c (perror): Use our own stack buffer, rather than
17203         calling a wrapper that uses static storage.
17204         * doc/posix-functions/perror.texi (perror): Document a limitation
17205         of our replacement.
17206
17207         strerror_r: fix includes for FreeBSD
17208         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
17209         since we use abort on some platforms.
17210         Reported by Matthias Bolte.
17211
17212 2011-05-31  Bruno Haible  <bruno@clisp.org>
17213
17214         Fix link errors in tests: openat-die uses gettext-h.
17215         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
17216         against $(LIBINTL).
17217         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
17218         against $(LIBINTL).
17219         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
17220         $(LIBINTL).
17221         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
17222         against $(LIBINTL).
17223         * modules/linkat-tests (Makefile.am): Link test-linkat against
17224         $(LIBINTL).
17225         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
17226         $(LIBINTL).
17227         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
17228         against $(LIBINTL).
17229         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
17230         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
17231         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
17232         $(LIBINTL).
17233         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
17234         $(LIBINTL).
17235         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
17236         $(LIBINTL).
17237         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17238
17239 2011-05-31  Bruno Haible  <bruno@clisp.org>
17240
17241         Fix link errors in tests: wait-process uses gettext-h.
17242         * modules/nonblocking-pipe-tests (Makefile.am): Set
17243         test_nonblocking_pipe_main_LDADD.
17244         * modules/nonblocking-socket-tests (Makefile.am): Link
17245         test-nonblocking-socket-main against $(LIBINTL).
17246         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17247
17248 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17249
17250         assert-h: work around 'verify' incompatibility
17251         * lib/verify.h: Use @...@ directives, not ifdef.
17252         * modules/assert-h (assert.h): Implement the directives.
17253         (assert.h): Substitute the symbol-prefix more consistently.
17254
17255 2011-05-29  Jim Meyering  <meyering@redhat.com>
17256
17257         trim: remove three superfluous assignments
17258         * lib/trim.c (trim2): Remove three superfluous assignments
17259         and correct brace positioning.
17260
17261 2011-05-29  Bruno Haible  <bruno@clisp.org>
17262
17263         wctype-h: Avoid namespace pollution on Solaris 2.6.
17264         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
17265         identifiers.
17266         * doc/posix-headers/wctype.texi: Mention the problem.
17267         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17268
17269 2011-05-28  Jim Meyering  <meyering@redhat.com>
17270
17271         parse-datetime.y: accommodate -Wstrict-overflow
17272         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
17273         placate -Wstrict-overflow.
17274
17275         trim: avoid a warning from -O2 -Wstrict-overflow
17276         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
17277
17278 2011-05-29  Bruno Haible  <bruno@clisp.org>
17279
17280         gnulib-tool: Fix bug in yesterday's commit.
17281         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
17282         twice.
17283
17284 2011-05-29  Bruno Haible  <bruno@clisp.org>
17285
17286         Allow multiple gnulib generated include files to be combined.
17287         * gnulib-tool (func_compute_include_guard_prefix): New function.
17288         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
17289         ${gl_include_guard_prefix} references.
17290         (func_import, func_create_testdir): Invoke
17291         func_compute_include_guard_prefix.
17292         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
17293         * lib/ctype.in.h: Likewise.
17294         * lib/dirent.in.h: Likewise.
17295         * lib/errno.in.h: Likewise.
17296         * lib/fcntl.in.h: Likewise.
17297         * lib/float.in.h: Likewise.
17298         * lib/getopt.in.h: Likewise.
17299         * lib/iconv.in.h: Likewise.
17300         * lib/langinfo.in.h: Likewise.
17301         * lib/locale.in.h: Likewise.
17302         * lib/math.in.h: Likewise.
17303         * lib/netdb.in.h: Likewise.
17304         * lib/netinet_in.in.h: Likewise.
17305         * lib/poll.in.h: Likewise.
17306         * lib/pthread.in.h: Likewise.
17307         * lib/pty.in.h: Likewise.
17308         * lib/sched.in.h: Likewise.
17309         * lib/se-selinux.in.h: Likewise.
17310         * lib/search.in.h: Likewise.
17311         * lib/signal.in.h: Likewise.
17312         * lib/spawn.in.h: Likewise.
17313         * lib/stdarg.in.h: Likewise.
17314         * lib/stddef.in.h: Likewise.
17315         * lib/stdint.in.h: Likewise.
17316         * lib/stdio.in.h: Likewise.
17317         * lib/stdlib.in.h: Likewise.
17318         * lib/string.in.h: Likewise.
17319         * lib/strings.in.h: Likewise.
17320         * lib/sys_file.in.h: Likewise.
17321         * lib/sys_ioctl.in.h: Likewise.
17322         * lib/sys_select.in.h: Likewise.
17323         * lib/sys_socket.in.h: Likewise.
17324         * lib/sys_stat.in.h: Likewise.
17325         * lib/sys_time.in.h: Likewise.
17326         * lib/sys_times.in.h: Likewise.
17327         * lib/sys_uio.in.h: Likewise.
17328         * lib/sys_utsname.in.h: Likewise.
17329         * lib/sys_wait.in.h: Likewise.
17330         * lib/sysexits.in.h: Likewise.
17331         * lib/termios.in.h: Likewise.
17332         * lib/time.in.h: Likewise.
17333         * lib/unistd.in.h: Likewise.
17334         * lib/wchar.in.h: Likewise.
17335         * lib/wctype.in.h: Likewise.
17336         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
17337         * modules/ctype (Makefile.am): Likewise.
17338         * modules/dirent (Makefile.am): Likewise.
17339         * modules/errno (Makefile.am): Likewise.
17340         * modules/fcntl-h (Makefile.am): Likewise.
17341         * modules/float (Makefile.am): Likewise.
17342         * modules/getopt-posix (Makefile.am): Likewise.
17343         * modules/iconv-h (Makefile.am): Likewise.
17344         * modules/langinfo (Makefile.am): Likewise.
17345         * modules/locale (Makefile.am): Likewise.
17346         * modules/math (Makefile.am): Likewise.
17347         * modules/netdb (Makefile.am): Likewise.
17348         * modules/netinet_in (Makefile.am): Likewise.
17349         * modules/poll-h (Makefile.am): Likewise.
17350         * modules/pthread (Makefile.am): Likewise.
17351         * modules/pty (Makefile.am): Likewise.
17352         * modules/sched (Makefile.am): Likewise.
17353         * modules/search (Makefile.am): Likewise.
17354         * modules/selinux-h (Makefile.am): Likewise.
17355         * modules/signal (Makefile.am): Likewise.
17356         * modules/spawn (Makefile.am): Likewise.
17357         * modules/stdarg (Makefile.am): Likewise.
17358         * modules/stddef (Makefile.am): Likewise.
17359         * modules/stdint (Makefile.am): Likewise.
17360         * modules/stdio (Makefile.am): Likewise.
17361         * modules/stdlib (Makefile.am): Likewise.
17362         * modules/string (Makefile.am): Likewise.
17363         * modules/strings (Makefile.am): Likewise.
17364         * modules/sys_file (Makefile.am): Likewise.
17365         * modules/sys_ioctl (Makefile.am): Likewise.
17366         * modules/sys_select (Makefile.am): Likewise.
17367         * modules/sys_socket (Makefile.am): Likewise.
17368         * modules/sys_stat (Makefile.am): Likewise.
17369         * modules/sys_time (Makefile.am): Likewise.
17370         * modules/sys_times (Makefile.am): Likewise.
17371         * modules/sys_uio (Makefile.am): Likewise.
17372         * modules/sys_utsname (Makefile.am): Likewise.
17373         * modules/sys_wait (Makefile.am): Likewise.
17374         * modules/sysexits (Makefile.am): Likewise.
17375         * modules/termios (Makefile.am): Likewise.
17376         * modules/time (Makefile.am): Likewise.
17377         * modules/unistd (Makefile.am): Likewise.
17378         * modules/wchar (Makefile.am): Likewise.
17379         * modules/wctype-h (Makefile.am): Likewise.
17380         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
17381
17382 2011-05-29  Bruno Haible  <bruno@clisp.org>
17383
17384         assert-h: Allow multiple gnulib generated replacements to coexist.
17385         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
17386
17387 2011-05-29  Bruno Haible  <bruno@clisp.org>
17388
17389         argp: Allow coexistence with strerror_r-posix module.
17390         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
17391         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
17392         by gnulib's <string.h> replacement), assume it has the POSIX signature,
17393         not the glibc signature.
17394
17395 2011-05-28  Bruno Haible  <bruno@clisp.org>
17396
17397         gnulib-tool: Alternative structure of testdirs, similar to --import.
17398         * gnulib-tool: New option --single-configure.
17399         (func_usage): Document it.
17400         (single_configure): New variable.
17401         (func_modules_transitive_closure_separately,
17402         func_modules_transitive_closure_separately,
17403         func_determine_use_libtests, func_modules_add_dummy_separately,
17404         func_modules_to_filelist_separately): New functions, extracted from
17405         func_import.
17406         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
17407         (func_import): Use the new functions.
17408         (func_create_testdir): Set final_modules. Handle $single_configure =
17409         true case.
17410
17411 2011-05-28  Bruno Haible  <bruno@clisp.org>
17412
17413         getloadavg: Remove an unreliable safety check.
17414         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
17415         getloadavg.c is in place.
17416         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
17417         Reported by Sam Steingold <sds@gnu.org>.
17418
17419 2011-05-28  Bruno Haible  <bruno@clisp.org>
17420
17421         doc: Cleanup yet another file produced by texinfo.tex.
17422         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
17423
17424 2011-05-28  Bruno Haible  <bruno@clisp.org>
17425
17426         Finish the conditional dependencies mechanism.
17427         * gnulib-tool: New option --no-conditional-dependencies.
17428         (func_usage): Document it. Don't mark --conditional-dependencies as
17429         experimental.
17430         (cond_dependencies): The possible values can now be true, false, empty.
17431         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
17432         (func_import): Store setting in gnulib-cache.m4 and read it from there.
17433         * doc/gnulib-tool.texi (Conditional dependencies): New section.
17434
17435 2011-05-28  Bruno Haible  <bruno@clisp.org>
17436
17437         doc: Use a recent texinfo.tex.
17438         * doc/Makefile (tex_opts): New variable.
17439         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
17440
17441 2011-05-28  Jim Meyering  <meyering@redhat.com>
17442
17443         intprops.h: adjust comment to match code change
17444         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
17445         only once, it *may* have side effects.  Also fix an unrelated typo.
17446         (_GL_INT_SIGNED): Likewise.
17447
17448 2011-05-26  Simon Josefsson  <simon@josefsson.org>
17449
17450         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
17451
17452 2011-05-26  Bruno Haible  <bruno@clisp.org>
17453
17454         mbsrchr: Avoid collision with system function on Interix.
17455         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
17456         Reported by Markus Duft <mduft@gentoo.org>.
17457
17458 2011-05-15  James Youngman  <jay@gnu.org>
17459
17460         getopt: for ambiguous options, enumerate the possibilities.
17461         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
17462         the ambiguous options when an ambiguous prefix is given. This was
17463         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
17464         glibc change was
17465         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
17466
17467 2011-05-25  Eric Blake  <eblake@redhat.com>
17468
17469         getcwd: work around mingw bug
17470         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
17471         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17472         Reported by Matthias Bolte.
17473
17474 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
17475
17476         test-intprops: disable -Wtype-limits diagnostics
17477         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
17478         diagnostics.  Otherwise, the integer overflow macros generate many
17479         diagnostics.  Reported by Jim Meyering in
17480         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17481
17482         intprops: shorten, to pacify gcc -Woverlength-strings
17483         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
17484         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
17485         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
17486         likely to run afoul of C compiler limits for string constant lengths.
17487         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17488
17489 2011-05-24  Eric Blake  <eblake@redhat.com>
17490
17491         docs: document recently fixed glibc printf bug
17492         * doc/posix-functions/fprintf.texi (fprintf): Document it.
17493         * doc/posix-functions/printf.texi (printf): Likewise.
17494         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17495         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17496
17497         closein-tests: convert to init.sh
17498         * modules/closein-tests (Files): Add init.sh
17499         * tests/test-closein.sh Use it.
17500
17501         yesno-tests: convert to init.sh
17502         * modules/yesno-tests (Files): Add init.sh.
17503         * tests/test-yesno.sh: Use it.
17504
17505         atexit-tests: ensure reliable exit status
17506         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
17507         Reported by Bruno Haible.
17508
17509 2011-05-24  Bruno Haible  <bruno@clisp.org>
17510
17511         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
17512         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
17513         gl_PREREQ_STRERROR_R invocations from here...
17514         * modules/strerror_r-posix (configure.ac): ... to here.
17515
17516 2011-05-24  Eric Blake  <eblake@redhat.com>
17517
17518         strerror_r: fix missing header
17519         * lib/strerror_r.c: Avoid compiler warning about snprintf.
17520
17521         strerror_r: fix AIX test failures
17522         * lib/strerror_r.c (strerror_r): Convert silent truncation to
17523         ERANGE failure.
17524
17525         strerror_r: fix Solaris test failures
17526         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
17527         failures.
17528         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17529
17530         strerror_r: enforce POSIX recommendations
17531         * lib/strerror_r.c (safe_copy): New helper method.
17532         (strerror_r): Guarantee a non-empty string.
17533         * tests/test-strerror_r.c (main): Enhance tests to incorporate
17534         recent POSIX rulings and to match our strerror guarantees.
17535         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17536
17537 2011-05-24  Jim Meyering  <meyering@redhat.com>
17538
17539         test-perror2.c: avoid warning about unused variable
17540         * tests/test-perror2.c (main): Remove declaration of unused "fp".
17541
17542 2011-05-24  Eric Blake  <eblake@redhat.com>
17543
17544         perror: avoid spurious test failure on HP-UX
17545         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
17546
17547         tests: fix logic bug in init.sh
17548         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
17549         shell.
17550
17551 2011-05-24  Jim Meyering  <meyering@redhat.com>
17552
17553         utimensat: do not reference an out-of-scope buffer
17554         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
17555         declared in an inner scope, yet "times" would be dereferenced outside
17556         the scope in which "ts" was valid.
17557         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
17558         of ts[2] "out/up", so that the use of aliased "times" (via
17559         "times = ts;") does not end up referencing an out-of-scope "ts"
17560
17561         opendir-safer.c: don't clobber errno; don't close negative FD
17562         * lib/opendir-safer.c (opendir_safer):
17563         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
17564         file descriptor, and more importantly, don't clobber the
17565         offending errno value with EINVAL.  Before, upon failure
17566         of dup_safer, we would pass the negative file descriptor to
17567         fdopendir, which would clobber errno.
17568
17569 2011-05-23  Bruno Haible  <bruno@clisp.org>
17570
17571         idcache: Fix module description.
17572         * modules/idcache (Include): Set to "idcache.h".
17573
17574 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
17575
17576         gnulib-tool: fix portability problem with MacOS sed
17577         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
17578         before the "}".  Problem reported by Leo in
17579         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
17580         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
17581         sed_extract_condition1, sed_extract_condition2.
17582
17583 2011-05-23  Bruno Haible  <bruno@clisp.org>
17584
17585         hash: Simplify autoconf macro.
17586         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
17587
17588 2011-05-23  Bruno Haible  <bruno@clisp.org>
17589
17590         getugroups: Fix module description.
17591         * modules/getugroups (Include): Set to "getugroups.h".
17592
17593 2011-05-23  Bruno Haible  <bruno@clisp.org>
17594
17595         linkat: Simplify autoconf macro.
17596         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
17597
17598 2011-05-23  Bruno Haible  <bruno@clisp.org>
17599             Eric Blake  <eblake@redhat.com>
17600
17601         linkat, renameat: Update dependencies.
17602         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
17603         * modules/linkat (Depends-on): Likewise. Remove also readlink,
17604         symlinkat.
17605
17606 2011-05-23  Jim Meyering  <meyering@redhat.com>
17607
17608         maint.mk: more tight_scope improvements
17609         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
17610         (_gl_TS_headers): Define only in if-0'd block.
17611         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
17612         sometimes we must *not* use it.  Adjust uses accordingly.
17613         (sc_tight_scope): Use much simpler grep-based test to determine
17614         whether we skip this rule.
17615
17616         maint.mk: generalize/improve the tight-scope rule
17617         * top/maint.mk: Emit a warning when the test is skipped.
17618         (_gl_TS_dir): Add $(srcdir)/ prefix.
17619         (_gl_TS_function_match): Simplify, rather than trying
17620         to enumerate common types.  Otherwise, it would fail to match an
17621         "extern unsigned char const *" declaration in idutils.
17622         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
17623         a way to support use of that type of macro.
17624         (_gl_TS_var_match): Simplify regexp.
17625         (_gl_TS_obj_files): New configurable variable.
17626         (_gl_TS_headers): Likewise.
17627
17628 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
17629
17630         verify: fix bug when gnulib <assert.h> is also included
17631         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
17632         is defined, not if _GL_STATIC_ASSERT_H is not defined.
17633         Perhaps there's a better way, but this fixes the immediate problem.
17634         Problem reported by Bruno Haible in
17635         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
17636
17637 2011-05-22  Bruno Haible  <bruno@clisp.org>
17638
17639         xgetcwd: Simplify autoconf macro.
17640         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
17641
17642 2011-05-22  Bruno Haible  <bruno@clisp.org>
17643
17644         New module 'mktime-internal'.
17645         * modules/mktime-internal: New file.
17646         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
17647         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
17648         mktime_internal as a C macro if libc has __mktime_internal.
17649         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
17650         conditions.
17651         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
17652
17653 2011-05-22  Bruno Haible  <bruno@clisp.org>
17654
17655         timegm: Correct mktime replacement statements.
17656         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
17657         defining mktime as a C macro. This completes a 2009-07-28 commit.
17658
17659 2011-05-22  Bruno Haible  <bruno@clisp.org>
17660
17661         timegm: Simplify autoconf macro.
17662         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
17663
17664 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
17665
17666         clock-time: change to LGPLv2+.
17667         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
17668         BSD-like but we have no mark for that; this is good enough for now.
17669
17670 2011-05-21  Bruno Haible  <bruno@clisp.org>
17671
17672         strerror_r: Fix comments.
17673         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
17674
17675 2011-05-21  Bruno Haible  <bruno@clisp.org>
17676
17677         relocatable-prog-wrapper: Fix possible link error.
17678         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
17679         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
17680         (gl_FUNC_SETENV): ... to here.
17681         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
17682         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
17683
17684 2011-05-21  Bruno Haible  <bruno@clisp.org>
17685
17686         relocatable-prog-wrapper: Assume strerror() exists.
17687         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
17688         m4/strerror.m4.
17689         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
17690         * lib/relocwrapper.c: Remove mention of strerror module.
17691         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
17692         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
17693         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
17694         C macro.
17695
17696 2011-05-21  Bruno Haible  <bruno@clisp.org>
17697
17698         select: Simplify replacement idiom.
17699         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
17700         Win32 platforms.
17701         * lib/sys_select.in.h (select): Simplify accordingly.
17702         * modules/select (Depends-on): Likewise.
17703
17704 2011-05-21  Bruno Haible  <bruno@clisp.org>
17705
17706         mkdir-p: Simplify autoconf macro.
17707         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
17708         gl_FUNC_LCHOWN.
17709
17710 2011-05-21  Eric Blake  <eblake@redhat.com>
17711
17712         strerror_r: avoid clobbering strerror on cygwin
17713         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
17714         fall back instead to sys_errlist.
17715         * modules/strerror (configure.ac): Add witness.
17716         * tests/test-strerror_r.c (main): Enhance test.
17717         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17718         * tests/test-perror2.c (main): Free memory before exit.
17719
17720 2011-05-21  Bruno Haible  <bruno@clisp.org>
17721
17722         mkdtemp: Use gnulib naming conventions.
17723         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
17724         * modules/mkdtemp (configure.ac): Update.
17725
17726 2011-05-20  Eric Blake  <eblake@redhat.com>
17727
17728         strerror_r: avoid corrupting errno on Solaris
17729         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
17730         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17731
17732         strerror_r: avoid compiler warning
17733         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
17734
17735         strerror_r: simplify AIX code
17736         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
17737
17738         test-perror: avoid spurious failure on FreeBSD
17739         * modules/perror-tests (Depends-on): Add strerror, now that
17740         strerror_r no longer pulls it in.
17741
17742 2011-05-20  Bruno Haible  <bruno@clisp.org>
17743
17744         strerror_r-posix: Remove unused dependencies.
17745         * modules/strerror_r-posix (Depends-on): Remove strerror.
17746         Reported by Eric Blake.
17747
17748 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17749
17750         intprops: remove assumption about A|B representation
17751         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
17752         is a valid integer if both A and B are.  Although this is true for
17753         all known practical hosts, the C standard doesn't guarantee it,
17754         and the code need not assume it.  Also, this change may work around
17755         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
17756         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
17757
17758 2011-05-20  Eric Blake  <eblake@redhat.com>
17759
17760         perror: work around FreeBSD bug
17761         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
17762         is broken.  Move AC_LIBOBJ...
17763         * modules/perror (configure.ac): Here.
17764         * doc/posix-functions/perror.texi (perror): Document this.
17765         * tests/test-perror2.c (main): Enhance test.
17766
17767         test-perror: check for strerror interactions
17768         * tests/macros.h (STREQ): Add macro.
17769         * modules/perror-tests (Files): Add second test.
17770         * tests/test-perror2.c (main): New file.
17771         * doc/posix-functions/perror.texi (perror): Document glibc bug.
17772
17773         test-perror: rewrite to use init script
17774         * modules/perror-tests (Files): Add init.sh.
17775         * tests/test-perror.sh: Use temporary directory.
17776
17777 2011-05-20  Jim Meyering  <meyering@redhat.com>
17778
17779         maint: replace misused "a" with "an"
17780         * doc/intprops.texi: "a integer"
17781         * doc/regex.texi: "a explanation"
17782         * lib/alignof.h: "a object"
17783         * lib/argmatch.h: "a explanation"
17784         * lib/argp-help.c: "a option" and "a OPTION_DOC"
17785         * lib/stdint.in.h: "a integer"
17786         * lib/userspec.c: "a owner"
17787         * doc/gnulib.texi: Fix "a idea", and reword.
17788
17789 2011-05-19  Jim Meyering  <meyering@redhat.com>
17790
17791         maint: correct misuse of "a" and "an"
17792         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
17793         * lib/argp-help.c: "an docum...": s/an/a/
17794         * lib/argp-parse.c: "An vector": s/An/A/
17795         * lib/execute.c: "an native": s/an/a/
17796         * lib/spawn-pipe.c: Likewise.
17797         * lib/gc.h: "an Gc_rc": s/an/a/
17798         * lib/unigbrk.in.h: "an grapheme": s/an/a/
17799         * lib/fts.c: "an stat.st_dev": s/an/a/
17800
17801 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17802
17803         intprops-tests: work around HP-UX 11.23 cc bug with constants
17804         * tests/test-intprops.c (VERIFY): New macro.
17805         (main): Use it, instead of verify, to work around the compiler bug; see
17806         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17807
17808         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
17809         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
17810         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
17811         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
17812         (_GL_REMAINDER_OVERFLOW): Use it.
17813
17814         intprops-tests: revert unsigned part of previous change
17815         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
17816         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
17817         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
17818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
17819
17820 2011-05-19  Bruno Haible  <bruno@clisp.org>
17821
17822         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
17823         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
17824         strerror_r() returned without filling the buffer.
17825         Reported by Eric Blake.
17826
17827 2011-05-19  Eric Blake  <eblake@redhat.com>
17828
17829         strerror_r: guarantee unchanged errno
17830         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
17831         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
17832         failure.
17833         * tests/test-strerror_r.c (main): Enhance test.
17834
17835 2011-05-19  Bruno Haible  <bruno@clisp.org>
17836
17837         strerror_r: Reorder #if blocks.
17838         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
17839         for consistency with the previous commit.
17840
17841 2011-05-19  Bruno Haible  <bruno@clisp.org>
17842
17843         perror: Avoid clobbering the strerror buffer when possible.
17844         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
17845         * lib/strerror.c: Include it.
17846         * modules/strerror (Files): Add lib/strerror-impl.h.
17847         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
17848         (my_strerror): New function, defined through lib/strerror-impl.h.
17849         (perror): Use it instead of strerror.
17850         * modules/perror (Files): Add lib/strerror-impl.h.
17851         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
17852
17853 2011-05-19  Eric Blake  <eblake@redhat.com>
17854
17855         strerror_r: fix on newer cygwin
17856         * lib/strerror_r.c (strerror_r): Cygwin now has
17857         __xpg_strerror_r, use it.
17858
17859 2011-05-19  Bruno Haible  <bruno@clisp.org>
17860
17861         strerror_r: Avoid clobbering the strerror buffer when possible.
17862         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
17863         (sys_nerr, sys_errlist): New declarations.
17864         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
17865         HP-UX, native Win32, IRIX, and 32-bit Solaris.
17866         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
17867
17868 2011-05-19  Bruno Haible  <bruno@clisp.org>
17869
17870         strerror_r: Fix test failure on mingw.
17871         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
17872         EXTEND_STRERROR_R.
17873         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
17874         macros from errno.in.h instead.
17875
17876 2011-05-19  Eric Blake  <eblake@redhat.com>
17877
17878         strerror: relax test for Solaris
17879         * tests/test-strerror.c (main): Permit Solaris behavior.
17880         * tests/test-strerror_r.c (main): Likewise.
17881
17882         strerror: enforce POSIX ruling on strerror(0)
17883         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
17884         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17885         * lib/strerror_r.c (rpl_strerror_r): Work around it.
17886         * doc/posix-functions/strerror.texi (strerror): Document it.
17887         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
17888         * tests/test-strerror.c (main): Strengthen test.
17889         * tests/test-strerror_r.c (main): Likewise.
17890
17891 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17892
17893         intprop-tests: port to older and more-pedantic compilers
17894         * modules/intprops-tests (Files): Add tests/macros.h.
17895         * tests/test-intprops.c: Include macros.h.
17896         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
17897         it's no longer documented to expand to an integer constant expression.
17898         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
17899         argument is floating point, as it's no longer documented to expand
17900         to an integer constant expression in that case.
17901         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
17902         compiler bugs reported by Bruno Haible.  See
17903         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17904         (U0, U1): New constants, to work around the same bugs.  Also,
17905         in tests, use e.g., "(unsigned int) 39" rather than "39u".
17906
17907         intprops: work around C compiler bugs
17908         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
17909         bug in Sun C 5.11 2010/08/13 and other compilers; see
17910         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17911
17912         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
17913         * doc/intprops.texi (Integer Type Determination): Fix
17914         documentation for TYPE_IS_INTEGER: it returns an constant
17915         expression, not an integer constant expression.  Fix doc for
17916         TYPE_SIGNED: it returns an integer constant expression only if its
17917         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
17918         hardly worth documented that way....)
17919
17920 2011-05-18  Bruno Haible  <bruno@clisp.org>
17921
17922         strerror_r: Avoid clobbering the strerror buffer when possible.
17923         * lib/strerror_r.c (strerror_r): Merge the three implementations.
17924         Handle gnulib defined errno values here. When strerror() returns NULL
17925         or an empty string, return EINVAL.
17926         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
17927         gnulib defined errno values here.
17928         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
17929
17930 2011-05-18  Eric Blake  <eblake@redhat.com>
17931
17932         fnmatch: avoid compiler warning
17933         * lib/fnmatch_loop.c (FCT): Use correct type.
17934         Reported by Matthias Bolte.
17935
17936 2011-05-13  Jim Meyering  <meyering@redhat.com>
17937
17938         maint.mk: three new prohibit_<HDR>_without_use rules
17939         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
17940         (sc_prohibit_stdio-safer_without_use): Likewise.
17941         (sc_prohibit_xfreopen_without_use): Likewise.
17942
17943 2011-05-17  Jim Meyering  <meyering@redhat.com>
17944
17945         announce-gen: fail if the NEWS delta is empty
17946         If there's nothing noteworthy in NEWS, then either you forgot
17947         or you shouldn't be releasing.
17948         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
17949
17950 2011-05-17  Pádraig Brady <P@draigBrady.com>
17951
17952         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
17953         reserved symbols starting with double underscore from the check.
17954
17955 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17956
17957         intprops: add doc
17958         * doc/intprops.texi: New file, documenting intprops.
17959         * doc/gnulib.texi (Particular Modules): Include it.
17960
17961         verify: add doc to gnulib manual and fix example
17962         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
17963         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
17964         (Compile-time Assertions): Fix example so it can't overflow.
17965
17966 2011-05-17  Jim Meyering  <meyering@redhat.com>
17967
17968         warnings.m4: don't usurp save_CPPFLAGS variable name
17969         * m4/warnings.m4: Prefix local temporary variable name with gl_.
17970
17971         doc: fix typo
17972         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
17973
17974 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17975             Bruno Haible  <bruno@clisp.org>
17976
17977         doc: Tweak recent change.
17978         * README (Portability guidelines): Tweak new text.
17979         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
17980         Interix 6.1.
17981
17982 2011-05-16  Eric Blake  <eblake@redhat.com>
17983
17984         inttypes: avoid autoconf warning
17985         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
17986         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17987
17988 2011-05-16  Sam Steingold <sds@gnu.org>
17989         and Eric Blake  <eblake@redhat.com>
17990
17991         vc-list-files: accept multiple directory operands
17992         * build-aux/vc-list-files: Iterate over all remaining operands.
17993
17994 2011-05-16  Bruno Haible  <bruno@clisp.org>
17995
17996         Fix confusion regarding deprecated modules.
17997         * modules/calloc (Status, Notice): Mark module as deprecated, not
17998         obsolete.
17999         * modules/fnmatch-posix (Status, Notice): Likewise.
18000         * modules/getdate (Status, Notice): Likewise.
18001         * modules/getopt (Status, Notice): Likewise.
18002         * modules/malloc (Status, Notice): Likewise.
18003         * modules/pipe (Status, Notice): Likewise.
18004         * modules/realloc (Status, Notice): Likewise.
18005         * modules/rename-dest-slash (Status, Notice): Likewise.
18006         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
18007         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
18008         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
18009         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
18010         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
18011
18012 2011-05-16  Bruno Haible  <bruno@clisp.org>
18013
18014         doc: List the target platforms.
18015         * doc/gnulib-intro.texi (Target Platforms): New section.
18016         * doc/gnulib.texi (Introduction): Update menu.
18017         * README (Portability guidelines): Refer to the new section. Update
18018         statement about oldest supported environment. Remove rationale why
18019         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
18020         unportable C89 function.
18021         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
18022         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
18023
18024 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18025
18026         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
18027
18028 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18029
18030         intprops-tests: new module
18031         * modules/intprops-tests, tests/test-intprops.c: New files.
18032
18033         intprops: add safe, portable integer overflow checking
18034         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
18035         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
18036         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
18037         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
18038         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
18039         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
18040         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
18041         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
18042         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
18043         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
18044         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
18045
18046 2011-05-12  James Youngman  <jay@gnu.org>
18047
18048         Add a test for glibc's Bugzilla bug #12378.
18049         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
18050         doesn't allow the literal matching of a lone "[" (which is
18051         required by POSIX).
18052         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
18053
18054 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
18055
18056         Sync glibc change fixing Bugzilla bug #12378.
18057         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
18058         beginning and fall back to matching as normal character if the
18059         string ends before the matching ']' is found.  This is what POSIX
18060         requires.
18061
18062 2011-05-13  Eric Blake  <eblake@redhat.com>
18063
18064         getcwd-lgpl: relax test for FreeBSD
18065         * doc/posix-functions/getcwd.texi (getcwd): Document portability
18066         issue.
18067         * tests/test-getcwd-lgpl.c (main): Relax test.
18068         Reported by Matthias Bolte.
18069
18070 2011-05-11  Eric Blake  <eblake@redhat.com>
18071
18072         test-fflush: silence compiler warning
18073         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
18074
18075 2011-05-11  Bruno Haible  <bruno@clisp.org>
18076
18077         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
18078         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
18079         * modules/canonicalize (Depends-on): Add 'nocrash'.
18080         * modules/canonicalize-lgpl (Depends-on): Likewise.
18081         * doc/posix-functions/realpath.texi: Update platforms list.
18082         Reported by Ryan Schmidt <ryandesign@macports.org>.
18083
18084 2011-05-11  Bruno Haible  <bruno@clisp.org>
18085
18086         group-member: Declare function in <unistd.h>.
18087         * lib/unistd.in.h (group_member): New declaration.
18088         * lib/group-member.h: Remove file.
18089         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
18090         * tests/test-unistd-c++.cc: Check signature of group_member.
18091         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
18092         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
18093         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
18094         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
18095         HAVE_GROUP_MEMBER.
18096         * modules/group-member (Files): Remove lib/group-member.h.
18097         (Depends-on): Add unistd. Specify conditions.
18098         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18099         (Include): Change to <unistd.h>.
18100         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
18101         HAVE_GROUP_MEMBER.
18102         * NEWS: Mention the change.
18103         * lib/euidaccess.c: Don't include group-member.h.
18104
18105 2011-05-11  Bruno Haible  <bruno@clisp.org>
18106
18107         group-member: Document module.
18108         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
18109         module.
18110
18111 2011-05-11  Bruno Haible  <bruno@clisp.org>
18112
18113         fclose: Fix mistake earlier today.
18114         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
18115
18116 2011-05-11  Eric Blake  <eblake@redhat.com>
18117
18118         fclose: preserve fflush errors
18119         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
18120         Reported by Jim Meyering.
18121
18122         bootstrap: support a prereq of 'rpcgen -' on RHEL5
18123         * build-aux/bootstrap (check_versions): When no specific version
18124         is required, merely check that the app produces an exit status
18125         that indicates its existence.
18126
18127         maint.mk: drop redundant check
18128         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
18129         the same but better.
18130
18131 2011-05-11  Bruno Haible  <bruno@clisp.org>
18132
18133         fclose: Fix possible link error.
18134         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
18135         unregister_shadow_fd. Improve comments.
18136         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
18137         Eric Blake.
18138
18139 2011-05-11  Jim Meyering  <meyering@redhat.com>
18140
18141         maint.mk: improve "can not" detection and generalize rule name
18142         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
18143         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
18144         Use the same technique as in sc_prohibit_doubled_word, so that
18145         we recognize "can not" also when the words are separated by a newline.
18146         Suggested by Eric Blake.
18147         (perl_filename_lineno_text_): Define.  Factored out of...
18148         (prohibit_doubled_word_): ...here.  Use the new definition.
18149         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
18150         (prohibit_undesirable_word_seq_RE_): New overridable variable.
18151         (ignore_undesirable_word_sequence_RE_): New overridable variable.
18152
18153 2011-05-10  Eric Blake  <eblake@redhat.com>
18154
18155         fclose: avoid double close race when possible
18156         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
18157         all but WINDOWS_SOCKETS.
18158
18159 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
18160
18161         openat: correct new comment
18162         * lib/openat-proc.c (openat_proc_name): Correct the comment.
18163
18164 2011-05-10  Jim Meyering  <meyering@redhat.com>
18165
18166         openat: add comments
18167         * lib/openat-proc.c (openat_proc_name): Add comments,
18168         mostly from Eric Blake.
18169
18170 2011-05-09  Eric Blake  <eblake@redhat.com>
18171
18172         openat: reduce syscalls in first probe of /proc
18173         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
18174         be a directory.  Simplify the probe for .. bugs.
18175         * modules/openat (Depends-on): Drop same-inode.
18176         Reported by Bastien ROUCARIES.
18177
18178 2011-05-09  Jim Meyering  <meyering@redhat.com>
18179
18180         maint.mk: change semantics/name of tight_scope variables
18181         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
18182         Rename variables to align with semantics that make them more useful.
18183
18184         maint.mk: tweak new rule's name not to impinge
18185         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
18186         (sc_tight_scope): Use new rule name rather than $@-0.
18187
18188         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
18189         * top/maint.mk (sc_tight_scope): New rule.
18190         (sc_tight_scope-0): New rule, ifdef'd out.
18191         (_gl_TS_dir): Default.
18192         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
18193         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
18194
18195 2011-05-09  Simon Josefsson  <simon@josefsson.org>
18196
18197         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
18198         Haible <bruno@clisp.org>.
18199
18200 2011-05-08  Bruno Haible  <bruno@clisp.org>
18201
18202         Comments.
18203         * m4/isnanf.m4: Add comment.
18204         * m4/isnanl.m4: Likewise.
18205
18206 2011-05-08  Bruno Haible  <bruno@clisp.org>
18207
18208         glob: Remove obsolete macro.
18209         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
18210
18211 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
18212
18213         intprops: Sun C 5.11 supports __typeof__
18214         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
18215         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
18216         which is new.
18217         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
18218
18219         intprops: switch to usual gnulib indenting and naming
18220         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
18221         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
18222
18223         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
18224
18225 2011-05-08  Jim Meyering  <meyering@redhat.com>
18226
18227         maint.mk: suppress "Entering/Leaving directory" diag in announcement
18228         * top/maint.mk (release-prep): Use make's --no-print-directory
18229         option when generating the announcement.  This eliminates the
18230         pesky "make[2]: Entering/Leaving directory" diagnostics in the
18231         generated announcement template.
18232
18233 2011-05-08  Bruno Haible  <bruno@clisp.org>
18234
18235         tzset: Fix gettimeofday wrapper on Solaris 2.6.
18236         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
18237         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
18238
18239 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18240
18241         ignore-value, verify: Omit include files from lib_SOURCES.
18242         * modules/ignore-value, modules/verify (Makefile.am):
18243         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
18244         that leads Automake to duplicate use of am__objects_... variables
18245         in Makefile.in.  See
18246         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
18247
18248 2011-05-07  Bruno Haible  <bruno@clisp.org>
18249
18250         fclose: Simplify autoconf macro.
18251         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
18252         defined.
18253
18254 2011-05-07  Bruno Haible  <bruno@clisp.org>
18255
18256         canonicalize-lgpl: Fix autoconf macro ordering bug.
18257         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
18258         gl_STDLIB_H_DEFAULTS.
18259
18260 2011-05-06  Eric Blake  <eblake@redhat.com>
18261
18262         maintainer-makefile: make sc_po_check easier to tune
18263         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
18264         to probe for strings, such as an alternate location for gnulib.
18265
18266         fclose: guarantee behavior on seekable stdin
18267         * modules/fclose (Depends-on): Add fflush.
18268         * doc/posix-functions/fclose.texi (fclose): Document this.
18269         * tests/test-fclose.c (main): Make test for this unconditional.
18270
18271 2011-05-06  Bruno Haible  <bruno@clisp.org>
18272
18273         fflush, fpurge: Relicense under LGPLv2+.
18274         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
18275         * modules/fpurge (License): Likewise.
18276         With permission from Eric Blake and Jim Meyering.
18277         Suggested by Eric Blake.
18278
18279 2011-05-06  Karl Berry  <karl@gnu.org>
18280
18281         * MODULES.html.sh (func_all_modules): remove exit.
18282
18283 2011-05-06  Jim Meyering  <meyering@redhat.com>
18284
18285         maint.mk: use info-gnu@ as the default only for a stable release
18286         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
18287         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
18288         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
18289         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
18290
18291 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18292
18293         assert-h: new module, which supports C1X-style static_assert
18294         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
18295         * lib/verify.h: Revamp so that this can be copied into assert.h,
18296         while retaining the ability to use it standalone as before.
18297         Rename private identifiers so as not to encroach on the
18298         standard C namespace, since this is now used by assert.h.
18299         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
18300         the old verify_true.
18301         (_GL_VERIFY_TRUE): New macro, with much of the contents of
18302         the old verify_true.  Use _GL_VERIFY_TYPE.
18303         (_GL_VERIFY): New macro, with much of the contents of the old verify.
18304         (static_assert): New macro, if _GL_STATIC_ASSERT_H
18305         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
18306         defined when this file is copied into the replacement assert.h.
18307         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
18308         and _Static_assert is not built in.
18309         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
18310         defined, and use the new macros mentioned above.
18311         * doc/posix-headers/assert.texi: Document this.
18312
18313 2011-05-05  Bruno Haible  <bruno@clisp.org>
18314
18315         fclose, fflush: Respect rules for use of AC_LIBOBJ.
18316         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
18317         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
18318         gl_REPLACE_FCLOSE here.
18319         * modules/fflush (Depends-on): Remove fclose.
18320         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
18321         combination with module 'fclose'.
18322
18323 2011-05-05  Bruno Haible  <bruno@clisp.org>
18324
18325         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
18326         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
18327         gl_FUNC_FFLUSH.
18328         (gl_FUNC_FFLUSH): Use it.
18329         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
18330         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
18331         gl_REPLACE_FSEEKO here.
18332
18333 2011-05-05  Bruno Haible  <bruno@clisp.org>
18334
18335         tzset: Relicense under LGPL.
18336         * modules/tzset (License): Change to LGPL.
18337         No agreement needed; it's a no-op.
18338
18339         strtoimax, strtoumax: Relicense under LGPL.
18340         * modules/strtoimax (License): Change to LGPL.
18341         * modules/strtoumax (License): Likewise.
18342         With permission from Jim Meyering, Paul Eggert:
18343         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
18344         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
18345
18346         getgroups: Relicense under LGPL.
18347         * modules/getgroups (License): Change to LGPL.
18348         With permission from Jim Meyering, Paul Eggert, Eric Blake:
18349         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18350         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18352
18353         nanosleep: Relicense under LGPL.
18354         * modules/nanosleep (License): Change to LGPL.
18355         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
18356         Haible:
18357         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18358         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18359         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18360         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18361
18362         futimens: Relicense under LGPL.
18363         * modules/futimens (License): Change to LGPL.
18364         With permission from Eric Blake:
18365         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18366
18367         fflush: Relicense under LGPL.
18368         * modules/fflush (License): Change to LGPL.
18369         With permission from Eric Blake, Bruno Haible, Jim Meyering:
18370         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18371         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
18373
18374         tmpfile: Relicense under LGPL.
18375         * modules/tmpfile (License): Change to LGPL.
18376         With permission from Ben Pfaff:
18377         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18378
18379         isfinite: Relicense under LGPL.
18380         * modules/isfinite (License): Change to LGPL.
18381         With permission from Ben Pfaff, Bruno Haible:
18382         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18383         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
18384
18385         acosl..tanl: Relicense under LGPL.
18386         * modules/acosl (License): Change to LGPL.
18387         * modules/asinl (License): Likewise.
18388         * modules/atanl (License): Likewise.
18389         * modules/cosl (License): Likewise.
18390         * modules/expl (License): Likewise.
18391         * modules/logl (License): Likewise.
18392         * modules/sinl (License): Likewise.
18393         * modules/sqrtl (License): Likewise.
18394         * modules/tanl (License): Likewise.
18395         Source code originally from glibc and Paolo Bonzini. Agreements:
18396         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
18397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
18398
18399 2011-05-05  Bruno Haible  <bruno@clisp.org>
18400
18401         signal: Define sighandler_t.
18402         * lib/signal.in.h (sighandler_t): New type.
18403         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
18404         whether sighandler_t is defined.
18405         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
18406         * modules/signal (Depends-on): Add extensions.
18407         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
18408         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
18409         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
18410
18411 2011-05-05  Eric Blake  <eblake@redhat.com>
18412
18413         maint: remove useless REPLACE_*_H macros
18414         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
18415         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18416         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18417         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
18418         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18419         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18420         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
18421         * m4/btowc.m4: Update callers.
18422         * m4/dirfd.m4: Likewise.
18423         * m4/duplocale.m4: Likewise.
18424         * m4/fchdir.m4: Likewise.
18425         * m4/fdopendir.m4: Likewise.
18426         * m4/inet_ntop.m4: Likewise.
18427         * m4/inet_pton.m4: Likewise.
18428         * m4/ioctl.m4: Likewise.
18429         * m4/mbrlen.m4: Likewise.
18430         * m4/mbrtowc.m4: Likewise.
18431         * m4/mbsinit.m4: Likewise.
18432         * m4/mbsnrtowcs.m4: Likewise.
18433         * m4/mbsrtowcs.m4: Likewise.
18434         * m4/poll.m4: Likewise.
18435         * m4/setlocale.m4: Likewise.
18436         * m4/wcrtomb.m4: Likewise.
18437         * m4/wcsnrtombs.m4: Likewise.
18438         * m4/wcsrtombs.m4: Likewise.
18439         * m4/wctob.m4: Likewise.
18440         * m4/wcwidth.m4: Likewise.
18441         * modules/posix_spawn: Likewise.
18442         * modules/posix_spawn_file_actions_addclose: Likewise.
18443         * modules/posix_spawn_file_actions_adddup2: Likewise.
18444         * modules/posix_spawn_file_actions_addopen: Likewise.
18445         * modules/posix_spawn_file_actions_destroy: Likewise.
18446         * modules/posix_spawn_file_actions_init: Likewise.
18447         * modules/posix_spawnattr_destroy: Likewise.
18448         * modules/posix_spawnattr_getflags: Likewise.
18449         * modules/posix_spawnattr_getpgroup: Likewise.
18450         * modules/posix_spawnattr_getschedparam: Likewise.
18451         * modules/posix_spawnattr_getschedpolicy: Likewise.
18452         * modules/posix_spawnattr_getsigdefault: Likewise.
18453         * modules/posix_spawnattr_getsigmask: Likewise.
18454         * modules/posix_spawnattr_init: Likewise.
18455         * modules/posix_spawnattr_setflags: Likewise.
18456         * modules/posix_spawnattr_setpgroup: Likewise.
18457         * modules/posix_spawnattr_setschedparam: Likewise.
18458         * modules/posix_spawnattr_setschedpolicy: Likewise.
18459         * modules/posix_spawnattr_setsigdefault: Likewise.
18460         * modules/posix_spawnattr_setsigmask: Likewise.
18461         * modules/posix_spawnp: Likewise.
18462
18463 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
18464
18465         Add option to do-release-commit-and-tag to specify branch.
18466         * build-aux/do-release-commit-and-tag: Add --branch.
18467
18468 2011-05-03  Bruno Haible  <bruno@clisp.org>
18469
18470         Avoid unnecessary compilation units, through conditional dependencies.
18471         * modules/accept (Depends-on): Add conditions to the dependencies.
18472         * modules/acosl (Depends-on): Likewise.
18473         * modules/argz (Depends-on): Likewise.
18474         * modules/asinl (Depends-on): Likewise.
18475         * modules/atanl (Depends-on): Likewise.
18476         * modules/atoll (Depends-on): Likewise.
18477         * modules/bind (Depends-on): Likewise.
18478         * modules/btowc (Depends-on): Likewise.
18479         * modules/canonicalize-lgpl (Depends-on): Likewise.
18480         * modules/ceil (Depends-on): Likewise.
18481         * modules/ceilf (Depends-on): Likewise.
18482         * modules/ceill (Depends-on): Likewise.
18483         * modules/chdir-long (Depends-on): Likewise.
18484         * modules/chown (Depends-on): Likewise.
18485         * modules/close (Depends-on): Likewise.
18486         * modules/connect (Depends-on): Likewise.
18487         * modules/cosl (Depends-on): Likewise.
18488         * modules/dirfd (Depends-on): Likewise.
18489         * modules/dprintf (Depends-on): Likewise.
18490         * modules/dprintf-posix (Depends-on): Likewise.
18491         * modules/error (Depends-on): Likewise.
18492         * modules/euidaccess (Depends-on): Likewise.
18493         * modules/expl (Depends-on): Likewise.
18494         * modules/faccessat (Depends-on): Likewise.
18495         * modules/fchdir (Depends-on): Likewise.
18496         * modules/fclose (Depends-on): Likewise.
18497         * modules/fcntl (Depends-on): Likewise.
18498         * modules/fdopendir (Depends-on): Likewise.
18499         * modules/fflush (Depends-on): Likewise.
18500         * modules/floor (Depends-on): Likewise.
18501         * modules/floorf (Depends-on): Likewise.
18502         * modules/floorl (Depends-on): Likewise.
18503         * modules/fnmatch (Depends-on): Likewise.
18504         * modules/fopen (Depends-on): Likewise.
18505         * modules/fprintf-posix (Depends-on): Likewise.
18506         * modules/frexp (Depends-on): Likewise.
18507         * modules/frexp-nolibm (Depends-on): Likewise.
18508         * modules/frexpl (Depends-on): Likewise.
18509         * modules/frexpl-nolibm (Depends-on): Likewise.
18510         * modules/fseek (Depends-on): Likewise.
18511         * modules/fsusage (Depends-on): Likewise.
18512         * modules/ftell (Depends-on): Likewise.
18513         * modules/ftello (Depends-on): Likewise.
18514         * modules/futimens (Depends-on): Likewise.
18515         * modules/getcwd (Depends-on): Likewise.
18516         * modules/getcwd-lgpl (Depends-on): Likewise.
18517         * modules/getdelim (Depends-on): Likewise.
18518         * modules/getdomainname (Depends-on): Likewise.
18519         * modules/getgroups (Depends-on): Likewise.
18520         * modules/gethostname (Depends-on): Likewise.
18521         * modules/getline (Depends-on): Likewise.
18522         * modules/getlogin_r (Depends-on): Likewise.
18523         * modules/getopt-posix (Depends-on): Likewise.
18524         * modules/getpeername (Depends-on): Likewise.
18525         * modules/getsockname (Depends-on): Likewise.
18526         * modules/getsockopt (Depends-on): Likewise.
18527         * modules/getsubopt (Depends-on): Likewise.
18528         * modules/getusershell (Depends-on): Likewise.
18529         * modules/glob (Depends-on): Likewise.
18530         * modules/grantpt (Depends-on): Likewise.
18531         * modules/iconv_open (Depends-on): Likewise.
18532         * modules/iconv_open-utf (Depends-on): Likewise.
18533         * modules/inet_ntop (Depends-on): Likewise.
18534         * modules/inet_pton (Depends-on): Likewise.
18535         * modules/ioctl (Depends-on): Likewise.
18536         * modules/isapipe (Depends-on): Likewise.
18537         * modules/isfinite (Depends-on): Likewise.
18538         * modules/isinf (Depends-on): Likewise.
18539         * modules/lchown (Depends-on): Likewise.
18540         * modules/ldexpl (Depends-on): Likewise.
18541         * modules/link (Depends-on): Likewise.
18542         * modules/linkat (Depends-on): Likewise.
18543         * modules/listen (Depends-on): Likewise.
18544         * modules/logl (Depends-on): Likewise.
18545         * modules/lstat (Depends-on): Likewise.
18546         * modules/mbrlen (Depends-on): Likewise.
18547         * modules/mbrtowc (Depends-on): Likewise.
18548         * modules/mbsinit (Depends-on): Likewise.
18549         * modules/mbsnrtowcs (Depends-on): Likewise.
18550         * modules/mbsrtowcs (Depends-on): Likewise.
18551         * modules/mbtowc (Depends-on): Likewise.
18552         * modules/memcmp (Depends-on): Likewise.
18553         * modules/mkdir (Depends-on): Likewise.
18554         * modules/mkdtemp (Depends-on): Likewise.
18555         * modules/mkfifo (Depends-on): Likewise.
18556         * modules/mkfifoat (Depends-on): Likewise.
18557         * modules/mknod (Depends-on): Likewise.
18558         * modules/mkostemp (Depends-on): Likewise.
18559         * modules/mkostemps (Depends-on): Likewise.
18560         * modules/mkstemp (Depends-on): Likewise.
18561         * modules/mkstemps (Depends-on): Likewise.
18562         * modules/mktime (Depends-on): Likewise.
18563         * modules/nanosleep (Depends-on): Likewise.
18564         * modules/open (Depends-on): Likewise.
18565         * modules/openat (Depends-on): Likewise.
18566         * modules/perror (Depends-on): Likewise.
18567         * modules/poll (Depends-on): Likewise.
18568         * modules/popen (Depends-on): Likewise.
18569         * modules/posix_spawn (Depends-on): Likewise.
18570         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
18571         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
18572         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
18573         * modules/posix_spawnp (Depends-on): Likewise.
18574         * modules/pread (Depends-on): Likewise.
18575         * modules/printf-posix (Depends-on): Likewise.
18576         * modules/ptsname (Depends-on): Likewise.
18577         * modules/putenv (Depends-on): Likewise.
18578         * modules/pwrite (Depends-on): Likewise.
18579         * modules/readline (Depends-on): Likewise.
18580         * modules/readlink (Depends-on): Likewise.
18581         * modules/readlinkat (Depends-on): Likewise.
18582         * modules/recv (Depends-on): Likewise.
18583         * modules/recvfrom (Depends-on): Likewise.
18584         * modules/regex (Depends-on): Likewise.
18585         * modules/remove (Depends-on): Likewise.
18586         * modules/rename (Depends-on): Likewise.
18587         * modules/renameat (Depends-on): Likewise.
18588         * modules/rmdir (Depends-on): Likewise.
18589         * modules/round (Depends-on): Likewise.
18590         * modules/roundf (Depends-on): Likewise.
18591         * modules/roundl (Depends-on): Likewise.
18592         * modules/rpmatch (Depends-on): Likewise.
18593         * modules/select (Depends-on): Likewise.
18594         * modules/send (Depends-on): Likewise.
18595         * modules/sendto (Depends-on): Likewise.
18596         * modules/setenv (Depends-on): Likewise.
18597         * modules/setlocale (Depends-on): Likewise.
18598         * modules/setsockopt (Depends-on): Likewise.
18599         * modules/shutdown (Depends-on): Likewise.
18600         * modules/sigaction (Depends-on): Likewise.
18601         * modules/signbit (Depends-on): Likewise.
18602         * modules/sigprocmask (Depends-on): Likewise.
18603         * modules/sinl (Depends-on): Likewise.
18604         * modules/sleep (Depends-on): Likewise.
18605         * modules/snprintf (Depends-on): Likewise.
18606         * modules/snprintf-posix (Depends-on): Likewise.
18607         * modules/socket (Depends-on): Likewise.
18608         * modules/sprintf-posix (Depends-on): Likewise.
18609         * modules/sqrtl (Depends-on): Likewise.
18610         * modules/stat (Depends-on): Likewise.
18611         * modules/strchrnul (Depends-on): Likewise.
18612         * modules/strdup-posix (Depends-on): Likewise.
18613         * modules/strerror (Depends-on): Likewise.
18614         * modules/strerror_r-posix (Depends-on): Likewise.
18615         * modules/strndup (Depends-on): Likewise.
18616         * modules/strnlen (Depends-on): Likewise.
18617         * modules/strptime (Depends-on): Likewise.
18618         * modules/strsep (Depends-on): Likewise.
18619         * modules/strsignal (Depends-on): Likewise.
18620         * modules/strstr-simple (Depends-on): Likewise.
18621         * modules/strtod (Depends-on): Likewise.
18622         * modules/strtoimax (Depends-on): Likewise.
18623         * modules/strtok_r (Depends-on): Likewise.
18624         * modules/strtoumax (Depends-on): Likewise.
18625         * modules/symlink (Depends-on): Likewise.
18626         * modules/symlinkat (Depends-on): Likewise.
18627         * modules/tanl (Depends-on): Likewise.
18628         * modules/tcgetsid (Depends-on): Likewise.
18629         * modules/tmpfile (Depends-on): Likewise.
18630         * modules/trunc (Depends-on): Likewise.
18631         * modules/truncf (Depends-on): Likewise.
18632         * modules/truncl (Depends-on): Likewise.
18633         * modules/uname (Depends-on): Likewise.
18634         * modules/unlink (Depends-on): Likewise.
18635         * modules/unlockpt (Depends-on): Likewise.
18636         * modules/unsetenv (Depends-on): Likewise.
18637         * modules/usleep (Depends-on): Likewise.
18638         * modules/utimensat (Depends-on): Likewise.
18639         * modules/vasprintf (Depends-on): Likewise.
18640         * modules/vdprintf (Depends-on): Likewise.
18641         * modules/vdprintf-posix (Depends-on): Likewise.
18642         * modules/vfprintf-posix (Depends-on): Likewise.
18643         * modules/vprintf-posix (Depends-on): Likewise.
18644         * modules/vsnprintf (Depends-on): Likewise.
18645         * modules/vsnprintf-posix (Depends-on): Likewise.
18646         * modules/vsprintf-posix (Depends-on): Likewise.
18647         * modules/wcrtomb (Depends-on): Likewise.
18648         * modules/wcscasecmp (Depends-on): Likewise.
18649         * modules/wcscspn (Depends-on): Likewise.
18650         * modules/wcsdup (Depends-on): Likewise.
18651         * modules/wcsncasecmp (Depends-on): Likewise.
18652         * modules/wcsnrtombs (Depends-on): Likewise.
18653         * modules/wcspbrk (Depends-on): Likewise.
18654         * modules/wcsrtombs (Depends-on): Likewise.
18655         * modules/wcsspn (Depends-on): Likewise.
18656         * modules/wcsstr (Depends-on): Likewise.
18657         * modules/wcstok (Depends-on): Likewise.
18658         * modules/wcswidth (Depends-on): Likewise.
18659         * modules/wctob (Depends-on): Likewise.
18660         * modules/wctomb (Depends-on): Likewise.
18661         * modules/wctype (Depends-on): Likewise.
18662         * modules/wcwidth (Depends-on): Likewise.
18663         * modules/write (Depends-on): Likewise.
18664
18665 2011-05-03  Bruno Haible  <bruno@clisp.org>
18666
18667         Support for conditional dependencies.
18668         * doc/gnulib.texi (Module description): Document the syntax of
18669         conditional dependencies.
18670         * gnulib-tool: New option --conditional-dependencies.
18671         (func_usage): Document it.
18672         (cond_dependencies): New variable.
18673         (func_get_automake_snippet_conditional,
18674         func_get_automake_snippet_unconditional): New functions, extracted from
18675         func_get_automake_snippet.
18676         (func_get_automake_snippet): Use them.
18677         (sed_first_32_chars): New variable.
18678         (func_module_shellfunc_name): New function.
18679         (func_module_shellvar_name): New function.
18680         (func_module_conditional_name): New function.
18681         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
18682         func_cond_module_condition): New functions.
18683         (func_modules_transitive_closure): Add support for conditional
18684         dependencies.
18685         (func_emit_lib_Makefile_am): For a conditional module, enclose the
18686         conditional automake snippet in an automake conditional.
18687         (func_emit_autoconf_snippets): Emit shell functions that contain the
18688         code for conditional modules.
18689         (func_import, func_create_testdir): Update specification.
18690
18691 2011-05-03  Eric Blake  <eblake@redhat.com>
18692
18693         test-getaddrinfo: report error information
18694         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
18695
18696 2011-05-03  Jim Meyering  <meyering@redhat.com>
18697
18698         bootstrap: avoid build failure when $GZIP is set
18699         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
18700         program name.  If defined at all, it is supposed to list gzip options.
18701         Reported by Alan Curry in http://debbugs.gnu.org/8609
18702
18703 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
18704
18705         readme-release: new module with release instructions
18706         * modules/readme-release: New module.
18707         * top/README-release: New file, from coreutils, grep, diffutils.
18708         * MODULES.html.sh (Support for maintaining and releasing): Add it.
18709
18710 2011-05-02  Eric Blake  <eblake@redhat.com>
18711
18712         fflush: also replace fclose when fixing fflush
18713         * modules/fflush (Depends-on): Add fclose.
18714         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
18715         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
18716         memstreams with no backing fd.
18717         * doc/posix-functions/fclose.texi (fclose): Document the use of
18718         fflush module to fix the bug.
18719         * tests/test-fclose.c (main): Relax test when fclose is used in
18720         isolation.
18721
18722         fclose: add some tests
18723         * modules/fclose-tests: New test module.
18724         * tests/test-fclose.c: New file.
18725         * doc/posix-functions/fclose.texi (fclose): Document the bug.
18726
18727         fclose: reduced dependencies
18728         * modules/fclose (Depends-on): Switch from fflush/fseeko to
18729         simpler lseek.
18730         * lib/fclose.c (rpl_fclose): Likewise.
18731         Reported by Simon Josefsson.
18732
18733         exit: drop remaining clients
18734         * modules/argmatch (Depends-on): Replace exit with stdlib.
18735         * modules/copy-file (Depends-on): Likewise.
18736         * modules/execute (Depends-on): Likewise.
18737         * modules/exitfail (Depends-on): Likewise.
18738         * modules/obstack (Depends-on): Likewise.
18739         * modules/pagealign_alloc (Depends-on): Likewise.
18740         * modules/pipe-filter-gi (Depends-on): Likewise.
18741         * modules/pipe-filter-ii (Depends-on): Likewise.
18742         * modules/savewd (Depends-on): Likewise.
18743         * modules/spawn-pipe (Depends-on): Likewise.
18744         * modules/wait-process (Depends-on): Likewise.
18745         * modules/xsetenv (Depends-on): Likewise.
18746         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
18747         * modules/git-merge-changelog (Depends-on): Likewise.
18748         * modules/long-options (Depends-on): Likewise.
18749         * modules/pt_chown (Depends-on): Likewise.
18750         * modules/sysexits (Depends-on): Likewise.
18751
18752         freading: relax license from LGPLv3+ to LGPLv2+
18753         * modules/freading (License): Relax LGPL version.
18754
18755 2011-05-02  Bruno Haible  <bruno@clisp.org>
18756
18757         fchdir: Remove unused dependencies.
18758         * modules/fchdir (Depends-on): Remove include_next.
18759
18760 2011-05-02  Bruno Haible  <bruno@clisp.org>
18761
18762         gnulib-tool: Refactor.
18763         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
18764         from func_emit_autoconf_snippets.
18765         (func_emit_autoconf_snippets): Use it.
18766
18767 2011-05-02  Simon Josefsson  <simon@josefsson.org>
18768
18769         * NEWS: Document removal of 'exit'.
18770         * modules/exit: Remove file.
18771
18772 2011-05-01  Bruno Haible  <bruno@clisp.org>
18773
18774         Update DEPENDENCIES.
18775         * DEPENDENCIES (gettext): Recommend the newest release.
18776         Reported by Simon Josefsson.
18777
18778 2011-05-01  Bruno Haible  <bruno@clisp.org>
18779
18780         gnulib-tool: Reduce code duplication.
18781         * gnulib-tool (func_emit_autoconf_snippets): New function.
18782         (func_import, func_create_testdir): Use it.
18783
18784 2011-04-30  Eric Blake  <eblake@redhat.com>
18785
18786         fclose: don't fail on non-seekable input stream
18787         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
18788         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
18789         since fflush is allowed to fail in that case.
18790
18791 2011-04-30  Bruno Haible  <bruno@clisp.org>
18792
18793         dup3: cleanup
18794         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
18795
18796 2011-04-30  Bruno Haible  <bruno@clisp.org>
18797
18798         netdb: Make it work in C++ mode.
18799         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
18800         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
18801         module.
18802         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
18803         gl_MODULE_INDICATOR_FOR_TESTS.
18804         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
18805         * modules/netdb-c++-tests: New file.
18806         * tests/test-netdb-c++.cc: New file.
18807
18808 2011-04-30  Bruno Haible  <bruno@clisp.org>
18809
18810         New modules 'vfscanf', 'vscanf'.
18811         * modules/vfscanf: New file.
18812         * modules/vscanf: New file.
18813         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
18814         here.
18815         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
18816         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
18817
18818 2011-04-30  Bruno Haible  <bruno@clisp.org>
18819
18820         passfd: Add comments.
18821         * lib/passfd.c: Add comments about platforms.
18822
18823 2011-04-30  Bruno Haible  <bruno@clisp.org>
18824
18825         sys_uio: Make <sys/uio.h> self-contained.
18826         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
18827         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
18828
18829 2011-04-30  Bruno Haible  <bruno@clisp.org>
18830
18831         sys_socket: Ensure 'struct iovec' definition.
18832         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
18833         <sys/socket.h>.
18834         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
18835
18836 2011-04-30  Bruno Haible  <bruno@clisp.org>
18837
18838         sys_uio: Protect definition of 'struct iovec'.
18839         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18840         it as a C struct.
18841
18842 2011-04-30  Bruno Haible  <bruno@clisp.org>
18843
18844         manywarnings: fix indentation
18845         * m4/manywarnings.m4: Indent by 2 spaces consistently.
18846
18847 2011-04-30  Pádraig Brady <P@draigBrady.com>
18848
18849         manywarnings: add -Wno-missing-field-initializers if needed.
18850         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
18851         option if it's needed to allow initialization with { 0, }
18852
18853 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
18854
18855         announce-gen: cosmetic improvement
18856         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
18857
18858 2011-04-29  Jim Meyering  <meyering@redhat.com>
18859
18860         vc-list-files: indent with spaces, not TABs
18861         * build-aux/vc-list-files: Convert leading TABs to spaces,
18862         to match the style of most other files in gnulib.
18863
18864         announce-gen: indent with spaces, not TABs
18865         * build-aux/announce-gen: Convert all TABs to spaces, to match
18866         the style of most other files in gnulib.
18867
18868 2011-04-29  Eric Blake  <eblake@redhat.com>
18869
18870         quotearg: avoid uninitialized variable use
18871         * lib/quotearg.c (quoting_options_from_style): Initialize
18872         remaining fields, and ensure that custom styles are only used via
18873         quoting_options rather than quoting_style.
18874
18875 2011-04-29  Jim Meyering  <meyering@redhat.com>
18876
18877         maint.mk: remove unused VC-tag variable
18878         * top/maint.mk (VC-tag): Remove unused variable.
18879
18880 2011-04-29  Bruno Haible  <bruno@clisp.org>
18881
18882         netdb: fix gai_strerror replacements
18883         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
18884         * modules/netdb: Substitute it.
18885
18886 2011-04-29  Jim Meyering  <meyering@redhat.com>
18887
18888         test-getcwd.c: avoid new set-but-not-used warning
18889         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
18890         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
18891         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
18892         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
18893
18894         test-hash.c: avoid a new shadowing warning
18895         * tests/test-hash.c (main): Don't shadow "dup".
18896
18897 2011-04-28  Eric Blake  <eblake@redhat.com>
18898
18899         getaddrinfo: fix gai_strerror signature
18900         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
18901         and work around mingw with UNICODE defined.
18902         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
18903         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
18904         * modules/netdb (Makefile.am): Substitute it.
18905         * lib/netdb.in.h (gai_strerror): Declare replacement.
18906         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
18907         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
18908         the fix.
18909
18910         getsockopt: avoid compiler warning
18911         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
18912         Reported by Matthias Bolte.
18913
18914         tests: drop unused link dependency
18915         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
18916         * modules/dirent-safer-tests (Makefile.am): Likewise.
18917         * modules/fdopendir-tests (Makefile.am): Likewise.
18918         * modules/mkfifoat-tests (Makefile.am): Likewise.
18919         * modules/openat-safer-tests (Makefile.am): Likewise.
18920         * modules/openat-tests (Makefile.am): Likewise.
18921         * modules/readlinkat-tests (Makefile.am): Likewise.
18922         * modules/symlinkat-tests (Makefile.am): Likewise.
18923         * modules/linkat-tests (Makefile.am): Likewise.
18924         (Depends-on): Switch to filenamecat-lgpl.
18925         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
18926         LIBINTL.
18927         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
18928         * tests/test-linkat.c (main): Don't require xalloc.
18929
18930         hash, mgetgroups: drop xalloc dependency
18931         * lib/hash.c (includes): Adjust includes.
18932         * lib/mgetgroups.c (includes): Likewise.
18933         (xgetgroups): Move...
18934         * lib/xgetgroups.c: ...to new file.
18935         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
18936         * modules/xgetgroups: New file, split from...
18937         * modules/mgetgroups: ...here.
18938         (Depends-on): Add xalloc-oversized.
18939         * modules/hash (Depends-on): Likewise.
18940         * modules/hash-tests (Depends-on): Drop xalloc.
18941         (test_hash_LDADD): Drop unused library.
18942         * tests/test-hash.c (main): Break xalloc dependency.
18943         (includes): Drop unused include.
18944
18945         xalloc-oversized: new module
18946         * modules/xalloc-oversized: New module.
18947         * modules/xalloc (Depends-on): Add it.
18948         * lib/xalloc.h (xalloc_oversized): Move...
18949         * lib/xalloc-oversized.h: ...into new file.
18950
18951         utimecmp: drop dependency on xmalloc
18952         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
18953         due to memory pressure.
18954         * modules/utimecmp (Depends-on): Drop xalloc.
18955
18956 2011-04-27  Eric Blake  <eblake@redhat.com>
18957
18958         getcwd: fix mingw bugs
18959         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
18960         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
18961         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
18962
18963 2011-04-27  Bruno Haible  <bruno@clisp.org>
18964
18965         mkstemps: Ensure declaration on MacOS X 10.5.
18966         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
18967         * doc/glibc-functions/mkstemps.texi: Document header file problem on
18968         MacOS X.
18969
18970 2011-04-27  Bruno Haible  <bruno@clisp.org>
18971
18972         mkstemp: More documentation.
18973         * doc/posix-functions/mkstemp.texi: Document header file problem on
18974         MacOS X.
18975
18976 2011-04-27  Bruno Haible  <bruno@clisp.org>
18977
18978         mkstemp: Tweak configure message when cross-compiling.
18979         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
18980         result as a guess.
18981
18982 2011-04-27  Bruno Haible  <bruno@clisp.org>
18983
18984         clean-temp: Clarify what it does.
18985         * lib/clean-temp.h: Add more comments.
18986         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
18987         module.
18988         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
18989         * doc/glibc-functions/mkstemps.texi: Likewise.
18990         * doc/glibc-functions/mkostemps.texi: Likewise.
18991
18992 2011-04-27  Eric Blake  <eblake@redhat.com>
18993
18994         fchdir: avoid extra chdir and fix test
18995         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
18996         getcwd-lgpl.
18997         * lib/fchdir.c (get_name): Any absolute name will do; it does not
18998         have to be canonical.
18999         (canonicalize_file_name): Drop unused macro.
19000         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
19001
19002         filenamecat-lgpl: fix licence
19003         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
19004         when it was first created.
19005
19006         linkat, renameat: add missing dependency
19007         * modules/linkat (Depends-on): Require getcwd-lgpl.
19008         * modules/renameat (Depends-on): Likewise.
19009
19010         tests: reduce dependencies
19011         * tests/test-linkat.c (main): Use lighter-weight getcwd.
19012         * tests/test-renameat.c (main): Likewise.
19013         * modules/linkat-tests (Depends-on): Relax dependency.
19014         * modules/renameat-tests (Depends-on): Likewise.
19015         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
19016         dependency explicit.
19017
19018         save-cwd: reduce default dependency
19019         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
19020         * lib/save-cwd.c: Update comments.
19021         * NEWS: Document the semantic change.
19022
19023         getcwd: enhance tests
19024         * tests/test-getcwd-lgpl.c: New file, taken from...
19025         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
19026         repeat long path stress tests from m4 probe.
19027         * modules/getcwd-lgpl-tests: New module.
19028         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
19029         * m4/getcwd-abort-bug.m4: Update comment.
19030         * m4/getcwd-path-max.m4: Likewise.
19031
19032         getcwd-lgpl: new module
19033         * modules/getcwd-lgpl: New module.
19034         * lib/getcwd-lgpl.c: New file.
19035         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19036         * MODULES.html.sh (lacking POSIX:2008): Likewise.
19037         * modules/getcwd (configure.ac): Set C witness.
19038         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
19039
19040         getcwd: tweak comments
19041         * m4/getcwd-abort-bug.m4: Fix comments.
19042         * m4/getcwd-path-max.m4: Likewise.
19043         * m4/getcwd.m4: Likewise.
19044
19045 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19046         and Eric Blake  <eblake@redhat.com>
19047
19048         mkstemp: replace if system version uses wrong permissions
19049         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
19050         read/write mode bits set in file created by mkstemp.
19051         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
19052
19053 2011-04-27  Eric Blake  <eblake@redhat.com>
19054
19055         passfd: avoid compiler warning
19056         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
19057         Reported by Laine Stump.
19058
19059 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
19060
19061         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
19062         required by the NetBSD (and perhaps other 4.4BSD derived) join.
19063
19064 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19065         and Eric Blake  <eblake@redhat.com>
19066
19067         mkstemp: mention clean-temp module
19068         * lib/mkstemp.c: Add comment.
19069         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
19070
19071 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
19072
19073         inttypes: also provide default values for 32-bit tests
19074         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
19075         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
19076
19077 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19078
19079         strtoumax: remove dependency on strtoimax
19080         This is like the strtoull change of yesterday.
19081         * modules/strtoumax (Files): Add lib/strtoimax.c.
19082         (Depends-on): Remove strtoimax and add verify.
19083
19084         inttypes-incomplete: new module
19085         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
19086         all but the PRI* and SCN* parts of gl_INTTYPES_H.
19087         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
19088         of gl_INTTYPES_H.
19089         (gl_INTTYPES_H): Rewrite in terms of these new macros.
19090         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
19091         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
19092         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
19093         * modules/strtoumax, modules/xstrtol (Depends-on):
19094         Depend on inttypes-incomplete, not inttypes.
19095         * modules/inttypes-incomplete: New module, containing the contents
19096         of the old modules/inttypes module, except that the Files: section
19097         omits m4/inttypes-pri.m4, and the configure.ac section invokes
19098         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
19099         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
19100         (Depends-on): Depend only on inttypes-incomplete.
19101         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
19102
19103         inttypes: omit now-redundant strtoimax and strtoumax work
19104         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
19105         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
19106
19107         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
19108         This supports apps that need pointers to strtoimax and strtoumax,
19109         and ports to HP-UX 11.00 64.bit, which has macros that expand to
19110         nonexistent functions.  See
19111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
19112         et seq.
19113         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
19114         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
19115         a macro.
19116         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19117
19118 2011-04-25  Simon Josefsson  <simon@josefsson.org>
19119
19120         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
19121
19122 2011-04-25  Bruno Haible  <bruno@clisp.org>
19123
19124         strtol, strtoul: Mark modules as obsolete.
19125         * modules/strtol (Status, Notice): New sections.
19126         * modules/strtoul (Status, Notice): New sections.
19127
19128 2011-04-25  Bruno Haible  <bruno@clisp.org>
19129
19130         strtod: Remove check for strtod, unless supporting old platforms.
19131         * modules/strtod-obsolete: New file.
19132         * m4/strtod-obsolete.m4: New file.
19133         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
19134         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
19135         * modules/strtod (Depends-on): Add strtod-obsolete.
19136         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
19137
19138 2011-04-25  Bruno Haible  <bruno@clisp.org>
19139
19140         strcase: Make module obsolete.
19141         * modules/strcase (Status, Notice): New sections.
19142
19143 2011-04-25  Bruno Haible  <bruno@clisp.org>
19144
19145         dup2: Remove check for dup2, unless supporting old obsolete platforms.
19146         * modules/dup2-obsolete: New file.
19147         * m4/dup2-obsolete.m4: New file.
19148         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
19149         gl_FUNC_DUP2_OBSOLETE is not also defined.
19150         * modules/dup2 (Depends-on): Add dup2-obsolete.
19151         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
19152
19153 2011-04-25  Bruno Haible  <bruno@clisp.org>
19154
19155         strnlen: Avoid memchr related link error on old obsolete platforms.
19156         * modules/memchr-obsolete: New file.
19157         * m4/memchr-obsolete.m4: New file.
19158         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
19159         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
19160         * modules/memchr (Depends-on): Add memchr-obsolete.
19161         * modules/strnlen (Depends-on): Likewise.
19162         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
19163
19164 2011-04-25  Jim Meyering  <meyering@redhat.com>
19165
19166         maint.mk: makefile_at_at_check extend and clean up
19167         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
19168         in addition to */Makefile.am.
19169         Exempt legitimate uses of @VAR@ notation, e.g.,
19170         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
19171         Remove obsolete coreutils-specific comment.
19172         Prompted by discussion here:
19173         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
19174
19175 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19176
19177         strtoul: remove dependency on strtol
19178         This is so that 'configure' need not check for strtol merely because
19179         the application needs strtoul.
19180         * modules/strtoul (Files): Add lib/strtol.c.
19181         (Depends-on): Remove strtol.
19182
19183         strtoull: remove dependency on strtoul
19184         This is like the strtoll change.
19185         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
19186         (Depends-on): Remove strtoul.
19187
19188         strtoll: remove dependency on strtol
19189         This is so that 'configure' need not check for strtol merely because
19190         the application needs strtoll.
19191         * modules/strtoll (Files): Add lib/strtol.c.
19192         (Depends-on): Remove strtol.
19193
19194 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19195
19196         inttypes: Move some configure check to module 'imaxdiv'.
19197         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
19198         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
19199         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
19200
19201 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19202
19203         inttypes: Move some configure check to module 'imaxabs'.
19204         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
19205         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
19206         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
19207
19208 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19209
19210         inttypes: Remove configure tests that are not needed since 2009-12-31.
19211         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
19212         gl_cv_header_working_inttypes_h.
19213
19214 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19215
19216         * modules/strnlen (Depends-on): Remove memchr.
19217         The strnlen implementation doesn't need the memchr module's fixes; see
19218         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
19219
19220         strtol: remove dependency on wchar
19221         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
19222         * modules/strtol (Depends-on): Remove wchar.
19223
19224 2011-04-21  Eric Blake  <eblake@redhat.com>
19225
19226         passfd: fix test regression on Linux
19227         * modules/passfd-tests (configure.ac): Correct socketpair check.
19228
19229         passfd: speed up configure and drop unused code
19230         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
19231         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
19232         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
19233         Instead of probing at configure for unix_scm_rights_bsd44_way,
19234         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
19235         check to a struct member probe.
19236         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
19237         (sendfd, recvfd): Update preprocessor checks.
19238         * modules/passfd (Files): Reflect rename, and drop unused file.
19239         (Depends-on): Drop unused dependency.
19240
19241         passfd: allow compilation on mingw
19242         * modules/sys_socket (Depends-on): Add sys_uio.
19243         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
19244         iovec and a minimal struct msghdr.
19245         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
19246         * tests/test-sys_socket.c (main): Enhance test.
19247         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
19248         guaranteed to provide what we need.
19249         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
19250         * modules/passfd-tests (Depends-on): Add sys_wait.
19251         * tests/test-passfd.c (main): Skip test on mingw, for now.
19252         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
19253         partial 'struct msghdr' implementation.
19254
19255         sys_uio: new module
19256         * modules/sys_uio: New module.
19257         * modules/sys_uio-tests: Likewise.
19258         * lib/sys_uio.in.h: New file.
19259         * m4/sys_uio_h.m4: Likewise.
19260         * tests/test-sys_uio.c: Likewise.
19261         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
19262         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
19263
19264 2011-04-20  Jim Meyering  <meyering@redhat.com>
19265
19266         useless-if-before-free: avoid false-positive
19267         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
19268         disjunct so that it too requires a terminating ";".  Without that,
19269         this script would identify as useless one statement from gcc that
19270         was not:
19271           if (aligned_ptr)
19272             free (((void **) aligned_ptr) [-1]);
19273
19274 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
19275
19276         doc: update users.txt.
19277         * users.txt: Add barcode.
19278
19279 2011-04-19  Bruno Haible  <bruno@clisp.org>
19280
19281         ioctl: Remove link dependency on native Windows.
19282         * lib/fd-hook.h: Renamed from lib/close-hook.h.
19283         (gl_close_fn, gl_ioctl_fn): New types.
19284         (struct fd_hook): Renamed from struct close_hook. Change type of
19285         private_close_fn field. Add private_ioctl_fn field.
19286         (close_hook_fn): Add parameter for primary close method.
19287         (execute_close_hooks, execute_all_close_hooks): Likewise.
19288         (ioctl_hook_fn): New type.
19289         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
19290         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19291         argument.
19292         (unregister_fd_hook): Renamed from unregister_close_hook.
19293         * lib/fd-hook.c: Renamed from lib/close-hook.c.
19294         Don't include <unistd.h>.
19295         (close): Remove undef.
19296         (anchor): Update.
19297         (execute_close_hooks): Add argument for primary close method.
19298         (execute_all_close_hooks): Likewise.
19299         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
19300         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19301         argument. Allow each argument to be NULL.
19302         (unregister_fd_hook): Renamed from unregister_close_hook.
19303         * lib/close.c (rpl_close): Pass 'close' function pointer to
19304         execute_all_close_hooks.
19305         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
19306         (primary_ioctl): New function.
19307         (ioctl): Don't call ioctlsocket here. Instead, call
19308         execute_all_ioctl_hooks.
19309         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
19310         close method.
19311         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
19312         (fd_sockets_hook): Renamed from close_sockets_hook.
19313         (gl_sockets_startup, gl_sockets_cleanup): Update.
19314         * modules/fd-hook: Renamed from modules/close-hook. Update.
19315         * modules/close (Depends-on): Add fd-hook, remove close-hook.
19316         * modules/sockets (Depends-on): Likewise.
19317         * modules/ioctl (Depends-on): Add fd-hook.
19318         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
19319         GNULIB_SOCKET.
19320
19321 2011-04-19  Bruno Haible  <bruno@clisp.org>
19322
19323         Move the support of O_NONBLOCK in open() to the 'open' module.
19324         * modules/nonblocking (Depends-on): Remove 'open'.
19325         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
19326         gl_cv_have_open_O_NONBLOCK.
19327         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
19328         O_NONBLOCK support.
19329         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
19330
19331 2011-04-17  Bruno Haible  <bruno@clisp.org>
19332
19333         pipe2: Simplify code.
19334         * lib/pipe2.c (pipe2): Reduce code duplication.
19335
19336 2011-04-17  Bruno Haible  <bruno@clisp.org>
19337
19338         nonblocking: Add comment.
19339         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
19340
19341 2011-04-17  Bruno Haible  <bruno@clisp.org>
19342
19343         nonblocking: Add tests for sockets.
19344         * tests/test-nonblocking-socket.sh: New file.
19345         * tests/test-nonblocking-socket-main.c: New file.
19346         * tests/test-nonblocking-socket-child.c: New file.
19347         * tests/test-nonblocking-socket.h: New file.
19348         * tests/socket-server.h: New file.
19349         * tests/socket-client.h: New file.
19350         * modules/nonblocking-socket-tests: New file.
19351         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
19352
19353 2011-04-17  Bruno Haible  <bruno@clisp.org>
19354
19355         nonblocking: Add tests for pipes.
19356         * tests/test-nonblocking-pipe.sh: New file.
19357         * tests/test-nonblocking-pipe-main.c: New file.
19358         * tests/test-nonblocking-pipe-child.c: New file.
19359         * tests/test-nonblocking-pipe.h: New file.
19360         * tests/test-nonblocking-writer.h: New file.
19361         * tests/test-nonblocking-reader.h: New file.
19362         * tests/test-nonblocking-misc.h: New file.
19363         * modules/nonblocking-pipe-tests: New file.
19364         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
19365
19366 2011-04-16  Bruno Haible  <bruno@clisp.org>
19367
19368         gettext: Clarify the needed programmer actions.
19369         * modules/gettext (Notice): New field.
19370         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19371
19372 2011-04-16  Bruno Haible  <bruno@clisp.org>
19373
19374         strchrnul: Tweak last commit.
19375         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
19376         bug.
19377         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
19378         as in _GL_FUNCDECL_SYS.
19379         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
19380         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
19381
19382 2011-04-15  Eric Blake  <eblake@redhat.com>
19383
19384         strchrnul: work around cygwin bug
19385         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
19386         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
19387         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
19388         * modules/string (Makefile.am): Substitute it.
19389         * lib/string.in.h (strchrnul): Use it.
19390
19391 2011-04-15  Bruno Haible  <bruno@clisp.org>
19392
19393         Don't require lib/stdio-write.c when only module 'stdio' is used.
19394         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
19395         invocation.
19396         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
19397
19398 2011-04-14  Bruno Haible  <bruno@clisp.org>
19399
19400         Support non-blocking pipe I/O in read() on native Windows.
19401         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
19402         (read): New declaration.
19403         * lib/read.c: New file.
19404         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
19405         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
19406         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
19407         vscanf): New declarations.
19408         * lib/stdio-read.c: New file.
19409         * m4/read.m4: New file.
19410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
19411         REPLACE_READ.
19412         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
19413         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19414         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
19415         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
19416         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
19417         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19418         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19419         * modules/read: New file.
19420         * modules/nonblocking (Files): Add lib/stdio-read.c.
19421         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
19422         * modules/stdio (Makefile.am): Substitute 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/pread (Depends-on): Add read.
19426         * modules/safe-read (Depends-on): Likewise.
19427         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
19428         gets, scanf, vfscanf, vscanf): Verify signatures.
19429         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
19430         problem with non-blocking pipes.
19431         * doc/posix-functions/fgetc.texi: Likewise.
19432         * doc/posix-functions/fgets.texi: Likewise.
19433         * doc/posix-functions/fread.texi: Likewise.
19434         * doc/posix-functions/fscanf.texi: Likewise.
19435         * doc/posix-functions/getc.texi: Likewise.
19436         * doc/posix-functions/getchar.texi: Likewise.
19437         * doc/posix-functions/gets.texi: Likewise.
19438         * doc/posix-functions/scanf.texi: Likewise.
19439         * doc/posix-functions/vfscanf.texi: Likewise.
19440         * doc/posix-functions/vscanf.texi: Likewise.
19441
19442 2011-04-14  Bruno Haible  <bruno@clisp.org>
19443
19444         Support non-blocking pipe I/O in write() on native Windows.
19445         * lib/write.c (rpl_write): Split a write request that failed merely
19446         because the byte count was larger than the pipe buffer's size.
19447         * doc/posix-functions/write.texi: Mention the problem with large byte
19448         counts.
19449
19450 2011-04-14  Bruno Haible  <bruno@clisp.org>
19451
19452         wchar: Ensure that wchar_t gets defined on uClibc.
19453         * lib/wchar.in.h: On uClibc, include <stddef.h>.
19454         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
19455
19456 2011-04-13  Bruno Haible  <bruno@clisp.org>
19457
19458         safe-write, full-read: Avoid unnecessary compilation units.
19459         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
19460         (Depends-on): Remove safe-read. Add ssize_t.
19461         * modules/full-read (Files): Add lib/full-write.c.
19462         (Depends-on): Add full-write.
19463
19464 2011-04-13  Bruno Haible  <bruno@clisp.org>
19465
19466         Support non-blocking pipe I/O and SIGPIPE in pwrite().
19467         * modules/pwrite (Depends-on): Add 'write'.
19468
19469 2011-04-13  Bruno Haible  <bruno@clisp.org>
19470
19471         Support non-blocking pipe I/O in write() on native Windows.
19472         * lib/unistd.in.h (write): Enable replacement also if
19473         GNULIB_UNISTD_H_NONBLOCKING is 1.
19474         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
19475         (rpl_write): When failing to write on a non-blocking pipe, change
19476         errno from ENOSPC to EAGAIN.
19477         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
19478         putchar, puts, vfprintf, vprintf): Enable replacement also if
19479         GNULIB_STDIO_H_NONBLOCKING is 1.
19480         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
19481         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
19482         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
19483         CALL_WITH_SIGPIPE_EMULATION.
19484         (CALL_WITH_SIGPIPE_EMULATION): Use them.
19485         * m4/nonblocking.m4: New file.
19486         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
19487         for non-blocking I/O support.
19488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19489         GNULIB_UNISTD_H_NONBLOCKING.
19490         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
19491         required for non-blocking I/O support.
19492         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
19493         * modules/nonblocking (Files): Add m4/nonblocking.m4,
19494         lib/stdio-write.c, m4/asm-underscore.m4.
19495         (Depends-on): Add stdio, unistd.
19496         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
19497         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
19498         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
19499         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
19500         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
19501         problem with non-blocking pipes.
19502         * doc/posix-functions/fputc.texi: Likewise.
19503         * doc/posix-functions/fputs.texi: Likewise.
19504         * doc/posix-functions/fwrite.texi: Likewise.
19505         * doc/posix-functions/printf.texi: Likewise.
19506         * doc/posix-functions/putc.texi: Likewise.
19507         * doc/posix-functions/putchar.texi: Likewise.
19508         * doc/posix-functions/puts.texi: Likewise.
19509         * doc/posix-functions/vfprintf.texi: Likewise.
19510         * doc/posix-functions/vprintf.texi: Likewise.
19511         * doc/posix-functions/write.texi: Likewise.
19512
19513 2011-04-10  Jim Meyering  <meyering@redhat.com>
19514
19515         maint.mk: prohibit doubled words
19516         Detect them also when they're separated by a newline.
19517         There are 3 ways to customize it:
19518           - disable the test on a per file basis, as usual with rules using
19519             $(VC_LIST_EXCEPT)
19520           - replace the default doubled-word-selecting regexp (affects all files)
19521           - ignore a particular file-vs-doubled-word match
19522         I nearly used that last one to ignore the "is is" match in
19523         coreutils' NEWS file, since the text was "ls -is is ..."
19524         To do that, I would have added this line to cfg.mk:
19525           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
19526         but it would have ignored any "is is" match in NEWS.
19527         Low probability, but still...
19528         Instead, I changed the text, slightly:
19529           -  ls -is is now consistent with ls -lis in ignoring values returned
19530           +  "ls -is" is now consistent with ls -lis in ignoring values returned
19531         * top/maint.mk (prohibit_double_word_RE_): Provide default.
19532         (prohibit_doubled_word_): Define.
19533         (sc_prohibit_doubled_word): New rule.
19534         (sc_prohibit_the_the): Remove.  Subsumed by the above.
19535
19536 2011-04-10  Jim Meyering  <meyering@redhat.com>
19537
19538         maint: fix doubled-word typo in comment
19539         * m4/gethostname.m4: s/is is/it is/
19540         * m4/getdomainname.m4: Likewise.
19541
19542 2011-04-10  Jim Meyering  <meyering@redhat.com>
19543
19544         maint: remove doubled word: s/it it/it/
19545         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
19546
19547 2011-04-10  Jim Meyering  <meyering@redhat.com>
19548
19549         maint.mk: remove useless semicolon and backslash
19550         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
19551         semicolon and backslash.
19552
19553 2011-04-10  Bruno Haible  <bruno@clisp.org>
19554
19555         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
19556         * modules/stdint-tests (Depends-on): Add wchar.
19557
19558 2011-04-10  Jim Meyering  <meyering@redhat.com>
19559
19560         maint: remove doubled words in comments, e.g., s/a a/a/
19561         * lib/strptime.c (day_of_the_week): s/the the/the/
19562         * tests/test-chown.h (test_chown): s/a a/a/
19563
19564         test-chown.h: correct a cast
19565         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
19566         when the destination is a stat.st_gid.
19567
19568 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
19569
19570         getaddrinfo: Fix test for sa_len member.
19571         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
19572         include <sys/types.h> before <sys/socket.h>.
19573
19574 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19575
19576         maint: change "can not" to "cannot"
19577         * doc/posix-functions/iconv.texi (iconv): This one crossed line
19578         boundaries.
19579
19580 2011-04-09  Jim Meyering  <meyering@redhat.com>
19581
19582         maint: change "a a" to "a"
19583         * tests/test-lchown.h (test_lchown): s/a a/a/
19584
19585         maint.mk: prohibit \<the the\>
19586         * top/maint.mk (sc_prohibit_the_the): New rule.
19587
19588         maint: fix "the the" in comment
19589         * lib/count-one-bits.h: s/the the/the/
19590
19591         maint: change "can not" to "cannot"
19592         But do not change the occurrences in maintain.texi or in
19593         build-aux/po/Makefile.in.in, which I presume comes from gettext.
19594         * doc/gnulib-tool.texi: s/can not/cannot/
19595         * doc/posix-functions/accept.texi (accept): Likewise.
19596         * doc/posix-functions/socket.texi (socket): Likewise.
19597         * lib/mbrtowc.c: Likewise.
19598
19599         maint.mk: prohibit use of "can not"
19600         * top/maint.mk (sc_prohibit_can_not): New rule.
19601         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
19602
19603 2011-04-09  Bruno Haible  <bruno@clisp.org>
19604
19605         careadlinkat: Guard against misuse of careadlinkatcwd.
19606         * lib/careadlinkat.c: Include <stdlib.h>.
19607         (careadlinkatcwd): Check that the fd argument is as expected.
19608
19609 2011-04-09  Bruno Haible  <bruno@clisp.org>
19610
19611         careadlinkat: Use common coding style.
19612         * lib/careadlinkat.c: Move gnulib includes after system includes.
19613
19614 2011-04-09  Bruno Haible  <bruno@clisp.org>
19615
19616         careadlinkat: Clarify specification.
19617         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
19618         (careadlinkatcwd): Add comment.
19619         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
19620
19621 2011-04-09  Bruno Haible  <bruno@clisp.org>
19622
19623         areadlinkat: Avoid link error on many platforms.
19624         * modules/areadlinkat (Depends-on): Add areadlink.
19625
19626 2011-04-09  Bruno Haible  <bruno@clisp.org>
19627
19628         allocator, careadlinkat: Fix double-inclusion guard.
19629         * lib/allocator.h: Fix double-inclusion guard.
19630         * lib/careadlinkat.h: Likewise.
19631
19632 2011-04-09  Bruno Haible  <bruno@clisp.org>
19633
19634         relocatable-prog-wrapper: Update after module 'areadlink' changed.
19635         * lib/relocwrapper.c: Update dependencies hierarchy.
19636         * build-aux/install-reloc: Update list of files to be compiled.
19637         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
19638         lib/allocator.[hc].
19639
19640 2011-04-08  Eric Blake  <eblake@redhat.com>
19641
19642         strftime: silence gnulib-tool warning
19643         * modules/strftime-tests (Depends-on): Drop automatic dependency.
19644
19645 2011-04-08  Bruno Haible  <bruno@clisp.org>
19646
19647         verify: Fix syntax error with GCC 4.6 in C++ mode.
19648         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
19649         (HAVE_STATIC_ASSERT): New macro.
19650         (verify_true, verify): Use 'static_assert' if it is supported and
19651         '_Static_assert' is not supported.
19652
19653 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
19654
19655         allocator: New module.
19656         * modules/allocator, lib/allocator.c: New files.
19657         * lib/allocator.h (stdlib_allocator): New decl.
19658         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
19659         Remove.  Do not include <stdlib.h>.
19660         (careadlinkat): Use stdlib_allocator instead of rolling our own.
19661         * modules/careadlinkat (Files): Remove lib/allocator.h.
19662         (Depends-on): Add allocator.
19663
19664         stdlib: let modules use system malloc, realloc
19665         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
19666         if !_GL_USE_STDLIB_ALLOC.
19667         (malloc, realloc): Limit this change to a smaller scope.
19668
19669         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
19670         (malloc, realloc): Don't #undef; no longer needed.
19671         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19672         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19673         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19674         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19675         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19676         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19677         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19678         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19679
19680         careadlinkat: rename members to avoid problem
19681         * lib/allocator.h (struct allocator): Rename members from
19682         malloc/realloc to allocate/reallocate, to avoid problems if malloc
19683         and realloc are #define'd.  Reported by Eric Blake in
19684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
19685         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
19686
19687 2011-04-08  Eric Blake  <eblake@redhat.com>
19688
19689         nonblocking: reduce dependency
19690         * tests/test-nonblocking.c: Only test sockets when in use.
19691         * modules/nonblocking-tests (Depends-on): Drop socket.
19692         (Makefile.am): Link even if sockets are not present.
19693         * modules/pipe2-tests (Makefile.am): Likewise.
19694         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
19695
19696         pipe2: fix O_NONBLOCK support on mingw
19697         * modules/pipe2 (Depends-on): Add nonblocking.
19698         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
19699         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
19700         * tests/test-nonblocking.c (main): Likewise.
19701         * modules/pipe2-tests (Makefile.am): Avoid link failure.
19702
19703         fcntl-h: fix O_ACCMODE on cygwin
19704         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
19705         * lib/fcntl.in.h (O_ACCMODE): Fix it.
19706
19707         pipe-filter: drop O_NONBLOCK workarounds
19708         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
19709         * modules/pipe-filter-ii (Depends-on): Likewise.
19710         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
19711
19712         nonblocking: provide O_NONBLOCK for mingw
19713         * modules/nonblocking (Depends-on): Add open.
19714         (configure.ac): Set new witness macro.
19715         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
19716         * modules/fcntl-h (Makefile.am): Substitute it.
19717         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
19718         nonblocking module is in use.
19719         * lib/nonblocking.c: Adjust portability test.
19720         * lib/open.c (open): Don't let native open see gnulib flag.
19721         * tests/test-fcntl-h.c (main): Enhance test.
19722         * tests/test-open.h (test_open): Likewise.
19723         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
19724
19725         careadlinkat: fix compilation error on mingw
19726         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
19727         within struct allocator.
19728
19729 2011-04-06  Eric Blake  <eblake@redhat.com>
19730
19731         binary-io: relicense under LGPLv2+
19732         * modules/binary-io (License): Relax to LGPLv2+.
19733         Requested for libvirt, and required by pipe2.
19734
19735 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
19736
19737         verify: use _Static_assert if available
19738         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
19739         (verify_true, verify): Use it if available.  This generates better
19740         diagnostics with GCC 4.6.0 and later.
19741
19742 2011-04-05  Bruno Haible  <bruno@clisp.org>
19743
19744         Remove leftover generated .h files after config.status changed.
19745
19746         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
19747         GL_GENERATE_ALLOCA_H.
19748         * modules/alloca-opt (Makefile.am): Remove alloca.h if
19749         GL_GENERATE_ALLOCA_H evaluates to false.
19750
19751         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
19752         GL_GENERATE_ARGZ_H.
19753         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
19754         evaluates to false.
19755
19756         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
19757         GL_GENERATE_BYTESWAP_H.
19758         * modules/byteswap (Makefile.am): Remove byteswap.h if
19759         GL_GENERATE_BYTESWAP_H evaluates to false.
19760
19761         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
19762         GL_GENERATE_ERRNO_H.
19763         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
19764         evaluates to false.
19765
19766         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
19767         GL_GENERATE_FLOAT_H.
19768         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
19769         evaluates to false.
19770
19771         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
19772         GL_GENERATE_FNMATCH_H.
19773         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
19774         GL_GENERATE_FNMATCH_H evaluates to false.
19775
19776         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
19777         GL_GENERATE_GLOB_H.
19778         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
19779         evaluates to false.
19780
19781         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
19782         automake conditional GL_GENERATE_ICONV_H.
19783         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
19784         evaluates to false.
19785
19786         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
19787         GL_GENERATE_NETINET_IN_H.
19788         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
19789         GL_GENERATE_NETINET_IN_H evaluates to false.
19790
19791         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
19792         conditional GL_GENERATE_PTHREAD_H.
19793         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
19794         * modules/pthread (Makefile.am): Remove pthread.h if
19795         GL_GENERATE_PTHREAD_H evaluates to false.
19796
19797         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
19798         GL_GENERATE_SCHED_H.
19799         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
19800         evaluates to false.
19801
19802         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
19803         conditional GL_GENERATE_SELINUX_CONTEXT_H.
19804         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
19805         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
19806
19807         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
19808         GL_GENERATE_STDARG_H.
19809         * modules/stdarg (Makefile.am): Remove stdarg.h if
19810         GL_GENERATE_STDARG_H evaluates to false.
19811
19812         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
19813         GL_GENERATE_STDBOOL_H.
19814         * modules/stdbool (Makefile.am): Remove stdbool.h if
19815         GL_GENERATE_STDBOOL_H evaluates to false.
19816
19817         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
19818         conditional GL_GENERATE_STDDEF_H.
19819         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
19820         * modules/stddef (Makefile.am): Remove stddef.h if
19821         GL_GENERATE_STDDEF_H evaluates to false.
19822
19823         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
19824         GL_GENERATE_STDINT_H.
19825         * modules/stdint (Makefile.am): Remove stdint.h if
19826         GL_GENERATE_STDINT_H evaluates to false.
19827
19828         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
19829         GL_GENERATE_SYSEXITS_H.
19830         * modules/sysexits (Makefile.am): Remove sysexits.h if
19831         GL_GENERATE_SYSEXITS_H evaluates to false.
19832
19833         Reported by Karl Berry and Ralf Wildenhues.
19834
19835 2011-04-05  Bruno Haible  <bruno@clisp.org>
19836
19837         Ensure to rebuild generated .h files when config.status has changed.
19838         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
19839         config.status.
19840         * modules/ctype (Makefile.am): Likewise.
19841         * modules/dirent (Makefile.am): Likewise.
19842         * modules/errno (Makefile.am): Likewise.
19843         * modules/fcntl-h (Makefile.am): Likewise.
19844         * modules/float (Makefile.am): Likewise.
19845         * modules/getopt-posix (Makefile.am): Likewise.
19846         * modules/glob (Makefile.am): Likewise.
19847         * modules/iconv-h (Makefile.am): Likewise.
19848         * modules/inttypes (Makefile.am): Likewise.
19849         * modules/langinfo (Makefile.am): Likewise.
19850         * modules/locale (Makefile.am): Likewise.
19851         * modules/math (Makefile.am): Likewise.
19852         * modules/netdb (Makefile.am): Likewise.
19853         * modules/netinet_in (Makefile.am): Likewise.
19854         * modules/poll-h (Makefile.am): Likewise.
19855         * modules/pthread (Makefile.am): Likewise.
19856         * modules/pty (Makefile.am): Likewise.
19857         * modules/sched (Makefile.am): Likewise.
19858         * modules/search (Makefile.am): Likewise.
19859         * modules/selinux-h (Makefile.am): Likewise.
19860         * modules/signal (Makefile.am): Likewise.
19861         * modules/spawn (Makefile.am): Likewise.
19862         * modules/stdarg (Makefile.am): Likewise.
19863         * modules/stdbool (Makefile.am): Likewise.
19864         * modules/stddef (Makefile.am): Likewise.
19865         * modules/stdint (Makefile.am): Likewise.
19866         * modules/stdio (Makefile.am): Likewise.
19867         * modules/stdlib (Makefile.am): Likewise.
19868         * modules/string (Makefile.am): Likewise.
19869         * modules/strings (Makefile.am): Likewise.
19870         * modules/sys_file (Makefile.am): Likewise.
19871         * modules/sys_ioctl (Makefile.am): Likewise.
19872         * modules/sys_select (Makefile.am): Likewise.
19873         * modules/sys_socket (Makefile.am): Likewise.
19874         * modules/sys_stat (Makefile.am): Likewise.
19875         * modules/sys_time (Makefile.am): Likewise.
19876         * modules/sys_times (Makefile.am): Likewise.
19877         * modules/sys_utsname (Makefile.am): Likewise.
19878         * modules/sys_wait (Makefile.am): Likewise.
19879         * modules/sysexits (Makefile.am): Likewise.
19880         * modules/termios (Makefile.am): Likewise.
19881         * modules/time (Makefile.am): Likewise.
19882         * modules/unistd (Makefile.am): Likewise.
19883         * modules/wchar (Makefile.am): Likewise.
19884         * modules/wctype-h (Makefile.am): Likewise.
19885         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
19886
19887 2011-04-05  Bruno Haible  <bruno@clisp.org>
19888
19889         pipe2: Relicense under LGPLv2+.
19890         * modules/pipe2 (License): Change to LGPLv2+.
19891         Requested by Eric Blake, for libvirt.
19892
19893 2011-04-05  Bruce Korb  <bkorb@gnu.org>
19894
19895         bootstrap: compute gnulib_extra_files after updating build_aux
19896         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
19897         change build_aux or also supply gnulib_extra_files.  Handle correctly.
19898
19899 2011-04-05  Eric Blake  <eblake@redhat.com>
19900
19901         bootstrap: preserve git whitelist item sorting
19902         * build-aux/bootstrap (sort_patterns): New function.
19903         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
19904
19905 2011-04-05  Simon Josefsson  <simon@josefsson.org>
19906
19907         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
19908         sc_space_tab check.
19909
19910 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19911
19912         areadlink, areadlinkat: rewrite in terms of careadlinkat
19913         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
19914         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
19915         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
19916         (malloc, realloc): Remove #undefs.
19917         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
19918         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
19919         readlink, ssize_t, stdint, unistd.
19920         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
19921         areadlink, stdint.
19922
19923         careadlinkat: new module
19924         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
19925         * modules/careadlinkat: New files, written by me with
19926         a review and feedback from Ben Pfaff in
19927         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
19928
19929 2011-04-01  Bruno Haible  <bruno@clisp.org>
19930
19931         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
19932         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
19933         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
19934         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
19935         Reported by Bruce Korb <bruce.korb@gmail.com>.
19936
19937 2011-04-01  Bruno Haible  <bruno@clisp.org>
19938
19939         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
19940         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
19941         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
19942         * modules/wcpcpy (Depends-on): Add extensions.
19943         * modules/wcpncpy (Depends-on): Likewise.
19944         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
19945         systems.
19946         * doc/posix-functions/wcpncpy.texi: Likewise.
19947         * doc/posix-functions/wcwidth.texi: Likewise.
19948
19949 2011-03-31  Eric Blake  <eblake@redhat.com>
19950
19951         nonblocking: fix mingw test failures
19952         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
19953         non-blocking flag on regular file.
19954         (get_nonblocking_flag): Set errno on invalid fd.
19955         * tests/test-nonblocking.c (main): Avoid test failure on
19956         directories if fchdir is not active.
19957         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
19958
19959 2011-03-31  Bruno Haible  <bruno@clisp.org>
19960
19961         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
19962         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
19963         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
19964         Reported by Simon Josefsson <simon@josefsson.org>.
19965
19966 2011-03-31  Bruno Haible  <bruno@clisp.org>
19967         and Eric Blake  <eblake@redhat.com>
19968
19969         nonblocking: new module
19970         * modules/nonblocking: New module.
19971         * modules/nonblocking-tests: Likewise.
19972         * lib/nonblocking.h: New file.
19973         * lib/nonblocking.c: Likewise.
19974         * tests/test-nonblocking.c: New test.
19975         * lib/ioctl.c (ioctl) [mingw]: Update comment.
19976
19977 2011-03-30  Bruno Haible  <bruno@clisp.org>
19978
19979         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
19980         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
19981         instead of 'printf' format for GCC >= 4.4.
19982         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
19983         (fprintf, printf, vfprintf, vprintf): Declare with
19984         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
19985         the system's vfprintf() function.
19986         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
19987
19988 2011-03-30  Eric Blake  <eblake@redhat.com>
19989
19990         passfd: fix scoping bug
19991         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
19992         before sendmsg/recvmsg.
19993
19994         passfd: standardize coding conventions
19995         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
19996         can be learned at compile time.
19997         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
19998         ifdefs.
19999         (sendfd, recvfd): Follow gnulib code conventions.
20000
20001         passfd: fix incorrect sendmsg arguments
20002         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
20003         incorrect msg_controllen value.
20004         * modules/passfd-tests (Depends-on): Check for alarm.
20005         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
20006         Reported by Bastien ROUCARIES.
20007
20008 2011-03-30  Bruno Haible  <bruno@clisp.org>
20009
20010         c-strcasestr: Relicense under LGPLv2+.
20011         * modules/c-strcasestr (License): Change to LGPLv2+.
20012         Requested by Eric Blake, for libvirt.
20013
20014 2011-03-30  Simon Josefsson  <simon@josefsson.org>
20015
20016         * users.txt: Add libidn2.  Fix libtasn1 link.
20017
20018 2011-03-30  Jim Meyering  <meyering@redhat.com>
20019
20020         tests: readlink* ("",... fails with EINVAL on newer kernels
20021         readlink and readlinkat have typically failed with ENOENT for
20022         the invalid, empty file name,  "".  However, with the advent
20023         of linux-2.6.39, they fail with EINVAL.
20024         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
20025         when operating on the empty file name.
20026         * tests/test-readlink.h (test_readlink): Likewise.
20027
20028 2011-03-29  Bruno Haible  <bruno@clisp.org>
20029
20030         Relicense some modules under LGPLv2+, for libidn2.
20031         * modules/array-mergesort (License): Change to LGPLv2+.
20032         * modules/c-strcaseeq (License): Likewise.
20033         * modules/striconveh (License): Likewise.
20034         * modules/striconveha (License): Likewise.
20035         * modules/uniconv/base (License): Likewise.
20036         * modules/uniconv/u8-conv-from-enc (License): Likewise.
20037         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
20038         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
20039         * modules/unictype/base (License): Likewise.
20040         * modules/unictype/bidiclass-of (License): Likewise.
20041         * modules/unictype/category-M (License): Likewise.
20042         * modules/unictype/category-none (License): Likewise.
20043         * modules/unictype/category-of (License): Likewise.
20044         * modules/unictype/category-test (License): Likewise.
20045         * modules/unictype/category-test-withtable (License): Likewise.
20046         * modules/unictype/combining-class (License): Likewise.
20047         * modules/unictype/joiningtype-of (License): Likewise.
20048         * modules/unictype/scripts (License): Likewise.
20049         * modules/uninorm/base (License): Likewise.
20050         * modules/uninorm/canonical-decomposition (License): Likewise.
20051         * modules/uninorm/composition (License): Likewise.
20052         * modules/uninorm/decompose-internal (License): Likewise.
20053         * modules/uninorm/decomposition-table (License): Likewise.
20054         * modules/uninorm/nfc (License): Likewise.
20055         * modules/uninorm/nfd (License): Likewise.
20056         * modules/uninorm/u32-normalize (License): Likewise.
20057         * modules/unistr/base (License): Likewise.
20058         * modules/unistr/u32-cpy (License): Likewise.
20059         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
20060         * modules/unistr/u32-to-u8 (License): Likewise.
20061         * modules/unistr/u32-uctomb (License): Likewise.
20062         * modules/unistr/u8-check (License): Likewise.
20063         * modules/unistr/u8-mblen (License): Likewise.
20064         * modules/unistr/u8-mbtouc (License): Likewise.
20065         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
20066         * modules/unistr/u8-mbtoucr (License): Likewise.
20067         * modules/unistr/u8-prev (License): Likewise.
20068         * modules/unistr/u8-strlen (License): Likewise.
20069         * modules/unistr/u8-to-u32 (License): Likewise.
20070         * modules/unistr/u8-uctomb (License): Likewise.
20071         * modules/unitypes (License): Likewise.
20072         Requested by Simon Josefsson.
20073
20074 2011-03-29  Simon Josefsson  <simon@josefsson.org>
20075
20076         lib-symbol-visibility: Add a notice.
20077         * modules/lib-symbol-visibility (Notice): New field.
20078
20079 2011-03-29  Bruno Haible  <bruno@clisp.org>
20080
20081         getaddrinfo: Doc fix.
20082         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
20083         section "fixed in Gnulib".
20084
20085 2011-03-28  Simon Josefsson  <simon@josefsson.org>
20086
20087         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
20088         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
20089
20090 2011-03-26  Bruno Haible  <bruno@clisp.org>
20091
20092         unictype/property-byname: Reduce the number of load-time relocations.
20093         * lib/unictype/pr_byname.c: Include <stdlib.h>.
20094         (UC_PROPERTY_INDEX_*): New enumeration values.
20095         (uc_property_byname): Convert an index from the lookup table to an
20096         uc_property_t.
20097         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
20098         values.
20099
20100 2011-03-26  Bruno Haible  <bruno@clisp.org>
20101
20102         unictype/property-byname: Allow omitted word separators and aliases.
20103         * lib/unictype/pr_byname.gperf: Add property names without word
20104         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
20105         for 'space'.
20106
20107 2011-03-26  Bruno Haible  <bruno@clisp.org>
20108
20109         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
20110         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
20111         also hyphens to space.
20112         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
20113         without spaces.
20114         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
20115
20116 2011-03-26  Bruno Haible  <bruno@clisp.org>
20117
20118         unictype/joiningtype-byname: Recognize long names as well.
20119         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
20120         a long name.
20121         * lib/unictype/joiningtype_byname.c: Include <string.h>,
20122         unictype/joiningtype_byname.h.
20123         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
20124         * lib/unictype/joiningtype_byname.gperf: New file.
20125         * modules/unictype/joiningtype-byname (Files): Add
20126         lib/unictype/joiningtype_byname.gperf.
20127         (Depends-on): Add gperf.
20128         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
20129         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
20130         long names.
20131
20132         Tests for module 'unictype/joiningtype-longname'.
20133         * modules/unictype/joiningtype-longname-tests: New file.
20134         * tests/unictype/test-joiningtype_longname.c: New file.
20135
20136         New module 'unictype/joiningtype-longname'.
20137         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
20138         * lib/unictype/joiningtype_longname.c: New file.
20139         * modules/unictype/joiningtype-longname: New file.
20140         * modules/unictype/joiningtype-all (Depends-on): Add
20141         unictype/joiningtype-longname.
20142
20143 2011-03-26  Bruno Haible  <bruno@clisp.org>
20144
20145         unictype/bidiclass-byname: Recognize long names as well.
20146         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
20147         name.
20148         * lib/unictype/bidi_byname.c: Include <string.h>,
20149         unictype/bidi_byname.h.
20150         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
20151         * lib/unictype/bidi_byname.gperf: New file.
20152         * modules/unictype/bidiclass-byname (Files): Add
20153         lib/unictype/bidi_byname.gperf.
20154         (Depends-on): Add gperf.
20155         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
20156         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
20157         long names.
20158
20159         Tests for module 'unictype/bidiclass-longname'.
20160         * modules/unictype/bidiclass-longname-tests: New file.
20161         * tests/unictype/test-bidi_longname.c: New file.
20162
20163         New module 'unictype/bidiclass-longname'.
20164         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
20165         * lib/unictype/bidi_longname.c: New file.
20166         * modules/unictype/bidiclass-longname: New file.
20167         * modules/unictype/bidiclass-all (Depends-on): Add
20168         unictype/bidiclass-longname.
20169
20170 2011-03-26  Bruno Haible  <bruno@clisp.org>
20171
20172         unictype/bidi*: Rename modules.
20173         * modules/unictype/bidiclass-all: Renamed from
20174         modules/unictype/bidicategory-all.
20175         * modules/unictype/bidiclass-name: Renamed from
20176         modules/unictype/bidiclass-name.
20177         (Description): Update.
20178         * modules/unictype/bidiclass-name-tests: Renamed from
20179         modules/unictype/bidicategory-name-tests.
20180         * modules/unictype/bidiclass-byname: Renamed from
20181         modules/unictype/bidicategory-byname.
20182         (Description): Update.
20183         * modules/unictype/bidiclass-byname-tests: Renamed from
20184         modules/unictype/bidicategory-byname-tests.
20185         * modules/unictype/bidiclass-of: Renamed from
20186         modules/unictype/bidicategory-of.
20187         (Description): Update.
20188         * modules/unictype/bidiclass-of-tests: Renamed from
20189         modules/unictype/bidicategory-of-tests.
20190         * modules/unictype/bidiclass-test: Renamed from
20191         modules/unictype/bidicategory-test.
20192         (Description): Update.
20193         * modules/unictype/bidiclass-test-tests: Renamed from
20194         modules/unictype/bidicategory-test-tests.
20195         * modules/unictype/bidicategory-all: New file, a simple redirection.
20196         * modules/unictype/bidicategory-name: Likewise.
20197         * modules/unictype/bidicategory-byname: Likewise.
20198         * modules/unictype/bidicategory-of: Likewise.
20199         * modules/unictype/bidicategory-test: Likewise.
20200         * modules/unictype/property-bidi-* (Dependencies): Update.
20201         * lib/unictype/bidi_*.c: Update comment.
20202
20203 2011-03-26  Bruno Haible  <bruno@clisp.org>
20204
20205         unictype/bidi*: Rename functions, part 2.
20206         * modules/unictype/bidicategory-name (configure.ac): Update required
20207         libunistring version.
20208         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
20209
20210 2011-03-25  Bruno Haible  <bruno@clisp.org>
20211
20212         New module 'unictype/combining-class-all'.
20213         * modules/unictype/combining-class-all: New file.
20214
20215         Tests for module 'unictype/combining-class-byname'.
20216         * modules/unictype/combining-class-byname-tests: New file.
20217         * tests/unictype/test-combiningclass_byname.c: New file.
20218
20219         New module 'unictype/combining-class-byname'.
20220         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
20221         * lib/unictype/combiningclass_byname.c: New file.
20222         * lib/unictype/combiningclass_byname.gperf: New file.
20223         * modules/unictype/combining-class-byname: New file.
20224
20225         Tests for module 'unictype/combining-class-longname'.
20226         * modules/unictype/combining-class-longname-tests: New file.
20227         * tests/unictype/test-combiningclass_longname.c: New file.
20228
20229         New module 'unictype/combining-class-longname'.
20230         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
20231         * lib/unictype/combiningclass_longname.c: New file.
20232         * modules/unictype/combining-class-longname: New file.
20233
20234         Tests for module 'unictype/combining-class-name'.
20235         * modules/unictype/combining-class-name-tests: New file.
20236         * tests/unictype/test-combiningclass_name.c: New file.
20237
20238         New module 'unictype/combining-class-name'.
20239         * lib/unictype.in.h (uc_combining_class_name): New declaration.
20240         * lib/unictype/combiningclass_name.c: New file.
20241         * modules/unictype/combining-class-name: New file.
20242
20243 2011-03-25  Bruno Haible  <bruno@clisp.org>
20244
20245         unictype/combining-class: Rename source files.
20246         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
20247         of unictype/combining.h.
20248         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
20249         Update.
20250         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
20251         * modules/unictype/combining-class (Description): Fix.
20252         (Files, Makefile.am): Update.
20253         * tests/unictype/test-combiningclass.c: Renamed from
20254         tests/unictype/test-combining.c.
20255         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
20256
20257 2011-03-25  Bruno Haible  <bruno@clisp.org>
20258
20259         unictype: Update list of canonical combining classes.
20260         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
20261
20262 2011-03-25  Bruno Haible  <bruno@clisp.org>
20263
20264         unictype/category-byname: Recognize long names as well.
20265         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
20266         a long name.
20267         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
20268         unictype/categ_byname.h.
20269         (UC_CATEGORY_INDEX_*): New enumeration values.
20270         (uc_general_category_byname): Use uc_general_category_lookup and
20271         convert from index to value.
20272         * lib/unictype/categ_byname.gperf: New file.
20273         * modules/unictype/category-byname (Files): Add
20274         lib/unictype/categ_byname.gperf.
20275         (Depends-on): Add gperf.
20276         (Makefile.am): Add rule for generating unictype/categ_byname.h.
20277         * tests/unictype/test-categ_byname.c (main): Test the recognition of
20278         long names.
20279
20280         Tests for module 'unictype/category-longname'.
20281         * modules/unictype/category-longname-tests: New file.
20282         * tests/unictype/test-categ_longname.c: New file.
20283
20284         New module 'unictype/category-longname'.
20285         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
20286         * lib/unictype/categ_longname.c: New file.
20287         * modules/unictype/category-longname: New file.
20288         * modules/unictype/category-all (Depends-on): Add it.
20289
20290 2011-03-25  Bruno Haible  <bruno@clisp.org>
20291
20292         Tests for module 'unictype/category-LC'.
20293         * modules/unictype/category-LC-tests: New file.
20294         * tests/unictype/test-categ_LC.c: New file, automatically generated.
20295
20296         New module 'unictype/category-LC'.
20297         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
20298         (UC_CATEGORY_LC): New declaration.
20299         (UC_CASED_LETTER): New macro.
20300         * lib/gen-uni-tables.c (is_category_LC): New function.
20301         (output_categories): Also handle category LC.
20302         (UC_CATEGORY_MASK_LC): New enumeration value.
20303         (general_category_byname): Also handle category LC.
20304         * lib/unictype/categ_LC.c: New file.
20305         * lib/unictype/categ_LC.h: New file, automatically generated.
20306         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
20307         category LC.
20308         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
20309         * modules/unictype/category-LC: New file.
20310         * modules/unictype/category-byname (Depends-on): Add
20311         unictype/category-LC.
20312         * modules/unictype/category-all (Depends-on): Likewise.
20313
20314 2011-03-25  Eric Blake  <eblake@redhat.com>
20315
20316         xmalloc: revert yesterday's regression
20317         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
20318         realloc's underlying behavior (allowing allocation of zero-size
20319         objects, especially if malloc-gnu is also in use).
20320
20321 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
20322
20323         maint.mk: add missing version to VC-tag
20324         * top/maint.mk: git tag was missing actual tag name; add it.
20325
20326         valgrind: do leak checking, and exit with code 1 on error (not 0)
20327         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
20328         to VALGRIND.
20329
20330 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
20331
20332         posix-modules: say what it does.
20333         * posix-modules: Add a line to the --help output saying what it does.
20334
20335 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
20336
20337         xmalloc: Do not leak if underlying realloc is C99 compatible.
20338         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
20339         This avoids a leak on C99-based systems.  See
20340         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
20341
20342 2011-03-24  Eric Blake  <eblake@redhat.com>
20343
20344         realloc: document portability problem
20345         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
20346         passing 0 size to realloc.
20347
20348 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
20349
20350         doc: update users.txt
20351         * users.txt: Add cvsps, tmpwatch
20352
20353 2011-03-23  Matt Rice  <ratmice@gmail.com>
20354
20355         doc: update users.txt
20356         * users.txt: Add gdb.
20357
20358 2011-03-23  Jim Meyering  <meyering@redhat.com>
20359
20360         doc: update users.txt
20361         Looking through matches up to the following URL (there are still
20362         several more pages), I found several projects that use gnulib:
20363         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
20364         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
20365         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
20366
20367 2011-03-22  Bruno Haible  <bruno@clisp.org>
20368
20369         unictype/bidi*: Rename functions.
20370         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
20371         uc_bidi_class, uc_is_bidi_class): New declarations.
20372         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
20373         uc_bidi_category_byname.
20374         (uc_bidi_category_byname): New function.
20375         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
20376         u_bidi_category_name.
20377         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
20378         (uc_bidi_category_name): New function.
20379         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
20380         uc_bidi_category.
20381         (uc_bidi_category): New function.
20382         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
20383         uc_is_bidi_category. Invoke uc_bidi_class.
20384         (uc_is_bidi_category): New function.
20385         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
20386         instead of uc_bidi_category_byname.
20387         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
20388         instead of uc_bidi_category_name.
20389         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
20390         uc_bidi_category.
20391         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
20392         instead of uc_is_bidi_category.
20393
20394 2011-03-21  Bruno Haible  <bruno@clisp.org>
20395
20396         New module 'unictype/joininggroup-all'.
20397         * modules/unictype/joininggroup-all: New file.
20398
20399         Tests for module 'unictype/joininggroup-of'.
20400         * modules/unictype/joininggroup-of-tests: New file.
20401         * tests/unictype/test-joininggroup_of.c: New file.
20402         * tests/unictype/test-joininggroup_of.h: New file, automatically
20403         generated by gen-uni-tables.
20404
20405         New module 'unictype/joininggroup-of'.
20406         * modules/unictype/joininggroup-of: New file.
20407         * lib/unictype/joininggroup_of.c: New file.
20408         * lib/unictype/joininggroup_of.h: New file, automatically generated by
20409         gen-uni-tables.
20410
20411         Tests for module 'unictype/joininggroup-byname'.
20412         * modules/unictype/joininggroup-byname-tests: New file.
20413         * tests/unictype/test-joininggroup_byname.c: New file.
20414
20415         New module 'unictype/joininggroup-byname'.
20416         * modules/unictype/joininggroup-byname: New file.
20417         * lib/unictype/joininggroup_byname.c: New file.
20418         * lib/unictype/joininggroup_byname.gperf: New file.
20419
20420         Tests for module 'unictype/joininggroup-name'.
20421         * modules/unictype/joininggroup-name-tests: New file.
20422         * tests/unictype/test-joininggroup_name.c: New file.
20423
20424         New module 'unictype/joininggroup-name'.
20425         * modules/unictype/joininggroup-name: New file.
20426         * lib/unictype/joininggroup_name.c: New file.
20427         * lib/unictype/joininggroup_name.h: New file.
20428
20429         New module 'unictype/joiningtype-all'.
20430         * modules/unictype/joiningtype-all: New file.
20431
20432         Tests for module 'unictype/joiningtype-of'.
20433         * modules/unictype/joiningtype-of-tests: New file.
20434         * tests/unictype/test-joiningtype_of.c: New file.
20435         * tests/unictype/test-joiningtype_of.h: New file, automatically
20436         generated by gen-uni-tables.
20437
20438         New module 'unictype/joiningtype-of'.
20439         * modules/unictype/joiningtype-of: New file.
20440         * lib/unictype/joiningtype_of.c: New file.
20441         * lib/unictype/joiningtype_of.h: New file, automatically generated by
20442         gen-uni-tables.
20443
20444         Tests for module 'unictype/joiningtype-byname'.
20445         * modules/unictype/joiningtype-byname-tests: New file.
20446         * tests/unictype/test-joiningtype_byname.c: New file.
20447
20448         New module 'unictype/joiningtype-byname'.
20449         * modules/unictype/joiningtype-byname: New file.
20450         * lib/unictype/joiningtype_byname.c: New file.
20451
20452         Tests for module 'unictype/joiningtype-name'.
20453         * modules/unictype/joiningtype-name-tests: New file.
20454         * tests/unictype/test-joiningtype_name.c: New file.
20455
20456         New module 'unictype/joiningtype-name'.
20457         * modules/unictype/joiningtype-name: New file.
20458         * lib/unictype/joiningtype_name.c: New file.
20459
20460         unictype: Add support for Arabic shaping properties.
20461         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
20462         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
20463         declarations.
20464         (UC_JOINING_GROUP_*): New enumeration values.
20465         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
20466         declarations.
20467         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
20468         (unicode_joining_type): New variable.
20469         (UC_JOINING_GROUP_*): New enumeration values.
20470         (unicode_joining_group): New variable.
20471         (fill_arabicshaping, joining_type_as_c_identifier,
20472         output_joining_type_test, output_joining_type,
20473         joining_group_as_c_identifier, output_joining_group_test,
20474         output_joining_group): New functions.
20475         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
20476         fill_arabicshaping and output_joining_type_test, output_joining_type,
20477         output_joining_group_test, output_joining_group.
20478         Reported by Simon Josefsson.
20479
20480 2011-03-21  Jim Meyering  <meyering@redhat.com>
20481
20482         strftime: fix a bug in yesterday's change
20483         * lib/strftime.c (add): Accommodate width's initial value of -1.
20484         Otherwise, nstrftime would copy uninitialized data into
20485         the result buffer.
20486
20487 2011-03-21  Jim Meyering  <meyering@redhat.com>
20488
20489         tests: add strftime-tests module
20490         * tests/test-strftime.c: New file.
20491         * modules/strftime-tests: New module.
20492
20493 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20494
20495         strftime: don't assume a byte count fits in 'int'
20496         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
20497         found this problem by static analysis, using gcc -Wstrict-overflow
20498         (GCC 4.5.2, x86-64).  This reported an optimization that depended
20499         on an integer overflow having undefined behavior, but it turns out
20500         that the argument is a size, which might not fit in 'int' anyway,
20501
20502 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20503
20504         stdio: don't require ignore_value around fwrite
20505
20506         This patch works around libc bug 11959
20507         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
20508         Without this patch, applications must often write
20509         ignore_value (fwrite (...)) even though the ignore_value is
20510         not helpful here.  It's common to write many objects, using
20511         fwrite/printf/etc., and then use ferror to detect output error.
20512
20513         I considered making this patch optional, but decided against it,
20514         because libc is obviously being inconsistent here: there is no
20515         reason libc should insist that user code must inspect fwrite
20516         return's value without also insisting that it inspect printf's,
20517         putchar's, etc.  If user code wants to have a strict style where
20518         all these functions' values are checked (so that ferror need not
20519         be checked), we could add support for that style in a new gnulib
20520         module, but in the meantime it's better to be consistent and to
20521         support common usage.
20522
20523         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
20524         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
20525         that we are compiling in checking mode, and if not C++, and
20526         if not already wrapping fwrite for some other reason.
20527         (fwrite): #define to rpl_fwrite if the latter is defined.
20528
20529 2011-03-20  Bruno Haible  <bruno@clisp.org>
20530
20531         verror: Fix compilation error introduced on 2011-02-13.
20532         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
20533         instead of __attribute__.
20534         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20535
20536 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20537             Bruno Haible  <bruno@clisp.org>
20538
20539         socklen: do not depend on sys_socket
20540         While trying to modify Emacs to use gnulib's socklen module,
20541         I discovered a circular dependency: socklen depends on sys_socket
20542         and vice versa.  Emacs can use socklen, but it does not need
20543         sys_socket because it has its own substitute for sys/socket.h.
20544         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
20545         gl_TYPE_SOCKLEN_T.
20546         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
20547         gl_PREREQ_SYS_H_SOCKET.
20548         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
20549         gl_PREREQ_SYS_H_SOCKET.
20550         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
20551         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
20552         * modules/socklen (Depends-on): Do not depend on sys_socket.
20553         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
20554
20555 2011-03-20  Jim Meyering  <meyering@redhat.com>
20556
20557         maint.mk: sort file names *after* new transformation
20558         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
20559         prefix would have led to an unwarranted failure in GNU parted.
20560         Sort after that transformation.
20561
20562 2011-03-19  Jim Meyering  <meyering@redhat.com>
20563
20564         maint.mk: fix po-file syntax-check rule
20565         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
20566         Patch by Bruno Haible.
20567
20568 2011-03-19  Bruno Haible  <bruno@clisp.org>
20569
20570         socklen: Update comment.
20571         * m4/socklen.m4: Update comment about platforms.
20572
20573 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20574             Bruno Haible  <bruno@clisp.org>
20575
20576         inet_ntop, inet_pton: Simplify.
20577         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
20578         documented to provide socklen_t and we already depend on sys_socket.
20579         * modules/inet_pton (Depends-on): Likewise.
20580         * lib/arpa_inet.in.h: Adjust comment.
20581
20582 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20583             Bruno Haible  <bruno@clisp.org>
20584
20585         netdb: Simplify.
20586         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
20587         documented to provide socklen_t and we already depend on sys_socket.
20588         * lib/netdb.in.h: Adjust comment.
20589
20590 2011-03-19  Bruno Haible  <bruno@clisp.org>
20591
20592         sys_socket, netdb: Document problem with socklen_t.
20593         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
20594         platforms.
20595         * doc/posix-headers/netdb.texi: Likewise.
20596
20597 2011-03-18  Eric Blake  <eblake@redhat.com>
20598
20599         maint.mk: let po check work in VPATH build
20600         * top/maint.mk (po_file): Allow cfg.mk override.
20601         (sc_po_check): Allow VPATH use.
20602         Reported by Jiri Denemark.
20603
20604 2011-03-16  Jim Meyering  <meyering@redhat.com>
20605
20606         maint.mk: allow fine-grained syntax-check exclusion via Make variables
20607         Before, you would have had to create one .x-sc_ file per rule in order
20608         to exempt offending files.  Now, you may instead use a Make variable --
20609         usually defined in cfg.mk -- whose name identifies the affected rule.
20610         * top/maint.mk (_sc_excl): Define.
20611         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
20612         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
20613
20614 2011-03-13  Bruno Haible  <bruno@clisp.org>
20615
20616         ignore-value tests: Avoid warnings.
20617         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
20618         empty for gcc < 3.4.
20619
20620 2011-03-13  Bruno Haible  <bruno@clisp.org>
20621
20622         passfd: Fix link error on Solaris.
20623         * modules/passfd (Description): Correct.
20624         (Depends-on): Add socketlib.
20625         (Link): New section.
20626         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
20627
20628 2011-03-13  Bruno Haible  <bruno@clisp.org>
20629
20630         passfd: Fix link error on AIX 5.2.
20631         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
20632
20633 2011-03-13  Bruno Haible  <bruno@clisp.org>
20634
20635         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
20636         * lib/sys_socket.in.h: Include <stddef.h>.
20637         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
20638         CMSG_FIRSTHDR. Remove unused variable.
20639
20640 2011-03-13  Bruno Haible  <bruno@clisp.org>
20641
20642         passfd: Fix compilation error on OpenBSD.
20643         * lib/passfd.c: Include <sys/uio.h>.
20644
20645 2011-03-13  Bruno Haible  <bruno@clisp.org>
20646
20647         passfd test: Fix warnings.
20648         * tests/test-passfd.c: Include <sys/wait.h>.
20649         (main): Fix typo.
20650
20651 2011-03-13  Bruno Haible  <bruno@clisp.org>
20652
20653         passfd module, part 4, tweaks.
20654         * tests/test-passfd.c: Reorder includes.
20655         (main): Fix perror and printf calls.
20656
20657 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20658
20659         passfd module, part 4.
20660         * modules/passfd-tests: New file.
20661         * tests/test-passfd.c: New file.
20662
20663 2011-03-13  Jim Meyering  <meyering@redhat.com>
20664
20665         Makefile: rely on GNU make; derive syntax-check rule names
20666         Rather than requiring that each sc_ rule be listed as a dependent
20667         of "check", use features of GNU make to derive the list.
20668         * Makefile (syntax-check-rules): Define.
20669         (check): Depend on the new variable, not the hard-coded list.
20670
20671 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
20672             Bruno Haible  <bruno@clisp.org>
20673
20674         passfd module, part 3.
20675         * lib/passfd.h (recvfd): Add a flags argument.
20676         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
20677         (recvfd): Add a flags argument.
20678         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
20679         exists.
20680         * modules/passfd (Depends-on): Add cloexec.
20681         Suggested by Eric Blake.
20682
20683 2011-03-13  Bruno Haible  <bruno@clisp.org>
20684
20685         passfd module, part 2, tweaks.
20686         * modules/passfd (Files): Reorder.
20687         (Depends-on): Remove errno.
20688         (Include): Remove <sys/socket.h>, <sys/un.h>.
20689         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
20690         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
20691         specification header. Include <sys/socket.h> always. Don't include
20692         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
20693         (sendfd): Clarify that it sets errno when it fails.
20694         (recvfd): Fix specification.
20695
20696 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20697
20698         passfd module, part 2.
20699         * modules/passfd: New file.
20700         * lib/passfd.h: New file.
20701         * lib/passfd.c: New file.
20702
20703 2011-03-12  Bruno Haible  <bruno@clisp.org>
20704
20705         wcswidth, mbswidth: Avoid integer overflow.
20706         * lib/wcswidth.c: Include <limits.h>.
20707         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
20708         * lib/mbswidth.c: Include <limits.h>.
20709         (mbsnwidth): Avoid 'int' overflow.
20710         Reported by Jim Meyering.
20711
20712 2011-03-12  Bruno Haible  <bruno@clisp.org>
20713
20714         futimens, utimensat: Avoid endless recursion on Solaris 10.
20715         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
20716         Solaris.
20717         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
20718         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
20719
20720 2011-03-11  Jim Meyering  <meyering@redhat.com>
20721
20722         maint.mk: relax a regexp to accommodate other formatting styles
20723         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
20724         between "ngettext" and the following "(".
20725
20726 2011-03-11  Pádraig Brady <P@draigBrady.com>
20727
20728         maint.mk: suppress a false positive warning
20729         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
20730         diagnostics are marked with ngettext.
20731
20732 2011-03-10  Eric Blake  <eblake@redhat.com>
20733
20734         wchar: add explicit dependencies, for Tru64
20735         * modules/mbmemcasecoll (Depends-on): Add wchar.
20736         * modules/mbtowc (Depends-on): Likewise.
20737         * modules/vasnprintf (Depends-on): Likewise.
20738         * modules/unistdio/u-printf-args (Depends-on): Likewise.
20739         * modules/wctomb (Depends-on): Likewise.
20740         Reported by Peter O'Gorman.
20741
20742 2011-03-08  Bruno Haible  <bruno@clisp.org>
20743
20744         passfd module, part 1, tweaks.
20745         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
20746         Improve indentation. Improve AC_MSG_CHECKING messages.
20747         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
20748         gl_SOCKET_FAMILIES.
20749
20750 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20751
20752         passfd module, part 1.
20753         * m4/afunix.m4: New file.
20754         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
20755         sockets.
20756
20757 2011-03-08  Bruno Haible  <bruno@clisp.org>
20758
20759         regex-quote: New API.
20760         * lib/regex-quote.h: Include <stdbool.h>.
20761         (struct regex_quote_spec): New type.
20762         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20763         New declarations.
20764         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20765         'const struct regex_quote_spec *' argument.
20766         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
20767         (pcre_special): New constant.
20768         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20769         New functions.
20770         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20771         'const struct regex_quote_spec *' argument.
20772         * modules/regex-quote (Depends-on): Add stdbool.
20773         * tests/test-regex-quote.c (check): Update for new API. Add test for
20774         anchored results.
20775         * NEWS: Mention the API change.
20776         Reported by Reuben Thomas and Eric Blake.
20777
20778 2011-03-06  Bruno Haible  <bruno@clisp.org>
20779
20780         regex-quote: Fix creation of POSIX extended regular expressions.
20781         * lib/regex-quote.c (ere_special): Add grouping and alternation
20782         operators.
20783
20784 2011-03-05  Bruno Haible  <bruno@clisp.org>
20785
20786         doc: Improve doc regarding autopoint vs. gnulib.
20787         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
20788         disable autopoint while running autoreconf.
20789         Suggested by Ralf Wildenhues.
20790
20791 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20792
20793         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
20794         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
20795
20796 2011-03-03  Bruce Korb  <bkorb@gnu.org>
20797
20798         parse-duration: remove xalloc.h dependency
20799         * lib/parse-duration.c (parse_period): handle NULL return from
20800         strdup instead of calling xstrdup().
20801         * modules/parse-duration: remove "xalloc" dependency
20802
20803 2011-03-03  Matthew Booth  <mbooth@redhat.com>
20804
20805         bootstrap: honor m4_base when running aclocal
20806         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
20807
20808 2011-03-02  Jim Meyering  <meyering@redhat.com>
20809
20810         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
20811         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
20812         on request from Matt Booth.
20813
20814 2011-03-01  Eric Blake  <eblake@redhat.com>
20815
20816         test-link: work on Hurd
20817         * tests/test-link.h (test_link): Hurd rejects linking directories
20818         with EISDIR instead of the POSIX-mandated EPERM.
20819
20820 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
20821
20822         stdio: simplify by moving files to printf-posix, sigpipe
20823         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
20824         since this symbol is needed only if printf is replaced.
20825         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
20826         Require gl_ASM_SYMBOL_PREFIX.
20827         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
20828         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
20829         (Depends-on): Add 'raise'.
20830         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
20831         * modules/stdio (Files): Remove lib/stdio-write.c,
20832         m4/asm-underscore.m4.
20833         (Depends-on): Remove 'raise'.
20834
20835         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
20836         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
20837         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
20838         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
20839
20840 2011-02-28  Bruno Haible  <bruno@clisp.org>
20841
20842         localcharset: Assume ANSI C behaviour of free().
20843         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
20844         calling free().
20845         Suggested by Simon Josefsson <simon@josefsson.org>.
20846
20847 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
20848             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
20849             Bruno Haible  <bruno@clisp.org>  (tiny change)
20850
20851         On Cygwin, use /proc file system instead of win32 API.
20852         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
20853         Win32 file names.
20854         (DllMain): Simplify by removing Cygwin specific code.
20855         (find_shared_library_fullname): Use Linux specific implementation also
20856         for Cygwin.
20857         (get_shared_library_fullname): Update accordingly.
20858         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
20859         Win32 file names.
20860         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
20861         Cygwin specific code.
20862
20863 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
20864             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
20865
20866         Fix OpenMP flag detection for various Fortran compilers.
20867         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
20868         OpenMP-conditional compilation construct, to force compile
20869         failure with missing OpenMP flag.
20870         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
20871
20872 2011-02-25  Eric Blake  <eblake@redhat.com>
20873
20874         strstr: expand test coverage
20875         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
20876         compilation.
20877         * tests/test-memmem.c (main): Duplicate tests.
20878         * tests/test-strcasestr.c (main): Likewise.
20879         * tests/test-c-strcasestr.c (main): Likewise.
20880
20881 2011-02-25  Jim Meyering  <meyering@redhat.com>
20882
20883         maint.mk: detect missing-NL-at-EOF, too
20884         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
20885         it also detects when a file lacks a newline at EOF.
20886         (require_exactly_one_NL_at_EOF_): Renamed from
20887         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
20888         since people may well have .x-sc_... file names tied to the
20889         existing name.  Suggested by Eric Blake.
20890
20891 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20892
20893         dirname: move m4/dos.m4 functionality into lib/dosname.h
20894
20895         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
20896         extracts symbols from it, puts them into config.h; but it's much
20897         easier to use the symbols directly.  filename.h already does this,
20898         but it disagrees with dos.m4 in some respects.  This patch
20899         introduces a different include file dosname.h that packages up
20900         dos.m4, and then later we can work on merging filename.h and
20901         dosname.h.  Applications that need only the easy-to-configure
20902         symbols should consider including dosname.h rather than dirname.h.
20903         * NEWS: Mention incompatible changes.
20904         * m4/dos.m4: Remove.
20905         * lib/dosname.h, modules/dosname: New files.
20906         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
20907         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
20908         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
20909         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
20910         Include dosname.h, not dirname.h.
20911         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
20912         Include dosname.h, for definitions of symbols like ISSLASH
20913         that used to be in config.h.
20914         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
20915         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20916         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20917         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20918         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
20919         * modules/rmdir (Files): Likewise.
20920         * modules/stat (Files): Likewise.
20921         * modules/unlink (Files): Likewise.
20922         * modules/dirname-lgpl (Depends-on): Add dosname.
20923         * modules/lstat (Depends-on): Likewise.
20924         * modules/openat (Depends-on): Likewise.
20925         * modules/rmdir (Depends-on): Likewise.
20926         * modules/savewd (Depends-on): Likewise.
20927         * modules/stat (Depends-on): Likewise.
20928         * modules/unlink (Depends-on): Likewise.
20929         * modules/openat (Depends-on): Remove dirname-lgpl.
20930         * modules/savewd (Depends-on): Likewise.
20931         * tests/test-dirname.c: Do not use removed symbols like
20932         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
20933         the remaining symbols, e.g., ISSLASH ('\\').
20934
20935 2011-02-25  Eric Blake  <eblake@redhat.com>
20936
20937         strstr: revert patches that introduced bug and pessimization
20938         * lib/str-two-way.h: Add another reference.
20939         (two_way_short_needle, two_way_long_needle): Revert changes from
20940         2011-02-24; they pessimize search speed.
20941         (critical_factorization): Partially revert changes from
20942         2010-06-22; they violate the requirement that the left half of the
20943         needle be smaller than the period of the needle.
20944
20945 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
20946
20947         filenamecat: remove unnecessary dependency on dirname-lgpl
20948         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
20949         is no direct dependency, just an indirect one via filenamecat-lgpl.
20950
20951         remove: remove unnecessary use of m4/dos.m4
20952         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
20953         * modules/remove (FILES): Remove m4/dos.m4.
20954
20955         * lib/openat-proc.c: Don't include dirname.h; not needed.
20956
20957         backupfile: remove unnecessary use of m4/dos.m4
20958         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
20959         of its symbols are used by the backupfile code.  backupfile.c does
20960         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
20961         for the rare case of programs that want all their backup file
20962         names to live within 8+3 limits, and dos.m4 doesn't address that.
20963         * modules/backupfile (Files): Remove m4/dos.m4.
20964
20965 2011-02-24  Jim Meyering  <meyering@redhat.com>
20966
20967         strstr: fix a bug whereby strstr would mistakenly return NULL
20968         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
20969         in period calculation.
20970         (two_way_long_needle): Likewise.
20971         The original problem was reported by Mike Stump in
20972         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
20973         Ralf Wildenhues provided the short needle and haystack.
20974         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
20975         Add a more involved test to trigger the bug in two_way_long_needle.
20976
20977 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20978
20979         gnulib-tool: remove use of bold display in help screen
20980         * gnulib-tool (func_usage): Do not use bold display anymore in the
20981         help screen.  That was just meant to be a temporary emphasis for a
20982         backward-incompatible change.
20983
20984 2011-02-23  Bruno Haible  <bruno@clisp.org>
20985
20986         Fix misindentation of preprocessor directives.
20987         * lib/argp-namefrob.h: Reindent preprocessor directives.
20988         * lib/getopt_int.h (struct _getopt_data): Likewise.
20989         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
20990         * lib/vasnprintf.c (decode_long_double): Likewise.
20991         * tests/test-argmatch.c: Insert blank lines, for clarity.
20992         * tests/test-exclude.c: Likewise.
20993
20994 2011-02-22  Bruno Haible  <bruno@clisp.org>
20995
20996         ioctl: Fix for MacOS X in 64-bit mode.
20997         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
20998         value.
20999         Suggested by Eric Blake.
21000         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
21001
21002 2011-02-22  Jim Meyering  <meyering@redhat.com>
21003
21004         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
21005         * Makefile (sc_cpp_indent_check): Don't limit the check to files
21006         in lib/.
21007
21008 2011-02-22  Eric Blake  <eblake@redhat.com>
21009
21010         maint: avoid any CDPATH issue
21011         * Makefile (sc_cpp_indent_check): Anchor cd argument.
21012
21013         maint: adjust cpp indentation for my modules, as well
21014         * Makefile (sc_cpp_indent_check): Add my name.
21015         * lib/fbufmode.c: Filter through cppi.
21016         * lib/fpurge.c: Likewise.
21017         * lib/freadable.c: Likewise.
21018         * lib/freading.c: Likewise.
21019         * lib/fwritable.c: Likewise.
21020         * lib/fwriting.c: Likewise.
21021         * lib/sigaction.c: Likewise.
21022
21023 2011-02-22  Jim Meyering  <meyering@redhat.com>
21024
21025         maint: adjust cpp indentation to reflect nesting depth
21026         I.e., in a block of code that begins with an unnested "#if",
21027         put one space between the "#" in column 1 and following token.
21028         For example,
21029         -#include <sys/vfs.h>
21030         +# include <sys/vfs.h>
21031         Do this only in .c files that are part of a module I maintain.
21032         * lib/linkat.c: Filter through cppi.
21033         * lib/nanosleep.c: Likewise.
21034         * lib/openat.c: Likewise.
21035         * lib/openat-die.c: Likewise.
21036         * lib/dup3.c: Likewise.
21037         * lib/fchownat.c: Likewise.
21038         * lib/flock.c: Likewise.
21039         * lib/fsync.c: Likewise.
21040         * lib/fts.c: Likewise.
21041         * lib/getpass.c: Likewise.
21042         * lib/gettimeofday.c: Likewise.
21043         * lib/userspec.c: Likewise.
21044         * Makefile (sc_cpp_indent_check): New rule, to check this.
21045
21046 2011-02-22  Bruno Haible  <bruno@clisp.org>
21047
21048         New module 'wctomb'.
21049         * lib/stdlib.in.h (wctomb): New declaration.
21050         * lib/wctomb.c: New file.
21051         * lib/wctomb-impl.h: New file.
21052         * m4/wctomb.m4: New file.
21053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
21054         REPLACE_WCTOMB.
21055         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
21056         REPLACE_WCTOMB.
21057         * modules/wctomb: New file.
21058         * tests/test-stdlib-c++.cc: Test signature of wctomb.
21059         * doc/posix-functions/wctomb.texi: Mention the new module.
21060         * modules/wctob (Depends-on): Add wctomb.
21061
21062 2011-02-22  Bruno Haible  <bruno@clisp.org>
21063
21064         New module 'mbtowc'.
21065         * lib/stdlib.in.h (mbtowc): New declaration.
21066         * lib/mbtowc.c: New file.
21067         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
21068         * m4/mbtowc.m4: New file.
21069         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
21070         REPLACE_MBTOWC.
21071         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
21072         REPLACE_MBTOWC.
21073         * modules/mbtowc: New file.
21074         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
21075         * doc/posix-functions/mbtowc.texi: Mention the new module.
21076         * modules/btowc (Depends-on): Add mbtowc.
21077
21078 2011-02-22  Bruno Haible  <bruno@clisp.org>
21079
21080         wcrtomb: Add more tests for native Windows platforms.
21081         * tests/test-wcrtomb-w32-1.sh: New file.
21082         * tests/test-wcrtomb-w32-2.sh: New file.
21083         * tests/test-wcrtomb-w32-3.sh: New file.
21084         * tests/test-wcrtomb-w32-4.sh: New file.
21085         * tests/test-wcrtomb-w32-5.sh: New file.
21086         * tests/test-wcrtomb-w32.c: New file.
21087         * modules/wcrtomb-tests (Files): Add them.
21088         (Makefile.am): Arrange to run these tests.
21089         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
21090         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
21091
21092 2011-02-20  Bruno Haible  <bruno@clisp.org>
21093
21094         wcrtomb: Enhance test.
21095         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
21096
21097 2011-02-20  Bruno Haible  <bruno@clisp.org>
21098
21099         mbrtowc: Tiny optimization.
21100         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
21101
21102 2011-02-20  Jim Meyering  <meyering@redhat.com>
21103
21104         test-exclude.c: remove unmatched #endif
21105         * tests/test-exclude.c: Remove stray #endif, left over from
21106         the change of a week ago.
21107
21108 2011-02-19  Jim Meyering  <meyering@redhat.com>
21109
21110         git-version-gen: skip "-dirty" check when appropriate
21111         * build-aux/git-version-gen: Don't run any git commands when the
21112         version string comes from .tarball-version.  Prior to this, we
21113         would run git update-index --refresh even from a just-unpacked
21114         tarball directory, and that could affect a .git/ directory in a
21115         parent of the build directory.  Reported by Mike Frysinger.
21116
21117 2011-02-19  Bruno Haible  <bruno@clisp.org>
21118
21119         unictype/property-byname: Reduce the size of the 'data' segment.
21120         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
21121
21122 2011-02-19  Bruno Haible  <bruno@clisp.org>
21123
21124         unictype/scripts: Reduce the size of the 'data' segment.
21125         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
21126         '%pic'.
21127         * lib/unictype/scripts_byname.gperf: Regenerated.
21128
21129 2011-02-19  Bruno Haible  <bruno@clisp.org>
21130
21131         stdint: Update documentation.
21132         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
21133
21134 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
21135
21136         stdint: omit redundant check for wchar.h
21137         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
21138         always tests whether wchar.h exists, so remove the now-redundant test.
21139
21140 2011-02-18  Bruno Haible  <bruno@clisp.org>
21141
21142         stdint: Cut dependency to module 'wchar'.
21143         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
21144         include the necessary prerequisites.
21145         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
21146         * modules/stdint (Depends-on): Remove wchar.
21147         (Makefile.am): Substitute HAVE_WCHAR_H.
21148         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
21149
21150 2011-02-18  Eric Blake  <eblake@redhat.com>
21151
21152         longlong: skip, rather than fail, on cross-compilation
21153         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
21154         when cross-compiling; regression from 2011-02-16.
21155
21156 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21157
21158         * NEWS: Mention 2011-02-08 change to stdlib.
21159
21160 2011-02-17  Bruno Haible  <bruno@clisp.org>
21161
21162         getloadavg: Add comments about platforms.
21163         * m4/getloadavg.m4: Add comment.
21164         * lib/getloadavg.c: Likewise.
21165
21166 2011-02-17  Bruno Haible  <bruno@clisp.org>
21167
21168         getloadavg: Fix link error on Solaris 2.6.
21169         * modules/getloadavg (Link): New section.
21170         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
21171         linking test-getloadavg.
21172         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
21173         getloadavg.
21174
21175 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21176
21177         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
21178         It was 'int', but this doesn't match the IRIX 6.5 manual.
21179         Suggested by Bruno Haible in
21180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
21181
21182 2011-02-17  Bruno Haible  <bruno@clisp.org>
21183
21184         havelib: Fix comments.
21185         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
21186         change.
21187
21188 2011-02-17  Bruno Haible  <bruno@clisp.org>
21189
21190         havelib: Update config.rpath.
21191         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
21192
21193 2011-02-17  Bruno Haible  <bruno@clisp.org>
21194
21195         getloadavg test: Add some plausibility checks.
21196         * tests/test-getloadavg.c (check_avg): Print a warning when the value
21197         is improbable.
21198
21199 2011-02-16  Eric Blake  <eblake@redhat.com>
21200
21201         maintainer-makefile: make syntax-check a no-op from tarballs
21202         * top/maint.mk (no-vc-detected): New rule.
21203         (local-checks-available): Use it to avoid hanging if someone tries
21204         'make syntax-check' from a tarball.  Also append to any non-syntax
21205         checks already defined in cfg.mk.
21206
21207 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21208
21209         longlong: tune, particularly for common case of c99
21210
21211         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
21212         or running anything if c99, or if unsigned long long int does not
21213         work.  In either case, we know the answer without further tests.
21214         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
21215         it at most once, and use its results for both long long int and
21216         unsigned long long int.  This is more likely to be efficient in
21217         the common case where the program wants to check for both long
21218         long int and unsigned long long int.
21219         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
21220         since the answer is already known.
21221
21222 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
21223
21224         getloadavg: set errno
21225         * lib/getloadavg.c: Set errno when returning -1.  If no other
21226         error number looks appropriate, set it to ENOSYS if the getloadavg
21227         looks like it can't possibly ever work, ENOTSUP otherwise.
21228         Suggested by Bruno Haible in
21229         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
21230
21231         getloadavg: trim unused parts and speed up 'configure'
21232         * NEWS: Document this.
21233         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
21234         always compiled if getloadavg is absent.
21235         Move test code to ...
21236         * tests/test-getloadavg.c: New file, containing previous
21237         contents of test from lib/getloadavg.c.  It also contains
21238         suggestions by Bruno Haible in
21239         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
21240         * modules/getloadavg-tests: New file.
21241         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
21242         Do tests in the same order as they're needed for getloadavg.c.
21243         Omit setgid-related tests that generate symbols KMEM_GROUP,
21244         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
21245         Do only the tests that are needed to see whether the system has
21246         getloadavg, moving the other tests into ...
21247         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
21248         NLIST_NAME_UNION; nobody should be using it.  Do not define
21249         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
21250         relevant, as the user of this module shouldn't care how getloadavg
21251         is implemented.
21252
21253         getloadavg: omit unused var
21254         * lib/getloadavg.c (getloadavg): Omit unused local variable.
21255
21256 2011-02-15  Jim Meyering  <meyering@redhat.com>
21257
21258         doc: update users.txt
21259         * users.txt: Update iwhd's URL.
21260
21261 2011-02-13  Bruno Haible  <bruno@clisp.org>
21262
21263         Consistent macro naming for macros that use GCC __attribute__.
21264         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
21265         _ATTRIBUTE_NONNULL_.
21266         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
21267         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
21268         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
21269         ATTRIBUTE_DEPRECATED.
21270         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
21271         ATTRIBUTE_NORETURN.
21272         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21273         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21274         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21275         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21276         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
21277         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
21278         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
21279         ATTRIBUTE_SENTINEL.
21280         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
21281         ATTRIBUTE_RETURN_CHECK.
21282         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
21283         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
21284         ATTRIBUTE_NORETURN.
21285         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
21286         Reported by Paul Eggert.
21287
21288 2011-02-13  Bruno Haible  <bruno@clisp.org>
21289
21290         Don't interfere with a program's definition of __attribute__.
21291         * lib/argp.h (__attribute__): Remove definition.
21292         (_GL_ATTRIBUTE_FORMAT): New macro.
21293         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
21294         * lib/argp-fmtstream.h (__attribute__): Remove definition.
21295         (_GL_ATTRIBUTE_FORMAT): New macro.
21296         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
21297         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
21298         GCC 3 or newer.
21299         * lib/error.h (__attribute__): Remove definition.
21300         (_GL_ATTRIBUTE_FORMAT): New macro.
21301         (error, error_at_line): Use it.
21302         * lib/hash.h (__attribute__): Remove definition.
21303         (ATTRIBUTE_WUR): Update definition. Define always.
21304         * lib/openat.h (__attribute__): Remove definition.
21305         (ATTRIBUTE_NORETURN): Update definition. Define always.
21306         * lib/sigpipe-die.h (__attribute__): Remove definition.
21307         (ATTRIBUTE_NORETURN): Update definition. Define always.
21308         * lib/vasnprintf.h (__attribute__): Remove definition.
21309         (_GL_ATTRIBUTE_FORMAT): New macro.
21310         (asnprintf, vasnprintf): Use it.
21311         * lib/xalloc.h (__attribute__): Remove definition.
21312         (ATTRIBUTE_NORETURN): Update definition. Define always.
21313         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
21314         * lib/xmemdup0.h (__attribute__): Remove definition.
21315         (ATTRIBUTE_NORETURN): Update definition. Define always.
21316         * lib/xprintf.h (__attribute__): Remove definition.
21317         (_GL_ATTRIBUTE_FORMAT): New macro.
21318         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
21319         * lib/xstrtol.h (__attribute__): Remove definition.
21320         (ATTRIBUTE_NORETURN): Update definition. Define always.
21321         * lib/xvasprintf.h (__attribute__): Remove definition.
21322         (_GL_ATTRIBUTE_FORMAT): New macro.
21323         (xasprintf, xvasprintf): Use it.
21324         * tests/test-argmatch.c (__attribute__): Remove definition.
21325         (ATTRIBUTE_NORETURN): Update definition. Define always.
21326         * tests/test-exclude.c (__attribute__): Remove definition.
21327         (ATTRIBUTE_NORETURN): Update definition. Define always.
21328         Reported by Paul Eggert.
21329
21330 2011-02-13  Bruno Haible  <bruno@clisp.org>
21331
21332         mbrtowc: Add more tests for native Windows platforms.
21333         * tests/test-mbrtowc-w32-1.sh: New file.
21334         * tests/test-mbrtowc-w32-2.sh: New file.
21335         * tests/test-mbrtowc-w32-3.sh: New file.
21336         * tests/test-mbrtowc-w32-4.sh: New file.
21337         * tests/test-mbrtowc-w32-5.sh: New file.
21338         * tests/test-mbrtowc-w32.c: New file.
21339         * modules/mbrtowc-tests (Files): Add them.
21340         (Makefile.am): Arrange to run these tests.
21341         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
21342         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
21343
21344 2011-02-13  Bruno Haible  <bruno@clisp.org>
21345
21346         mbrtowc: Work around native Windows bug.
21347         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
21348         guess when no suitable locale for testing was found.
21349         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
21350
21351 2011-02-13  Bruno Haible  <bruno@clisp.org>
21352
21353         mbsinit: Work around mingw bug.
21354         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
21355         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
21356         Windows.
21357         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
21358
21359 2011-02-13  Bruno Haible  <bruno@clisp.org>
21360
21361         mbsinit: Don't crash for a NULL argument.
21362         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
21363         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
21364
21365 2011-02-13  Bruno Haible  <bruno@clisp.org>
21366
21367         Don't interfere with a program's definition of __attribute__.
21368         * lib/stdio.in.h (__attribute__): Remove definition.
21369         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
21370         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
21371         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
21372         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
21373         * lib/string.in.h (__attribute__): Remove definition.
21374         Reported by Paul Eggert.
21375
21376 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21377
21378         stdlib: don't get in the way of non-GCC __attribute__
21379         See thread starting at
21380         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
21381         Revert previous stdlib change, installing the following instead:
21382         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
21383         to get in the way of a non-GCC compiler that supports __attribute__.
21384         (_GL_ATTRIBUTE_RETURN): New macro.
21385         (_Exit): Use it instead of __attribute__.
21386
21387 2011-02-12  Bruno Haible  <bruno@clisp.org>
21388
21389         quotearg test: Avoid test failure on mingw.
21390         * tests/test-quotearg.sh: Convert the locale identifier from native
21391         Windows syntax to Unix syntax.
21392
21393 2011-02-12  Bruno Haible  <bruno@clisp.org>
21394
21395         setlocale: Prefer gnulib's override over libintl's override.
21396         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
21397         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
21398         GNULIB_defined_setlocale is set.
21399
21400 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21401
21402         stdlib: support non-GCC __attribute__
21403
21404         Fix a serious and tricky problem encountered when attempting to
21405         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
21406         5.5, but it crashed due to memory corruption on Solaris 10 with
21407         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
21408         bits that are otherwise zero.  This tagging is optional inside
21409         Emacs but is preferred and is used when __attribute__ ((__aligned
21410         (8))) works, as it does with both recent-enough GCC and with Sun C
21411         5.11.  However, Sun C 5.11 is not GCC and does not #define
21412         __GNUC__ and __GNUC_MINOR__.
21413
21414         When I added the getloadavg module to Emacs, it brought in
21415         stdlib.in.h, which contained this fragment:
21416
21417            #ifndef __attribute__
21418            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
21419            #  define __attribute__(Spec)   /* empty */
21420            # endif
21421            #endif
21422
21423         When files that include <stdlib.h> were compiled with Sun C 5.11,
21424         the above code disabled __attribute__ ((__aligned (8))), which
21425         caused variables to not be properly aligned, which eventually led
21426         to the pointer corruption mentioned above.  (This was a bit hard
21427         to diagnose, unfortunately.)
21428
21429         Several "#define __attribute__(X) /* empty */" code snippets need
21430         to be eradicated from Gnulib to work with non-GCC compilers that
21431         support __attribute__.  The Autoconf way to do this is to test for
21432         each kind of attribute that we want support for, and selectively
21433         enable that in source code.
21434
21435         Fix this problem just for stdlib.h, by adding a test for the
21436         __noreturn__ attribute, and change stdlib.in.h to use that test
21437         when needed.  This technique can be easily generalized to the
21438         other *.in.h files and attributes, and a similar technique can be
21439         used for *.h and *.c files.  This patch is enough to solve the
21440         problem for Emacs + getloadavg, and I thought I'd publish it for
21441         feedback before undertaking further, similar fixes in other
21442         modules.
21443
21444         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
21445         because it's not needed for stdlib.h.  It merely substitutes the
21446         value directly into stdlib.h.  We may well need to #define it, or
21447         similar symbols, for other modules, but it's nice to also have an
21448         option to not #define it for applications like Emacs that do not
21449         need it.
21450
21451         * lib/stdlib.in.h (__attribute__): Do not #define.
21452         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
21453         be defined only if the _Exit module is also used.
21454         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
21455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
21456         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
21457         platforms.
21458         * modules/_Exit (Files): Add m4/attribute.m4.
21459         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
21460         * m4/attribute.m4: New file.
21461
21462 2011-02-12  Bruno Haible  <bruno@clisp.org>
21463
21464         wcsrtombs: Work around bug on native Windows.
21465         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
21466         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
21467         instead of len.
21468         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
21469
21470 2011-02-12  Bruno Haible  <bruno@clisp.org>
21471
21472         mbsrtowcs: Work around bug on native Windows.
21473         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
21474         against mingw bug.
21475         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
21476
21477 2011-02-12  Bruno Haible  <bruno@clisp.org>
21478
21479         Avoid setlocale bugs in tests.
21480         * modules/btowc (Dependencies): Add setlocale.
21481         * modules/c-strcase (Dependencies): Likewise.
21482         * modules/mbmemcasecmp (Dependencies): Likewise.
21483         * modules/mbmemcasecoll (Dependencies): Likewise.
21484         * modules/mbrtowc (Dependencies): Likewise.
21485         * modules/mbscasecmp (Dependencies): Likewise.
21486         * modules/mbscasestr (Dependencies): Likewise.
21487         * modules/mbschr (Dependencies): Likewise.
21488         * modules/mbscspn (Dependencies): Likewise.
21489         * modules/mbsinit (Dependencies): Likewise.
21490         * modules/mbsncasecmp (Dependencies): Likewise.
21491         * modules/mbsnrtowcs (Dependencies): Likewise.
21492         * modules/mbspbrk (Dependencies): Likewise.
21493         * modules/mbspcasecmp (Dependencies): Likewise.
21494         * modules/mbsrchr (Dependencies): Likewise.
21495         * modules/mbsrtowcs (Dependencies): Likewise.
21496         * modules/mbsspn (Dependencies): Likewise.
21497         * modules/mbsstr (Dependencies): Likewise.
21498         * modules/nl_langinfo (Dependencies): Likewise.
21499         * modules/quotearg (Dependencies): Likewise.
21500         * modules/unicase/locale-language (Dependencies): Likewise.
21501         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
21502         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
21503         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
21504         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
21505         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
21506         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
21507         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
21508         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
21509         * modules/vasnprintf-posix (Dependencies): Likewise.
21510         * modules/wcrtomb (Dependencies): Likewise.
21511         * modules/wcsnrtombs (Dependencies): Likewise.
21512         * modules/wcsrtombs (Dependencies): Likewise.
21513
21514 2011-02-12  Bruno Haible  <bruno@clisp.org>
21515
21516         setlocale: Workaround native Windows bug.
21517         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
21518         succeeds but sets LC_CTYPE to "C", report a failure.
21519         * tests/test-setlocale2.sh: New file.
21520         * tests/test-setlocale2.c: New file.
21521         * modules/setlocale-tests (Files): Add the new files.
21522         (Makefile.am): Enable test-setlocale2.sh test.
21523         * doc/posix-functions/setlocale.texi: Mention workaround.
21524
21525 2011-02-11  Bruno Haible  <bruno@clisp.org>
21526
21527         Tests for module 'setlocale'.
21528         * modules/setlocale-tests: New file.
21529         * tests/test-setlocale1.sh: New file.
21530         * tests/test-setlocale1.c: New file.
21531
21532         New module 'setlocale'.
21533         * lib/locale.in.h (setlocale): New declaration.
21534         * lib/setlocale.c: New file, based on
21535         gettext/gettext-runtime/intl/setlocale.c.
21536         * m4/setlocale.m4: New file.
21537         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
21538         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
21539         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
21540         REPLACE_SETLOCALE.
21541         * modules/setlocale: New file.
21542         * tests/test-locale-c++.cc: Test the declaration of setlocale.
21543         * doc/posix-functions/setlocale.texi: Mention the new module.
21544
21545 2011-02-11  Bruno Haible  <bruno@clisp.org>
21546
21547         Prepare for locale dependent tests on mingw.
21548         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
21549         because it has the wrong locale encoding.
21550         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
21551         French_France.1252 instead of "fr".
21552         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
21553         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
21554         because it has the wrong locale encoding.
21555         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
21556         native Windows, try Turkish_Turkey.65001.
21557         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
21558         Chinese_China.54936.
21559
21560         Prepare for locale dependent tests on mingw.
21561         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
21562         differently.
21563         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
21564         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
21565         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
21566         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21567
21568 2011-02-11  Eric Blake  <eblake@redhat.com>
21569
21570         strptime: avoid compiler warnings
21571         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
21572         compiler warnings about dead code.
21573         Reported by Daniel P. Berrange.
21574
21575 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
21576
21577         doc: update users.txt
21578         * users.txt: Add rcs.
21579
21580 2011-02-10  John W. Eaton  <jwe@gnu.org>
21581
21582         doc: update users.txt
21583         * users.txt: Add octave.
21584
21585 2011-02-10  Jim Meyering  <meyering@redhat.com>
21586
21587         doc: update users.txt
21588         * users.txt: Add iwhd.
21589
21590 2011-02-09  Bruno Haible  <bruno@clisp.org>
21591
21592         gnulib-tool: Make copyright notice adjustment more robust.
21593         * gnulib-tool (func_import): In sed_transform_main_lib_file,
21594         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
21595         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
21596         License".
21597         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
21598
21599 2011-02-06  Bruno Haible  <bruno@clisp.org>
21600
21601         New module 'towctrans'.
21602         * modules/towctrans: New file.
21603         * lib/wctype.in.h (towctrans): New declaration.
21604         * lib/towctrans.c: New file.
21605         * lib/towctrans-impl.h: New file.
21606         * m4/towctrans.m4: New file.
21607         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
21608         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
21609         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
21610         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
21611         * doc/posix-functions/towctrans.texi: Mention the new module.
21612
21613 2011-02-06  Bruno Haible  <bruno@clisp.org>
21614
21615         New module 'wctrans'.
21616         * modules/wctrans: New file.
21617         * lib/wctype.in.h (wctrans): New declaration.
21618         * lib/wctrans.c: New file.
21619         * lib/wctrans-impl.h: New file.
21620         * m4/wctrans.m4: New file.
21621         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
21622         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
21623         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
21624         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
21625         * doc/posix-functions/wctrans.texi: Mention the new module.
21626
21627 2011-02-06  Bruno Haible  <bruno@clisp.org>
21628
21629         New module 'iswctype'.
21630         * modules/iswctype: New file.
21631         * lib/wctype.in.h (iswctype): New declaration.
21632         * lib/iswctype.c: New file.
21633         * lib/iswctype-impl.h: New file.
21634         * m4/iswctype.m4: New file.
21635         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
21636         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
21637         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
21638         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
21639         * doc/posix-functions/iswctype.texi: Mention the new module and the
21640         HP-UX 11.00 problem.
21641
21642 2011-02-06  Bruno Haible  <bruno@clisp.org>
21643
21644         New module 'wctype'.
21645         * modules/wctype: Change to represent the wctype() substitute.
21646         * lib/wctype.in.h (wctype): New declaration.
21647         * lib/wctype.c: New file.
21648         * lib/wctype-impl.h: New file.
21649         * m4/wctype.m4: New file.
21650         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
21651         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
21652         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
21653         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
21654         * doc/posix-functions/wctype.texi: Mention the new module and the
21655         HP-UX 11.00 problem.
21656
21657 2011-02-06  Bruno Haible  <bruno@clisp.org>
21658
21659         wctype-h: Ensure wctype_t and wctrans_t are defined.
21660         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
21661         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21662         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21663         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
21664         HAVE_WCTRANS_T.
21665         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
21666
21667 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
21668
21669         flock: fix license typo
21670
21671         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
21672         omitted.
21673
21674 2011-02-08  Bruno Haible  <bruno@clisp.org>
21675
21676         Split large sed scripts, for HP-UX sed.
21677         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
21678         to avoid HP-UX limit of 99 commands, in the near future.
21679         * modules/stdlib (Makefile.am): Likewise.
21680         * modules/unistd (Makefile.am): Likewise.
21681         * modules/wchar (Makefile.am): Likewise.
21682         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21683         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
21684         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
21685
21686 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21687             Bruno Haible  <bruno@clisp.org>
21688
21689         stdlib: improve random_r modularization
21690         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
21691         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
21692         you also need the random_r module to get this material right.
21693         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
21694         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
21695         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
21696
21697 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21698
21699         stdlib: don't depend on stdint
21700         * lib/stdlib.in.h: Don't include <stdint.h> merely because
21701         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
21702         be independent of whether stdint.h is needed.
21703         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
21704         here, instead of ...
21705         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
21706         struct random_data should be using the random_r module, not just
21707         the stdlib module (which wouldn't make sense: what package needs
21708         just struct random_data without also needing random_r?).
21709         * modules/stdlib (Depends-on): Remove stdint.
21710
21711         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
21712         See the thread rooted at
21713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
21714         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
21715         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
21716         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
21717         __VMS)); previously it was always included (via fcntl--.h).
21718         (getloadavg): Do not use c_strtod.  Instead, approximate it by
21719         hand; this is good enough for load averages.  Also, do not use
21720         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
21721         flags directly if available and don't bother otherwise.  (Packages
21722         that need the extra reliability should use the modules that define
21723         these flags on older platforms that lack them.)
21724         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
21725         fcntl-safer.
21726
21727 2011-02-08  Jim Meyering  <meyering@redhat.com>
21728
21729         di-set.h, ino-map.h: add multiple-inclusion guard
21730         Technically, the guard is required only for ino-map.h, due to its
21731         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
21732         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
21733         * lib/ino-map.h: Likewise.
21734
21735 2011-02-06  Bruno Haible  <bruno@clisp.org>
21736
21737         iswblank: Ensure declaration on glibc systems.
21738         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
21739         * modules/iswblank (Dependencies): Add 'extensions'.
21740         * doc/posix-functions/iswblank.texi: Document the glibc problem.
21741
21742 2011-02-06  Bruno Haible  <bruno@clisp.org>
21743
21744         New module 'iswblank'.
21745         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
21746         * modules/iswblank: New file.
21747         * modules/wctype-h (Files): Remove lib/iswblank.c.
21748         (Makefile.am): Substitute GNULIB_ISWBLANK.
21749         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
21750         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
21751         (gl_WCTYPE_H_DEFAULTS): New macro.
21752         (gl_WCTYPE_H): Require it. Remove iswblank related code.
21753         * modules/iswblank-tests: New file.
21754         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
21755         * tests/test-wctype-h.c (main): Remove iswblank tests.
21756         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
21757         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
21758         of 'wctype-h'.
21759         * NEWS: Mention the change.
21760         * modules/mbchar (Depends-on): Add iswblank.
21761
21762 2011-02-08  Bruno Haible  <bruno@clisp.org>
21763
21764         di-set tests: Refactor.
21765         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
21766         unnecessary includes.
21767         (ASSERT): Remove macro.
21768         (main): Make C90 compliant by avoiding variable declaration after
21769         statement.
21770         * modules/di-set-tests (Files): Add tests/macros.h.
21771
21772 2011-02-08  Bruno Haible  <bruno@clisp.org>
21773
21774         ino-map tests: Refactor.
21775         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
21776         unnecessary includes.
21777         (ASSERT): Remove macro.
21778         (main): Make C90 compliant by avoiding variable declaration after
21779         statement.
21780         * modules/ino-map-tests (Files): Add tests/macros.h.
21781
21782 2011-02-08  Jim Meyering  <meyering@redhat.com>
21783
21784         di-set: add "const" to a cast
21785         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
21786         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
21787
21788 2011-02-06  Bruno Haible  <bruno@clisp.org>
21789
21790         Rename module 'wctype' to 'wctype-h'.
21791         * modules/wctype-h: Renamed from modules/wctype.
21792         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
21793         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
21794         (Files, Depends-on, Makefile.am): Update.
21795         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
21796         (Files, Makefile.am): Update.
21797         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
21798         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
21799         * doc/posix-headers/wctype.texi: Update.
21800         * doc/posix-functions/iswalnum.texi: Update.
21801         * doc/posix-functions/iswalpha.texi: Update.
21802         * doc/posix-functions/iswblank.texi: Update.
21803         * doc/posix-functions/iswcntrl.texi: Update.
21804         * doc/posix-functions/iswdigit.texi: Update.
21805         * doc/posix-functions/iswgraph.texi: Update.
21806         * doc/posix-functions/iswlower.texi: Update.
21807         * doc/posix-functions/iswprint.texi: Update.
21808         * doc/posix-functions/iswpunct.texi: Update.
21809         * doc/posix-functions/iswspace.texi: Update.
21810         * doc/posix-functions/iswupper.texi: Update.
21811         * doc/posix-functions/iswxdigit.texi: Update.
21812         * doc/posix-functions/towlower.texi: Update.
21813         * doc/posix-functions/towupper.texi: Update.
21814         * NEWS: Mention the change.
21815         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
21816         * modules/mbchar (Dependencies): Likewise.
21817         * modules/mbswidth (Dependencies): Likewise.
21818         * modules/quotearg (Dependencies): Likewise.
21819         * modules/regex (Dependencies): Likewise.
21820         * modules/wcscasecmp (Dependencies): Likewise.
21821         * modules/wcsncasecmp (Dependencies): Likewise.
21822         * modules/wcwidth (Dependencies): Likewise.
21823
21824 2011-02-06  Bruno Haible  <bruno@clisp.org>
21825
21826         New module 'wcswidth'.
21827         * modules/wcswidth: New file.
21828         * lib/wchar.in.h (wcswidth): New declaration.
21829         * lib/wcswidth.c: New file.
21830         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
21831         * m4/wcswidth.m4: New file.
21832         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
21833         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
21834         REPLACE_WCSWIDTH.
21835         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
21836         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
21837         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
21838         * doc/posix-functions/wcswidth.texi: Mention the new module.
21839
21840 2011-02-06  Bruno Haible  <bruno@clisp.org>
21841
21842         New module 'wcstok'.
21843         * modules/wcstok: New file.
21844         * lib/wchar.in.h (wcstok): New declaration.
21845         * lib/wcstok.c: New file.
21846         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
21847         * m4/wcstok.m4: New file.
21848         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
21849         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
21850         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
21851         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
21852         * doc/posix-functions/wcstok.texi: Mention the new module.
21853
21854 2011-02-06  Bruno Haible  <bruno@clisp.org>
21855
21856         New module 'wcsstr'.
21857         * modules/wcsstr: New file.
21858         * lib/wchar.in.h (wcsstr): New declaration.
21859         * lib/wcsstr.c: New file.
21860         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
21861         * m4/wcsstr.m4: New file.
21862         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
21863         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
21864         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
21865         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
21866         * doc/posix-functions/wcsstr.texi: Mention the new module.
21867
21868 2011-02-06  Bruno Haible  <bruno@clisp.org>
21869
21870         New module 'wcspbrk'.
21871         * modules/wcspbrk: New file.
21872         * lib/wchar.in.h (wcspbrk): New declaration.
21873         * lib/wcspbrk.c: New file.
21874         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
21875         * m4/wcspbrk.m4: New file.
21876         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
21877         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
21878         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
21879         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
21880         * doc/posix-functions/wcspbrk.texi: Mention the new module.
21881
21882 2011-02-06  Bruno Haible  <bruno@clisp.org>
21883
21884         New module 'wcsspn'.
21885         * modules/wcsspn: New file.
21886         * lib/wchar.in.h (wcsspn): New declaration.
21887         * lib/wcsspn.c: New file.
21888         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
21889         * m4/wcsspn.m4: New file.
21890         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
21891         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
21892         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
21893         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
21894         * doc/posix-functions/wcsspn.texi: Mention the new module.
21895
21896 2011-02-06  Bruno Haible  <bruno@clisp.org>
21897
21898         New module 'wcscspn'.
21899         * modules/wcscspn: New file.
21900         * lib/wchar.in.h (wcscspn): New declaration.
21901         * lib/wcscspn.c: New file.
21902         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
21903         * m4/wcscspn.m4: New file.
21904         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
21905         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
21906         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
21907         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
21908         * doc/posix-functions/wcscspn.texi: Mention the new module.
21909
21910 2011-02-06  Bruno Haible  <bruno@clisp.org>
21911
21912         New module 'wcsrchr'.
21913         * modules/wcsrchr: New file.
21914         * lib/wchar.in.h (wcsrchr): New declaration.
21915         * lib/wcsrchr.c: New file.
21916         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
21917         * m4/wcsrchr.m4: New file.
21918         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
21919         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
21920         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
21921         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
21922         * doc/posix-functions/wcsrchr.texi: Mention the new module.
21923
21924 2011-02-06  Bruno Haible  <bruno@clisp.org>
21925
21926         New module 'wcschr'.
21927         * modules/wcschr: New file.
21928         * lib/wchar.in.h (wcschr): New declaration.
21929         * lib/wcschr.c: New file.
21930         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
21931         * m4/wcschr.m4: New file.
21932         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
21933         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
21934         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
21935         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
21936         * doc/posix-functions/wcschr.texi: Mention the new module.
21937
21938 2011-02-06  Bruno Haible  <bruno@clisp.org>
21939
21940         New module 'wcsdup'.
21941         * modules/wcsdup: New file.
21942         * lib/wchar.in.h (wcsdup): New declaration.
21943         * lib/wcsdup.c: New file.
21944         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
21945         * m4/wcsdup.m4: New file.
21946         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
21947         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
21948         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
21949         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
21950         * doc/posix-functions/wcsdup.texi: Mention the new module.
21951
21952 2011-02-06  Bruno Haible  <bruno@clisp.org>
21953
21954         New module 'wcsxfrm'.
21955         * modules/wcsxfrm: New file.
21956         * lib/wchar.in.h (wcsxfrm): New declaration.
21957         * lib/wcsxfrm.c: New file.
21958         * lib/wcsxfrm-impl.h: New file.
21959         * m4/wcsxfrm.m4: New file.
21960         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
21961         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
21962         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
21963         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
21964         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
21965
21966 2011-02-06  Bruno Haible  <bruno@clisp.org>
21967
21968         New module 'wcscoll'.
21969         * modules/wcscoll: New file.
21970         * lib/wchar.in.h (wcscoll): New declaration.
21971         * lib/wcscoll.c: New file.
21972         * lib/wcscoll-impl.h: New file.
21973         * m4/wcscoll.m4: New file.
21974         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
21975         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
21976         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
21977         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
21978         * doc/posix-functions/wcscoll.texi: Mention the new module.
21979
21980 2011-02-06  Bruno Haible  <bruno@clisp.org>
21981
21982         New module 'wcsncasecmp'.
21983         * modules/wcsncasecmp: New file.
21984         * lib/wchar.in.h (wcsncasecmp): New declaration.
21985         * lib/wcsncasecmp.c: New file.
21986         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
21987         * m4/wcsncasecmp.m4: New file.
21988         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
21989         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
21990         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
21991         HAVE_WCSNCASECMP.
21992         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
21993         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
21994
21995 2011-02-06  Bruno Haible  <bruno@clisp.org>
21996
21997         New module 'wcscasecmp'.
21998         * modules/wcscasecmp: New file.
21999         * lib/wchar.in.h (wcscasecmp): New declaration.
22000         * lib/wcscasecmp.c: New file.
22001         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
22002         * m4/wcscasecmp.m4: New file.
22003         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
22004         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
22005         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
22006         HAVE_WCSCASECMP.
22007         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
22008         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
22009
22010 2011-02-05  Bruno Haible  <bruno@clisp.org>
22011
22012         New module 'wcsncmp'.
22013         * modules/wcsncmp: New file.
22014         * lib/wchar.in.h (wcsncmp): New declaration.
22015         * lib/wcsncmp.c: New file.
22016         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
22017         * m4/wcsncmp.m4: New file.
22018         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
22019         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
22020         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
22021         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
22022         * doc/posix-functions/wcsncmp.texi: Mention the new module.
22023
22024 2011-02-05  Bruno Haible  <bruno@clisp.org>
22025
22026         New module 'wcscmp'.
22027         * modules/wcscmp: New file.
22028         * lib/wchar.in.h (wcscmp): New declaration.
22029         * lib/wcscmp.c: New file.
22030         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
22031         * m4/wcscmp.m4: New file.
22032         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
22033         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
22034         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
22035         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
22036         * doc/posix-functions/wcscmp.texi: Mention the new module.
22037
22038 2011-02-05  Bruno Haible  <bruno@clisp.org>
22039
22040         New module 'wcsncat'.
22041         * modules/wcsncat: New file.
22042         * lib/wchar.in.h (wcsncat): New declaration.
22043         * lib/wcsncat.c: New file.
22044         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
22045         * m4/wcsncat.m4: New file.
22046         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
22047         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
22048         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
22049         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
22050         * doc/posix-functions/wcsncat.texi: Mention the new module.
22051
22052 2011-02-05  Bruno Haible  <bruno@clisp.org>
22053
22054         New module 'wcscat'.
22055         * modules/wcscat: New file.
22056         * lib/wchar.in.h (wcscat): New declaration.
22057         * lib/wcscat.c: New file.
22058         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
22059         * m4/wcscat.m4: New file.
22060         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
22061         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
22062         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
22063         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
22064         * doc/posix-functions/wcscat.texi: Mention the new module.
22065
22066 2011-02-05  Bruno Haible  <bruno@clisp.org>
22067
22068         New module 'wcpncpy'.
22069         * modules/wcpncpy: New file.
22070         * lib/wchar.in.h (wcpncpy): New declaration.
22071         * lib/wcpncpy.c: New file.
22072         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
22073         * m4/wcpncpy.m4: New file.
22074         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
22075         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
22076         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
22077         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
22078         * doc/posix-functions/wcpncpy.texi: Mention the new module.
22079
22080 2011-02-05  Bruno Haible  <bruno@clisp.org>
22081
22082         New module 'wcsncpy'.
22083         * modules/wcsncpy: New file.
22084         * lib/wchar.in.h (wcsncpy): New declaration.
22085         * lib/wcsncpy.c: New file.
22086         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
22087         * m4/wcsncpy.m4: New file.
22088         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
22089         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
22090         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
22091         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
22092         * doc/posix-functions/wcsncpy.texi: Mention the new module.
22093
22094 2011-02-05  Bruno Haible  <bruno@clisp.org>
22095
22096         New module 'wcpcpy'.
22097         * modules/wcpcpy: New file.
22098         * lib/wchar.in.h (wcpcpy): New declaration.
22099         * lib/wcpcpy.c: New file.
22100         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
22101         * m4/wcpcpy.m4: New file.
22102         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
22103         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
22104         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
22105         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
22106         * doc/posix-functions/wcpcpy.texi: Mention the new module.
22107
22108 2011-02-05  Bruno Haible  <bruno@clisp.org>
22109
22110         New module 'wcscpy'.
22111         * modules/wcscpy: New file.
22112         * lib/wchar.in.h (wcscpy): New declaration.
22113         * lib/wcscpy.c: New file.
22114         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
22115         * m4/wcscpy.m4: New file.
22116         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
22117         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
22118         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
22119         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
22120         * doc/posix-functions/wcscpy.texi: Mention the new module.
22121
22122 2011-02-05  Bruno Haible  <bruno@clisp.org>
22123
22124         New module 'wcsnlen'.
22125         * modules/wcsnlen: New file.
22126         * lib/wchar.in.h (wcsnlen): New declaration.
22127         * lib/wcsnlen.c: New file.
22128         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
22129         * m4/wcsnlen.m4: New file.
22130         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
22131         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
22132         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
22133         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
22134         * doc/posix-functions/wcsnlen.texi: Mention the new module.
22135
22136 2011-02-05  Bruno Haible  <bruno@clisp.org>
22137
22138         New module 'wcslen'.
22139         * modules/wcslen: New file.
22140         * lib/wchar.in.h (wcslen): New declaration.
22141         * lib/wcslen.c: New file.
22142         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
22143         * m4/wcslen.m4: New file.
22144         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
22145         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
22146         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
22147         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
22148         * doc/posix-functions/wcslen.texi: Mention the new module.
22149
22150 2011-02-05  Bruno Haible  <bruno@clisp.org>
22151
22152         New module 'wmemset'.
22153         * modules/wmemset: New file.
22154         * lib/wchar.in.h (wmemset): New declaration.
22155         * lib/wmemset.c: New file.
22156         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
22157         * m4/wmemset.m4: New file.
22158         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
22159         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
22160         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
22161         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
22162         * doc/posix-functions/wmemset.texi: Mention the new module.
22163
22164 2011-02-05  Bruno Haible  <bruno@clisp.org>
22165
22166         New module 'wmemmove'.
22167         * modules/wmemmove: New file.
22168         * lib/wchar.in.h (wmemmove): New declaration.
22169         * lib/wmemmove.c: New file.
22170         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
22171         * m4/wmemmove.m4: New file.
22172         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
22173         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
22174         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
22175         HAVE_WMEMMOVE.
22176         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
22177         * doc/posix-functions/wmemmove.texi: Mention the new module.
22178
22179 2011-02-05  Bruno Haible  <bruno@clisp.org>
22180
22181         New module 'wmemcpy'.
22182         * modules/wmemcpy: New file.
22183         * lib/wchar.in.h (wmemcpy): New declaration.
22184         * lib/wmemcpy.c: New file.
22185         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
22186         * m4/wmemcpy.m4: New file.
22187         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
22188         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
22189         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
22190         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
22191         * doc/posix-functions/wmemcpy.texi: Mention the new module.
22192
22193 2011-02-05  Bruno Haible  <bruno@clisp.org>
22194
22195         New module 'wmemcmp'.
22196         * modules/wmemcmp: New file.
22197         * lib/wchar.in.h (wmemcmp): New declaration.
22198         * lib/wmemcmp.c: New file.
22199         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
22200         * m4/wmemcmp.m4: New file.
22201         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
22202         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
22203         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
22204         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
22205         * doc/posix-functions/wmemcmp.texi: Mention the new module.
22206
22207 2011-02-07  Jim Meyering  <meyering@redhat.com>
22208
22209         di-set, ino-map: new modules, from coreutils
22210         * lib/di-set.c: New file.
22211         * lib/di-set.h: Likewise.
22212         * lib/ino-map.c: Likewise.
22213         * lib/ino-map.h: Likewise.
22214         * modules/di-set: Likewise.
22215         * modules/di-set-tests: Likewise.
22216         * modules/ino-map: Likewise.
22217         * modules/ino-map-tests: Likewise.
22218         * tests/test-di-set.c: Likewise.
22219         * tests/test-ino-map.c: Likewise.
22220
22221 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
22222
22223         getloadavg: merge minor changes from Emacs
22224
22225         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
22226         (getloadavg): Use memset, not bzero.
22227
22228         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
22229         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
22230         clash (bug#86).
22231
22232 2010-11-14  Bruno Haible  <bruno@clisp.org>
22233
22234         Allow multiple gnulib generated replacements to coexist.
22235         * lib/getopt.in.h (struct option): Avoid identical redefinition.
22236         * lib/inttypes.in.h (imaxdiv_t): Likewise.
22237         * lib/langinfo.in.h (nl_item): Likewise.
22238         * lib/math.in.h (_NaN, NAN): Likewise.
22239         * lib/netdb.in.h (struct addrinfo): Likewise.
22240         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
22241         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
22242         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
22243         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
22244         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
22245         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
22246         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
22247         pthread_mutexattr_init, pthread_mutexattr_settype,
22248         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
22249         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
22250         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
22251         pthread_spin_trylock, pthread_spin_unlock): Likewise.
22252         * lib/sched.in.h (struct sched_param): Likewise.
22253         * lib/se-selinux.in.h (security_class_t, security_context_t,
22254         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
22255         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
22256         lsetfilecon, fsetfilecon, security_check_context,
22257         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
22258         Likewise.
22259         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
22260         Likewise.
22261         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
22262         _gl_function_taking_int_returning_void_t, union sigval,
22263         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
22264         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
22265         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22266         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
22267         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
22268         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
22269         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
22270         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
22271         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
22272         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
22273         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
22274         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
22275         socklen_t, rpl_fd_isset): Likewise.
22276         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
22277         * lib/sys_time.in.h (struct timeval): Likewise.
22278         * lib/sys_times.in.h (struct tms): Likewise.
22279         * lib/sys_utsname.in.h (struct utsname):
22280         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
22281         * lib/unistd.in.h (getpagesize): Likewise.
22282         * lib/wchar.in.h (mbstate_t): Likewise.
22283         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
22284         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
22285         towlower, towupper): Likewise.
22286         Reported by Sam Steingold <sds@gnu.org>.
22287
22288 2011-02-05  Eric Blake  <eblake@redhat.com>
22289
22290         unsetenv: work around Haiku issues
22291         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
22292         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
22293
22294 2010-12-30  Bruce Korb  <bkorb@gnu.org>
22295
22296         libposix: avoid calling error() within libposix
22297         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
22298         is defined.
22299
22300 2011-02-05  Eric Blake  <eblake@redhat.com>
22301
22302         strerror_r-posix: port to cygwin
22303         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
22304         implementation.
22305         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
22306         * tests/test-strerror_r.c (main): Fix test.
22307         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
22308         issue.
22309
22310 2011-02-05  Bruno Haible  <bruno@clisp.org>
22311
22312         New module 'wmemchr'.
22313         * modules/wmemchr: New file.
22314         * lib/wchar.in.h (wmemchr): New declaration.
22315         * lib/wmemchr.c: New file.
22316         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
22317         * m4/wmemchr.m4: New file.
22318         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
22319         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
22320         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
22321         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
22322         * doc/posix-functions/wmemchr.texi: Mention the new module.
22323
22324 2011-02-04  Eric Blake  <eblake@redhat.com>
22325
22326         fdopendir: detect FreeBSD bug
22327         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
22328         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
22329
22330 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
22331
22332         stdbool: do not define HAVE_STDBOOL_H
22333         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
22334         AC_HEADER_STDBOOL.  All uses changed.  Do not define
22335         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
22336         imported from the latest Autoconf git.  It was motivated by Emacs,
22337         which uses gnulib but does not need HAVE_STDBOOL_H.
22338
22339 2011-02-04  Bruno Haible  <bruno@clisp.org>
22340
22341         wcsnrtombs: Prepare for new module wwcsnrtombs.
22342         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
22343         * lib/wcsnrtombs.c: Include it.
22344         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
22345
22346         wcsrtombs: Prepare for new module wwcsrtombs.
22347         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
22348         * lib/wcsrtombs.c: Include it.
22349         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
22350
22351         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
22352         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
22353         * lib/mbsnrtowcs.c: Include it.
22354         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
22355
22356         mbsrtowcs: Prepare for new module mbsrtowwcs.
22357         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
22358         * lib/mbsrtowcs.c: Include it.
22359         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
22360
22361 2011-02-04  Bruno Haible  <bruno@clisp.org>
22362
22363         vasnprintf: Reduce use of malloc for small format strings.
22364         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
22365         (arguments): Add room for the first 7 arguments.
22366         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
22367         (char_directives, u8_directives, u16_directives, u32_directives): Add
22368         room for the first 7 directives.
22369         * lib/printf-parse.c: Include <string.h>.
22370         (PRINTF_PARSE): Change memory handling code so that it uses the first
22371         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
22372         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
22373         Reported by Pádraig Brady <P@draigbrady.com>.
22374
22375 2011-01-31  Eric Blake  <eblake@redhat.com>
22376
22377         dup2: work around Haiku bug
22378         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
22379         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
22380         * doc/posix-functions/dup2.texi (dup2): Document the bug.
22381         * tests/test-dup2.c (main): Enhance test.
22382
22383 2011-01-31  Simon Josefsson  <simon@josefsson.org>
22384
22385         doc: off_t is not available in eglibc 2.11.2 stdio.h.
22386         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
22387         declared by eglibc 2.11.2.
22388         * lib/stdio.in.h: Likewise.
22389
22390 2011-01-31  Eric Blake  <eblake@redhat.com>
22391
22392         ignore-value: add missing test dependency
22393         * tests/test-ignore-value.c: Revert previous change; stdio.h
22394         provides off_t.
22395         * modules/ignore-value-tests (Depends-on): Add missing dependency.
22396
22397 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
22398
22399         mktime: clarify long_int width checking
22400         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
22401         the top level, to make it clearer that the assumption about
22402         long_int width is being checked.  See
22403         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
22404
22405 2011-01-30  Simon Josefsson  <simon@josefsson.org>
22406
22407         ignore-value: Fix self-test.
22408         * tests/test-ignore-value.c: Include sys/types.h for off_t.
22409
22410 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
22411
22412         TYPE_MAXIMUM: avoid theoretically undefined behavior
22413         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
22414         negative number, which the C Standard says has undefined behavior.
22415         In practice this is not a problem, but might as well do it by the book.
22416         Reported by Rich Felker and Eric Blake; see
22417         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
22418         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
22419         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22420         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22421         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
22422         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22423         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
22424
22425         mktime: #undef mktime before #defining it
22426         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
22427
22428         mktime: systematically normalize tm_isdst comparisons
22429         * lib/mktime.c (isdst_differ): New function.
22430         (__mktime_internal): Use it systematically for all isdst comparisons.
22431         This completes the fix for libc BZ #6723, and removes the need for
22432         normalizing tm_isdst.  See
22433         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
22434         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
22435
22436         mktime: fix some integer overflow issues and sidestep the rest
22437
22438         This was prompted by a bug report by Benjamin Lindner for MinGW
22439         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
22440         His bug is due to signed integer overflow (0 - INT_MIN), and I
22441         I scanned through mktime.c looking for other integer overflow
22442         problems, fixing all the bugs I found.
22443
22444         Although the C Standard says the resulting code is still not safe
22445         in the presence of integer overflow, in practice it should be good
22446         enough for all real-world two's-complement implementations, except
22447         for debugging environments that deliberately trap on integer
22448         overflow (e.g., gcc -ftrapv).
22449
22450         * lib/mktime.c (WRAPV): New macro.
22451         (SHR): Also check that long_int and time_t shift right in the
22452         usual way, before using the fast-but-unportable method.
22453         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
22454         used.  The code already assumed two's complement, so there's
22455         no need to test for alternatives.  All uses removed.
22456         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
22457         the C standard.  Problem reported by Rich Felker in
22458         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
22459         (twos_complement_arithmetic): Also check long_int and time_t.
22460         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
22461         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
22462         (__mktime_internal): Avoid integer overflow with unary subtraction
22463         in two instances where -1 - X is an adequate replacement for -X,
22464         since the calculations are approximate.
22465
22466 2011-01-29  Eric Blake  <eblake@redhat.com>
22467
22468         mktime: avoid infinite loop
22469         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
22470         type; behavior is still undefined but portable to all known targets.
22471         Reported by Rich Felker.
22472
22473 2011-01-29  Simon Josefsson  <simon@josefsson.org>
22474
22475         rename, unlink, same-inode: Relicense.
22476         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
22477         * modules/unlink (License): Likewise.
22478         * modules/same-inode (License): Likewise.
22479
22480 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
22481
22482         mktime: avoid problems on NetBSD 5 / i386
22483         * lib/mktime.c (long_int): New type.  This works around a problem
22484         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
22485         but time_t is 64 bits, and where I expect the existing code is
22486         wrong in some cases.
22487         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
22488         (ydhms_diff): Bring back the compile-time check for wide-enough
22489         year and yday.
22490
22491         mktime: fix misspelling in comment
22492         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
22493         This merges all recent glibc changes of importance.
22494
22495 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22496
22497         move-if-change: cope with concurrent mv of identical file.
22498         * build-aux/move-if-change (CMPPROG): Accept environment
22499         variable as an override for `cmp'.
22500         (usage): Document CMPPROG.
22501         Adjust comparison to drop stdout.  Cope with failure of mv if
22502         the target file exists and is identical to the source, for
22503         parallel builds.
22504         Report from H.J. Lu against binutils in PR binutils/12283.
22505
22506 2011-01-28  Bruce Korb  <bkorb@gnu.org>
22507
22508         * users.txt: Mention sharutils.
22509
22510 2011-01-28  Simon Josefsson  <simon@josefsson.org>
22511
22512         * users.txt: Mention OATH Toolkit.
22513
22514 2011-01-27  Bruno Haible  <bruno@clisp.org>
22515
22516         Prepare for supporting FreeBSD 10.
22517         * build-aux/config.libpath: Remove handling of freebsd1*.
22518
22519 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
22520
22521         Prepare for supporting FreeBSD 10.
22522         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
22523         match FreeBSD 10.0.
22524
22525 2011-01-27  Bruno Haible  <bruno@clisp.org>
22526
22527         vma-iter, get-rusage-as: Add OpenBSD support.
22528         * modules/vma-iter (configure.ac): Test for mquery.
22529         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
22530         * lib/vma-iter.c: Include <sys/mman.h>.
22531         (vma_iterate): Add an implementation based on mquery().
22532         * lib/resource-ext.h (get_rusage_as): Update comments.
22533         * lib/get-rusage-as.c: Likewise.
22534         * lib/get-rusage-data.c: Likewise.
22535
22536 2011-01-26  Karl Berry  <karl@gnu.org>
22537
22538         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
22539         variables to make it easier to override the makeinfo program used.
22540
22541 2011-01-26  Eric Blake  <eblake@redhat.com>
22542
22543         fcntl: work around Haiku F_DUPFD bugs
22544         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
22545         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
22546         cloexec bit on duplication.
22547         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
22548
22549 2011-01-26  Bruno Haible  <bruno@clisp.org>
22550
22551         Enable memory leak tests on AIX.
22552         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
22553         * tests/test-fprintf-posix3.c (main): Likewise.
22554
22555 2011-01-26  Bruno Haible  <bruno@clisp.org>
22556
22557         Tests for module 'get-rusage-data'.
22558         * modules/get-rusage-data-tests: New file.
22559         * tests/test-get-rusage-data.c: New file.
22560
22561         New module 'get-rusage-data'.
22562         * lib/resource-ext.h (get_rusage_data): New declaration.
22563         * lib/get-rusage-data.c: New file.
22564         * modules/get-rusage-data: New file.
22565
22566 2011-01-25  Bruno Haible  <bruno@clisp.org>
22567
22568         get-rusage-as: Allow for easier testing.
22569         * lib/resource-ext.h (get_rusage_as): Add comment.
22570         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
22571         (main): New function for interactive testing.
22572
22573 2011-01-25  Bruno Haible  <bruno@clisp.org>
22574
22575         vma-iter: Treat Haiku like BeOS.
22576         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
22577         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
22578
22579 2011-01-25  Eric Blake  <eblake@redhat.com>
22580
22581         c-stack: fix regression on cygwin when libsigsegv is present
22582         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
22583
22584 2011-01-24  Bruno Haible  <bruno@clisp.org>
22585
22586         vma-iter: Avoid empty intervals.
22587         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
22588         on an empty interval.
22589
22590 2011-01-24  Jim Meyering  <meyering@redhat.com>
22591
22592         u64: remove unnecessary #include
22593         * lib/u64.h: Don't include <stddef.h>.  It was not used.
22594
22595 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
22596
22597         Allow the user to avoid the HAVE_RAW_DECL_* macros.
22598         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
22599
22600 2011-01-23  Bruno Haible  <bruno@clisp.org>
22601
22602         New module 'vma-iter'.
22603         * lib/vma-iter.h: New file.
22604         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
22605         * modules/vma-iter: New file.
22606         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
22607         for get_rusage_as_via_iterator.
22608         (vma_iterate_callback): New function.
22609         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
22610         * modules/get-rusage-as (Depends-on): Add vma-iter.
22611
22612 2011-01-23  Bruno Haible  <bruno@clisp.org>
22613
22614         uninorm: Tweak includes.
22615         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
22616         Reported by Jim Meyering.
22617
22618 2011-01-23  Bruno Haible  <bruno@clisp.org>
22619
22620         get-rusage-as: Improve on NetBSD.
22621         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
22622         /proc, like on FreeBSD.
22623
22624 2011-01-23  Jim Meyering  <meyering@redhat.com>
22625
22626         xreadlink.h: remove unnecessary #include
22627         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
22628
22629         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
22630         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
22631
22632 2011-01-23  Bruno Haible  <bruno@clisp.org>
22633
22634         get-rusage-as: Fix bug.
22635         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
22636         original limit when aborting the first loop.
22637
22638 2011-01-23  Bruno Haible  <bruno@clisp.org>
22639
22640         wctype: Ensure valid C syntax.
22641         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
22642         unconditionally, instead of gl_NEXT_HEADERS conditionally.
22643
22644 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
22645
22646         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
22647         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
22648         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
22649         as they are needed only for configure's test case.
22650         This removes two unnecessary symbols from config.h.
22651
22652         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
22653         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
22654         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
22655         AC_CHECK_HEADERS_ONCE on a header that we also invoke
22656         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
22657         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
22658         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
22659         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
22660         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22661         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22662         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22663         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22664         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22665         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22666         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
22667         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22668         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22669         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22670
22671 2011-01-21  Eric Blake  <eblake@redhat.com>
22672
22673         maintainer-makefile: work with older git for submodule check
22674         * top/maint.mk (public-submodule-commit): Rewrite to avoid
22675         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
22676         Reported by Matthias Bolte.
22677
22678         bootstrap: minor portability fixes
22679         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
22680         (usage): Omit leading capital and trailing . on help phrases, per
22681         GNU Coding Standards.
22682         (check_versions, top level): Prefix messages with script name.
22683
22684 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
22685
22686         bootstrap: support --no-git option
22687         * build-aux/bootstrap: Add --no-git option, to be used when
22688         --gnulib-srcdir points to the exact desired checkout.
22689
22690 2011-01-21  Eric Blake  <eblake@redhat.com>
22691
22692         strerror_r-posix: work with glibc 2.13
22693         * lib/strerror_r.c (strerror_r): Fix return type.
22694
22695 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22696             Bruno Haible  <bruno@clisp.org>
22697
22698         uN_strstr: New unit tests.
22699         * modules/unistr/u8-strstr-tests: New file.
22700         * modules/unistr/u16-strstr-tests: New file.
22701         * modules/unistr/u32-strstr-tests: New file.
22702         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
22703         * tests/unistr/test-u8-strstr.c: New file.
22704         * tests/unistr/test-u16-strstr.c: New file.
22705         * tests/unistr/test-u32-strstr.c: New file.
22706
22707 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22708             Bruno Haible  <bruno@clisp.org>
22709
22710         Make uN_strstr functions O(n) worst-case.
22711         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
22712         16-bit and 32-bit unit cases, use the unibyte algorithm from
22713         lib/mbsstr.c.
22714         * lib/unistr/u8-strstr.c: Include <string.h>.
22715         (UNIT_IS_UINT8_T): New macro.
22716         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
22717         (U_STRLEN, U_STRNLEN): New macros.
22718         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
22719         (U_STRLEN, U_STRNLEN): New macros.
22720         * modules/unistr/u8-strstr (Depends-on): Add strstr.
22721         (configure.ac): Update required libunistring version.
22722         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
22723         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
22724         malloca.
22725         (configure.ac): Update required libunistring version.
22726         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
22727         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
22728         malloca.
22729         (configure.ac): Update required libunistring version.
22730
22731 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22732             Bruno Haible  <bruno@clisp.org>
22733
22734         Prepare for faster uN_strstr functions.
22735         * lib/str-kmp.h: Support definable UNITs.
22736         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
22737         needle_len argument.
22738         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
22739         * lib/mbscasestr.c (mbscasestr): Likewise.
22740
22741 2011-01-21  Pádraig Brady <P@draigBrady.com>
22742
22743         malloca-tests: make faster by unsetting MALLOC_PERTURB_
22744         * tests/test-malloca.c (main): Unset the environment variable
22745         to greatly speed up the test.
22746         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
22747         * modules/malloca-tests: Depend on unsetenv.
22748
22749 2011-01-21  Pádraig Brady <P@draigBrady.com>
22750
22751         ignore-value: remove stdint dependency
22752         * lib/ignore-value.h: Remove <stdint.h>
22753         * modules/ignore-value: Remove stdint dependency.
22754
22755 2011-01-21  Jim Meyering  <meyering@redhat.com>
22756
22757         maint.mk: adjust variable name to be consistent with other gl_ vars
22758         * top/maint.mk (gl_public_submodule_commit): Rename the variable
22759         to be lower case.
22760
22761 2011-01-20  Jim Meyering  <meyering@redhat.com>
22762
22763         maint.mk: make "check" depend on public-submodule-commit by default
22764         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
22765
22766 2011-01-20  Bruno Haible  <bruno@clisp.org>
22767
22768         mbfile, mbiter: Complete change from 2008-12-21.
22769         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
22770         * m4/mbiter.m4 (gl_MBITER): Likewise.
22771
22772 2011-01-20  Jim Meyering  <meyering@redhat.com>
22773
22774         init.sh: insert space between each function name and "()"
22775         * tests/init.sh: Make it a little easier to see that a function's
22776         name is "warn_", and not "warn" when looking at the first part of
22777         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
22778
22779 2011-01-20  Jim Meyering  <meyering@redhat.com>
22780
22781         mountlist: clean up code formatting
22782         * lib/mountlist.c (read_file_system_list): Split a long line,
22783         correct bracing style, use NULL in place of "(struct statfs *)0",
22784         don't parenthesize return value, add spaces around "=" and after
22785         ";-in-for-stmt".
22786
22787 2011-01-14  Markus Duft <mduft@gentoo.org>
22788
22789         mountlist: add support for Interix
22790         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
22791         Apply statvfs to all entries of /dev/fs.
22792         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
22793         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
22794
22795 2011-01-20  Jim Meyering  <meyering@redhat.com>
22796
22797         maint.mk: improve the public-submodule-commit rule
22798         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
22799         to suppress printing of its commands... unless V=1.
22800         Add git submodule's --quiet option to suppress printing of e.g.,
22801         "Entering gnulib" output.
22802         "cd" into $(srcdir) before running git submodule.
22803
22804 2011-01-20  Bruno Haible  <bruno@clisp.org>
22805
22806         include_next: Fix bug introduced on 2011-01-18.
22807         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
22808         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
22809         ac_cv_header_... variable if the second argument is not 'check'.
22810         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
22811         gl_NEXT_HEADERS_INTERNAL.
22812
22813 2011-01-20  Bruno Haible  <bruno@clisp.org>
22814
22815         Allow the user to avoid the GNULIB_TEST_* macros.
22816         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
22817         Suggested by Paul Eggert.
22818
22819 2011-01-14  Jim Meyering  <meyering@redhat.com>
22820
22821         bootstrap: avoid failure when there is no .gitmodules file
22822         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
22823         has been assigned to, even when its value is the empty string.
22824         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
22825         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
22826         Reported by John W. Eaton <jwe@gnu.org>.
22827
22828 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
22829
22830         assume <ctype.h>, ..., <time.h> exist
22831         For years gnulib has been assuming the existence of the headers
22832         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
22833         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
22834         them, since they don't appear to be needed.
22835         * README (Portability guidelines): Document this.
22836         * lib/flock.c: Assume <fcntl.h> exists.
22837         * lib/regex_internal.h: Assume <locale.h> exists.
22838         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
22839         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
22840         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
22841         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
22842         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
22843         * m4/regex.m4 (gl_REGEX): Likewise.
22844         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
22845         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
22846         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
22847         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
22848         * tests/test-argp.c: Likewise.
22849         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
22850
22851         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
22852         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
22853         AA_APPLE_UNIVERSAL_BUILD.  See
22854         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
22855         * NEWS: Document this.
22856
22857 2011-01-19  Eric Blake  <eblake@redhat.com>
22858
22859         c-stack: assume stack overflow if SA_SIGINFO unsupported
22860         * lib/c-stack.c (SIGACTION_WORKS): Rename...
22861         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
22862         sigaction will work.
22863         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
22864         behavior match Linux.
22865         * tests/test-c-stack.c (main): Prefer NULL for pointers.
22866
22867         stdbool-tests: accommodate Haiku
22868         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
22869
22870         binary-io: fix O_TEXT on Haiku
22871         * modules/binary-io (Depends-on): Add fcntl-h.
22872         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
22873         than blindly undefining O_TEXT.
22874         Reported by Scott McCreary.
22875
22876 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22877
22878         include_next: do not check for standard headers like stddef.h
22879
22880         I found this problem when modifying Emacs to use gnulib.
22881         I noticed that it added HAVE_STDDEF_H to config.h, even though
22882         gnulib always assumes <stddef.h> exists as per README and this
22883         symbol is unnecessary.
22884         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
22885         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
22886         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
22887         faster for headers like stddef.h that are known to exist.
22888         (gl_CHECK_NEXT_HEADERS): Use it.
22889         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
22890         rather than gl_CHECK_NEXT_HEADERS.
22891         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
22892         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
22893
22894 2011-01-18  Eric Blake  <eblake@redhat.com>
22895
22896         ansi-c++-opt: skip C++ dependency style if C++ is unused
22897         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
22898         tests when we know C++ compilation is not desired.
22899         Reported by Scott McCreary.
22900
22901 2011-01-18  Bruno Haible  <bruno@clisp.org>
22902
22903         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
22904         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
22905         (main): Perform test also when getrlimit and setrlimit don't exist or
22906         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
22907         limiting the address space size using setrlimit, compare the address
22908         space size before and after the the test.
22909         * tests/test-dprintf-posix2.c: Likewise.
22910         * tests/test-fprintf-posix3.sh: Update skip messages.
22911         * tests/test-dprintf-posix2.sh: Likewise.
22912         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
22913         * modules/dprintf-posix-tests (Depends-on): Likewise.
22914         Reported by Bruce Korb <bkorb@gnu.org> and
22915         Gary V. Vaughan <gary@gnu.org>.
22916
22917 2011-01-18  Bruno Haible  <bruno@clisp.org>
22918
22919         get-rusage-as: Improvement for Cygwin.
22920         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
22921         areas that are merely reserved.
22922
22923 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22924
22925         strftime: remove dependencies on multibyte modules
22926
22927         strftime depended on mbrlen, mbsinit, and wchar, but these modules
22928         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
22929         only if __osf__ is defined, and I suspect OSF doesn't need these
22930         other modules.  If my guess is wrong, we'll need to come up with a
22931         variant of strftime that doesn't need the multibyte modules.
22932
22933         I discovered this problem when attempting modify Emacs to use the
22934         strftime module.  With the previous gnulib, this caused Emacs to
22935         need 31 new files, ranging from lib/config.charset to
22936         m4/wint_t.m4.  This was overkill and I expect would be offputting
22937         to the Emacs maintainers.  After this change, only 6 new files are
22938         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
22939         stdbool.m4, and tm_gmtoff.m4.
22940
22941         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
22942         Suggested by Bruno Haible in
22943         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
22944         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
22945         and do not check for wchar.h.
22946         * modules/strftime (Files): Remove m4/mbstate_t.m4.
22947         (Depends-on): Remove mbrlen, mbsinit, wchar.
22948
22949 2011-01-18  Bruno Haible  <bruno@clisp.org>
22950
22951         Tests for module 'get-rusage-as'.
22952         * modules/get-rusage-as-tests: New file.
22953         * tests/test-get-rusage-as.c: New file.
22954
22955         New module 'get-rusage-as'.
22956         * modules/get-rusage-as: New file.
22957         * lib/resource-ext.h: New file.
22958         * lib/get-rusage-as.c: New file.
22959
22960 2011-01-17  Eric Blake  <eblake@redhat.com>
22961
22962         sigaction: relax license from LGPLv3+ to LGPLv2+
22963         * modules/sigaction (License): Relax to LGPLv2+.
22964
22965 2011-01-14  Bruno Haible  <bruno@clisp.org>
22966
22967         filemode: Make function declarations usable in C++ mode.
22968         * lib/filemode.h: Enclose function declarations in extern "C" block.
22969         Reported by John W. Eaton <jwe@gnu.org>.
22970
22971 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
22972
22973         save-cwd: no longer include "xgetcwd.h"
22974         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
22975         This avoids a compilation failure in projects that use save-cwd
22976         without also using the xgetcwd module.
22977
22978 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22979
22980         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
22981         This is so that a program like Emacs, which needs only dtoastr,
22982         does not have to bother with distributing and compiling ftoastr
22983         and ldtoastr.
22984         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
22985         * modules/dtoastr, modules/ldtoastr: New files.
22986         * modules/ftoastr: Now works just for 'float'.
22987         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
22988         (Makefile.am): Remove ftoastr.h (not needed and no effect),
22989         dtoastr.c, ldtoastr.c.
22990
22991 2011-01-11  Jim Meyering  <meyering@redhat.com>
22992
22993         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
22994         There is no need to work around the lack of the fchdir function,
22995         since gnulib can now provide a replacement when required.
22996         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
22997         * modules/save-cwd (Depends-on): Add fchdir.
22998
22999 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23000
23001         openat, save-cwd: avoid xmalloc
23002
23003         This removes a direct (but undocumented) dependency of openat on
23004         xalloc, along with an indirect dependency via save-cwd.  It also
23005         removes a dependency of save-cwd on xgetcwd, and thereby
23006         indirectly on xalloc.  This change causes the openat substitute
23007         to fall back on save_cwd when memory is tight, and for save_cwd to
23008         fail instead of dying when memory is tight, but that's good enough.
23009         Problem and initial idea for fix reported by Bastien Roucaries in
23010         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
23011
23012         * lib/openat-proc.c: Include stdlib.h (for malloc), not
23013         xalloc.h (for xmalloc).
23014         (openat_proc_name): Use malloc, not xmalloc.
23015         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
23016         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
23017
23018         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
23019         This avoids heap allocation for file names whose lengths are in
23020         the range 512..1023, with the upper bound increasing to at most
23021         4031 depending on the platform's PATH_MAX.  (We do not want
23022         pathmax.h here as it might supply a non-constant PATH_MAX.)
23023         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
23024         Perhaps they should be moved to malloca.h?
23025         (OPENAT_BUFFER_SIZE): Use them.
23026
23027 2011-01-10  Bruno Haible  <bruno@clisp.org>
23028
23029         doc: Update users.txt.
23030         * users.txt: Add recutils.
23031
23032 2011-01-09  Karl Berry  <karl@gnu.org>
23033
23034         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
23035
23036         * doc/configmake.texi: New file.
23037         * doc/gnulib.texi: Include it.
23038         * modules/configmake: Move documentation from here.
23039
23040 2011-01-09  Bruno Haible  <bruno@clisp.org>
23041
23042         Update to Unicode 6.0.0.
23043         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
23044         (get_lbp): Update for Unicode 6.0.0.
23045         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
23046         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
23047         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
23048         U+11001, U+11038..U+11046. Remove U+06DE.
23049         (uc_width): Fix bounds of planes.
23050         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23051         lib/uniwidth/width.c.
23052         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
23053         trailing whitespace removed.
23054         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
23055         without comments, but with the original copyright notice.
23056         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
23057         * lib/unicase/ignorable.h: Likewise.
23058         * lib/unicase/tocasefold.h: Likewise.
23059         * lib/unicase/tolower.h: Likewise.
23060         * lib/unicase/totitle.h: Likewise.
23061         * lib/unicase/toupper.h: Likewise.
23062         * lib/unictype/bidi_of.h: Likewise.
23063         * lib/unictype/blocks.h: Likewise.
23064         * lib/unictype/categ_C.h: Likewise.
23065         * lib/unictype/categ_Cn.h: Likewise.
23066         * lib/unictype/categ_L.h: Likewise.
23067         * lib/unictype/categ_Ll.h: Likewise.
23068         * lib/unictype/categ_Lm.h: Likewise.
23069         * lib/unictype/categ_Lo.h: Likewise.
23070         * lib/unictype/categ_Lu.h: Likewise.
23071         * lib/unictype/categ_M.h: Likewise.
23072         * lib/unictype/categ_Mc.h: Likewise.
23073         * lib/unictype/categ_Me.h: Likewise.
23074         * lib/unictype/categ_Mn.h: Likewise.
23075         * lib/unictype/categ_N.h: Likewise.
23076         * lib/unictype/categ_Nd.h: Likewise.
23077         * lib/unictype/categ_No.h: Likewise.
23078         * lib/unictype/categ_P.h: Likewise.
23079         * lib/unictype/categ_Po.h: Likewise.
23080         * lib/unictype/categ_S.h: Likewise.
23081         * lib/unictype/categ_Sc.h: Likewise.
23082         * lib/unictype/categ_Sk.h: Likewise.
23083         * lib/unictype/categ_Sm.h: Likewise.
23084         * lib/unictype/categ_So.h: Likewise.
23085         * lib/unictype/categ_of.h: Likewise.
23086         * lib/unictype/combining.h: Likewise.
23087         * lib/unictype/ctype_alnum.h: Likewise.
23088         * lib/unictype/ctype_alpha.h: Likewise.
23089         * lib/unictype/ctype_graph.h: Likewise.
23090         * lib/unictype/ctype_lower.h: Likewise.
23091         * lib/unictype/ctype_print.h: Likewise.
23092         * lib/unictype/ctype_punct.h: Likewise.
23093         * lib/unictype/ctype_upper.h: Likewise.
23094         * lib/unictype/decdigit.h: Likewise.
23095         * lib/unictype/digit.h: Likewise.
23096         * lib/unictype/numeric.h: Likewise.
23097         * lib/unictype/pr_alphabetic.h: Likewise.
23098         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23099         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23100         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23101         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23102         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23103         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23104         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23105         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23106         * lib/unictype/pr_case_ignorable.h: Likewise.
23107         * lib/unictype/pr_cased.h: Likewise.
23108         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
23109         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
23110         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
23111         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
23112         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
23113         * lib/unictype/pr_combining.h: Likewise.
23114         * lib/unictype/pr_composite.h: Likewise.
23115         * lib/unictype/pr_currency_symbol.h: Likewise.
23116         * lib/unictype/pr_decimal_digit.h: Likewise.
23117         * lib/unictype/pr_deprecated.h: Likewise.
23118         * lib/unictype/pr_format_control.h: Likewise.
23119         * lib/unictype/pr_grapheme_base.h: Likewise.
23120         * lib/unictype/pr_grapheme_extend.h: Likewise.
23121         * lib/unictype/pr_grapheme_link.h: Likewise.
23122         * lib/unictype/pr_id_continue.h: Likewise.
23123         * lib/unictype/pr_id_start.h: Likewise.
23124         * lib/unictype/pr_ideographic.h: Likewise.
23125         * lib/unictype/pr_lowercase.h: Likewise.
23126         * lib/unictype/pr_math.h: Likewise.
23127         * lib/unictype/pr_numeric.h: Likewise.
23128         * lib/unictype/pr_other_alphabetic.h: Likewise.
23129         * lib/unictype/pr_other_id_continue.h: Likewise.
23130         * lib/unictype/pr_other_math.h: Likewise.
23131         * lib/unictype/pr_punctuation.h: Likewise.
23132         * lib/unictype/pr_sentence_terminal.h: Likewise.
23133         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23134         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23135         * lib/unictype/pr_unified_ideograph.h: Likewise.
23136         * lib/unictype/pr_uppercase.h: Likewise.
23137         * lib/unictype/pr_xid_continue.h: Likewise.
23138         * lib/unictype/pr_xid_start.h: Likewise.
23139         * lib/unictype/scripts.h: Likewise.
23140         * lib/unictype/scripts_byname.gperf: Likewise.
23141         * lib/unictype/sy_java_ident.h: Likewise.
23142         * lib/unigbrk/gbrkprop.h: Likewise.
23143         * lib/unilbrk/lbrkprop1.h: Likewise.
23144         * lib/unilbrk/lbrkprop2.h: Likewise.
23145         * lib/uninorm/decomposition-table2.h: Likewise.
23146         * lib/uniwbrk/wbrkprop.h: Likewise.
23147         * tests/unicase/test-cased.c: Likewise.
23148         * tests/unicase/test-ignorable.c: Likewise.
23149         * tests/unicase/test-uc_tolower.c: Likewise.
23150         * tests/unicase/test-uc_totitle.c: Likewise.
23151         * tests/unicase/test-uc_toupper.c: Likewise.
23152         * tests/unictype/test-categ_C.c: Likewise.
23153         * tests/unictype/test-categ_Cn.c: Likewise.
23154         * tests/unictype/test-categ_L.c: Likewise.
23155         * tests/unictype/test-categ_Ll.c: Likewise.
23156         * tests/unictype/test-categ_Lm.c: Likewise.
23157         * tests/unictype/test-categ_Lo.c: Likewise.
23158         * tests/unictype/test-categ_Lu.c: Likewise.
23159         * tests/unictype/test-categ_M.c: Likewise.
23160         * tests/unictype/test-categ_Mc.c: Likewise.
23161         * tests/unictype/test-categ_Me.c: Likewise.
23162         * tests/unictype/test-categ_Mn.c: Likewise.
23163         * tests/unictype/test-categ_N.c: Likewise.
23164         * tests/unictype/test-categ_Nd.c: Likewise.
23165         * tests/unictype/test-categ_No.c: Likewise.
23166         * tests/unictype/test-categ_P.c: Likewise.
23167         * tests/unictype/test-categ_Po.c: Likewise.
23168         * tests/unictype/test-categ_S.c: Likewise.
23169         * tests/unictype/test-categ_Sc.c: Likewise.
23170         * tests/unictype/test-categ_Sk.c: Likewise.
23171         * tests/unictype/test-categ_Sm.c: Likewise.
23172         * tests/unictype/test-categ_So.c: Likewise.
23173         * tests/unictype/test-ctype_alnum.c: Likewise.
23174         * tests/unictype/test-ctype_alpha.c: Likewise.
23175         * tests/unictype/test-ctype_graph.c: Likewise.
23176         * tests/unictype/test-ctype_lower.c: Likewise.
23177         * tests/unictype/test-ctype_print.c: Likewise.
23178         * tests/unictype/test-ctype_punct.c: Likewise.
23179         * tests/unictype/test-ctype_upper.c: Likewise.
23180         * tests/unictype/test-decdigit.h: Likewise.
23181         * tests/unictype/test-digit.h: Likewise.
23182         * tests/unictype/test-numeric.h: Likewise.
23183         * tests/unictype/test-pr_alphabetic.c: Likewise.
23184         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23185         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
23186         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
23187         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23188         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23189         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23190         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23191         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23192         * tests/unictype/test-pr_case_ignorable.c: Likewise.
23193         * tests/unictype/test-pr_cased.c: Likewise.
23194         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
23195         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
23196         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
23197         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
23198         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
23199         * tests/unictype/test-pr_combining.c: Likewise.
23200         * tests/unictype/test-pr_composite.c: Likewise.
23201         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23202         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23203         * tests/unictype/test-pr_deprecated.c: Likewise.
23204         * tests/unictype/test-pr_format_control.c: Likewise.
23205         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23206         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23207         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23208         * tests/unictype/test-pr_id_continue.c: Likewise.
23209         * tests/unictype/test-pr_id_start.c: Likewise.
23210         * tests/unictype/test-pr_ideographic.c: Likewise.
23211         * tests/unictype/test-pr_lowercase.c: Likewise.
23212         * tests/unictype/test-pr_math.c: Likewise.
23213         * tests/unictype/test-pr_numeric.c: Likewise.
23214         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23215         * tests/unictype/test-pr_other_id_continue.c: Likewise.
23216         * tests/unictype/test-pr_other_math.c: Likewise.
23217         * tests/unictype/test-pr_punctuation.c: Likewise.
23218         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23219         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23220         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23221         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23222         * tests/unictype/test-pr_uppercase.c: Likewise.
23223         * tests/unictype/test-pr_xid_continue.c: Likewise.
23224         * tests/unictype/test-pr_xid_start.c: Likewise.
23225         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23226         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23227         changes.
23228         * lib/unictype/categ_Cc.h: Likewise.
23229         * lib/unictype/categ_Cf.h: Likewise.
23230         * lib/unictype/categ_Co.h: Likewise.
23231         * lib/unictype/categ_Cs.h: Likewise.
23232         * lib/unictype/categ_Lt.h: Likewise.
23233         * lib/unictype/categ_Nl.h: Likewise.
23234         * lib/unictype/categ_Pc.h: Likewise.
23235         * lib/unictype/categ_Pd.h: Likewise.
23236         * lib/unictype/categ_Pe.h: Likewise.
23237         * lib/unictype/categ_Pf.h: Likewise.
23238         * lib/unictype/categ_Pi.h: Likewise.
23239         * lib/unictype/categ_Ps.h: Likewise.
23240         * lib/unictype/categ_Z.h: Likewise.
23241         * lib/unictype/categ_Zl.h: Likewise.
23242         * lib/unictype/categ_Zp.h: Likewise.
23243         * lib/unictype/categ_Zs.h: Likewise.
23244         * lib/unictype/ctype_blank.h: Likewise.
23245         * lib/unictype/ctype_cntrl.h: Likewise.
23246         * lib/unictype/ctype_digit.h: Likewise.
23247         * lib/unictype/ctype_space.h: Likewise.
23248         * lib/unictype/ctype_xdigit.h: Likewise.
23249         * lib/unictype/mirror.h: Likewise.
23250         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23251         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23252         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23253         * lib/unictype/pr_bidi_control.h: Likewise.
23254         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23255         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23256         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23257         * lib/unictype/pr_bidi_pdf.h: Likewise.
23258         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23259         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23260         * lib/unictype/pr_dash.h: Likewise.
23261         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23262         * lib/unictype/pr_diacritic.h: Likewise.
23263         * lib/unictype/pr_extender.h: Likewise.
23264         * lib/unictype/pr_hex_digit.h: Likewise.
23265         * lib/unictype/pr_hyphen.h: Likewise.
23266         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23267         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23268         * lib/unictype/pr_ignorable_control.h: Likewise.
23269         * lib/unictype/pr_iso_control.h: Likewise.
23270         * lib/unictype/pr_join_control.h: Likewise.
23271         * lib/unictype/pr_left_of_pair.h: Likewise.
23272         * lib/unictype/pr_line_separator.h: Likewise.
23273         * lib/unictype/pr_logical_order_exception.h: Likewise.
23274         * lib/unictype/pr_non_break.h: Likewise.
23275         * lib/unictype/pr_not_a_character.h: Likewise.
23276         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23277         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23278         * lib/unictype/pr_other_id_start.h: Likewise.
23279         * lib/unictype/pr_other_lowercase.h: Likewise.
23280         * lib/unictype/pr_other_uppercase.h: Likewise.
23281         * lib/unictype/pr_paired_punctuation.h: Likewise.
23282         * lib/unictype/pr_paragraph_separator.h: Likewise.
23283         * lib/unictype/pr_pattern_syntax.h: Likewise.
23284         * lib/unictype/pr_pattern_white_space.h: Likewise.
23285         * lib/unictype/pr_private_use.h: Likewise.
23286         * lib/unictype/pr_quotation_mark.h: Likewise.
23287         * lib/unictype/pr_radical.h: Likewise.
23288         * lib/unictype/pr_soft_dotted.h: Likewise.
23289         * lib/unictype/pr_space.h: Likewise.
23290         * lib/unictype/pr_titlecase.h: Likewise.
23291         * lib/unictype/pr_variation_selector.h: Likewise.
23292         * lib/unictype/pr_white_space.h: Likewise.
23293         * lib/unictype/pr_zero_width.h: Likewise.
23294         * lib/unictype/sy_c_ident.h: Likewise.
23295         * lib/unictype/sy_c_whitespace.h: Likewise.
23296         * lib/unictype/sy_java_whitespace.h: Likewise.
23297         * lib/uninorm/composition-table.gperf: Likewise.
23298         * lib/uninorm/decomposition-table1.h: Likewise.
23299         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
23300         LB8.
23301         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23302         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23303         * modules/unictype/*: Bump version number of expected libunistring
23304         version.
23305
23306 2011-01-09  Bruno Haible  <bruno@clisp.org>
23307
23308         Update to Unicode 5.2.0.
23309         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
23310         trailing whitespace removed.
23311
23312 2011-01-09  Bruno Haible  <bruno@clisp.org>
23313
23314         New Unicode character properties, from Unicode 5.2.0.
23315         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
23316         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
23317         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
23318         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
23319         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
23320         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
23321         uc_is_property_cased, uc_is_property_case_ignorable,
23322         uc_is_property_changes_when_lowercased,
23323         uc_is_property_changes_when_uppercased,
23324         uc_is_property_changes_when_titlecased,
23325         uc_is_property_changes_when_casefolded,
23326         uc_is_property_changes_when_casemapped): New declarations.
23327         * lib/unictype/pr_byname.gperf: Add the new properties.
23328         * modules/unictype/property-byname (Depends-on): Depend on the new
23329         properties modules.
23330         * modules/unictype/property-all (Depends-on): Likewise.
23331         * MODULES.html.sh (Unicode string functions): Add
23332         unictype/property-case-ignorable, unictype/property-cased,
23333         unictype/property-changes-when-casefolded,
23334         unictype/property-changes-when-casemapped,
23335         unictype/property-changes-when-lowercased,
23336         unictype/property-changes-when-titlecased,
23337         unictype/property-changes-when-uppercased.
23338
23339         New module 'unictype/property-changes-when-casemapped'.
23340         * modules/unictype/property-changes-when-casemapped: New file.
23341         * lib/unictype/pr_changes_when_casemapped.c: New file.
23342         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
23343         generated by gen-uni-tables.
23344         * modules/unictype/property-changes-when-casemapped-tests: New file.
23345         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
23346         automatically generated by gen-uni-tables.
23347
23348         New module 'unictype/property-changes-when-casefolded'.
23349         * modules/unictype/property-changes-when-casefolded: New file.
23350         * lib/unictype/pr_changes_when_casefolded.c: New file.
23351         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
23352         generated by gen-uni-tables.
23353         * modules/unictype/property-changes-when-casefolded-tests: New file.
23354         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
23355         automatically generated by gen-uni-tables.
23356
23357         New module 'unictype/property-changes-when-titlecased'.
23358         * modules/unictype/property-changes-when-titlecased: New file.
23359         * lib/unictype/pr_changes_when_titlecased.c: New file.
23360         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
23361         generated by gen-uni-tables.
23362         * modules/unictype/property-changes-when-titlecased-tests: New file.
23363         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
23364         automatically generated by gen-uni-tables.
23365
23366         New module 'unictype/property-changes-when-uppercased'.
23367         * modules/unictype/property-changes-when-uppercased: New file.
23368         * lib/unictype/pr_changes_when_uppercased.c: New file.
23369         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
23370         generated by gen-uni-tables.
23371         * modules/unictype/property-changes-when-uppercased-tests: New file.
23372         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
23373         automatically generated by gen-uni-tables.
23374
23375         New module 'unictype/property-changes-when-lowercased'.
23376         * modules/unictype/property-changes-when-lowercased: New file.
23377         * lib/unictype/pr_changes_when_lowercased.c: New file.
23378         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
23379         generated by gen-uni-tables.
23380         * modules/unictype/property-changes-when-lowercased-tests: New file.
23381         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
23382         automatically generated by gen-uni-tables.
23383
23384         New module 'unictype/property-case-ignorable'.
23385         * modules/unictype/property-case-ignorable: New file.
23386         * lib/unictype/pr_case_ignorable.c: New file.
23387         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
23388         by gen-uni-tables.
23389         * modules/unictype/property-case-ignorable-tests: New file.
23390         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
23391         generated by gen-uni-tables.
23392
23393         New module 'unictype/property-cased'.
23394         * modules/unictype/property-cased: New file.
23395         * lib/unictype/pr_cased.c: New file.
23396         * lib/unictype/pr_cased.h: New file, automatically generated by
23397         gen-uni-tables.
23398         * modules/unictype/property-cased-tests: New file.
23399         * tests/unictype/test-pr_cased.c: New file, automatically generated by
23400         gen-uni-tables.
23401
23402 2011-01-09  Bruno Haible  <bruno@clisp.org>
23403
23404         Update to Unicode 5.2.0.
23405         * lib/gen-uni-tables.c (output_predicate, output_category,
23406         output_combclass, output_bidi_category, output_decimal_digit_test,
23407         output_decimal_digit, output_digit_test, output_digit,
23408         output_numeric_test, output_numeric, output_mirror, output_scripts,
23409         output_scripts_byname, output_blocks, output_ident_category): Fix
23410         comment header.
23411         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
23412         get_wbp.
23413         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
23414         items.
23415         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
23416         Changes_When_Lowercased, Changes_When_Uppercased,
23417         Changes_When_Titlecased, Changes_When_Casefolded,
23418         Changes_When_Casemapped.
23419         (is_property_alphabetic, is_property_default_ignorable_code_point):
23420         Update for Unicode 5.2.0.
23421         (is_property_cased, is_property_case_ignorable,
23422         is_property_changes_when_lowercased,
23423         is_property_changes_when_uppercased,
23424         is_property_changes_when_titlecased,
23425         is_property_changes_when_casefolded,
23426         is_property_changes_when_casemapped): New functions.
23427         (output_properties): Output also the properties cased, case_ignorable,
23428         changes_when_lowercased, changes_when_uppercased,
23429         changes_when_titlecased, changes_when_casefolded,
23430         changes_when_casemapped.
23431         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
23432         Unicode TR#11 revision 17 -> 19.
23433         (LBP_CP): New enumeration value.
23434         (LBP_*): Adjust values accordingly.
23435         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23436         TR#14 revision 22 -> 24.
23437         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
23438         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
23439         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23440         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
23441         is_WBP_MIDLETTER.
23442         (output_composition_tables): Allow for 24 bits instead of 16 bits in
23443         the code1 and code2 of each composition rule.
23444         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
23445         * lib/unicase/ignorable.h: Likewise.
23446         * lib/unicase/tocasefold.h: Likewise.
23447         * lib/unicase/tolower.h: Likewise.
23448         * lib/unicase/totitle.h: Likewise.
23449         * lib/unicase/toupper.h: Likewise.
23450         * lib/unictype/bidi_of.h: Likewise.
23451         * lib/unictype/blocks.h: Likewise.
23452         * lib/unictype/categ_C.h: Likewise.
23453         * lib/unictype/categ_Cf.h: Likewise.
23454         * lib/unictype/categ_Cn.h: Likewise.
23455         * lib/unictype/categ_L.h: Likewise.
23456         * lib/unictype/categ_Ll.h: Likewise.
23457         * lib/unictype/categ_Lm.h: Likewise.
23458         * lib/unictype/categ_Lo.h: Likewise.
23459         * lib/unictype/categ_Lu.h: Likewise.
23460         * lib/unictype/categ_M.h: Likewise.
23461         * lib/unictype/categ_Mc.h: Likewise.
23462         * lib/unictype/categ_Mn.h: Likewise.
23463         * lib/unictype/categ_N.h: Likewise.
23464         * lib/unictype/categ_Nd.h: Likewise.
23465         * lib/unictype/categ_Nl.h: Likewise.
23466         * lib/unictype/categ_No.h: Likewise.
23467         * lib/unictype/categ_P.h: Likewise.
23468         * lib/unictype/categ_Pd.h: Likewise.
23469         * lib/unictype/categ_Po.h: Likewise.
23470         * lib/unictype/categ_S.h: Likewise.
23471         * lib/unictype/categ_Sc.h: Likewise.
23472         * lib/unictype/categ_So.h: Likewise.
23473         * lib/unictype/categ_of.h: Likewise.
23474         * lib/unictype/combining.h: Likewise.
23475         * lib/unictype/ctype_alnum.h: Likewise.
23476         * lib/unictype/ctype_alpha.h: Likewise.
23477         * lib/unictype/ctype_graph.h: Likewise.
23478         * lib/unictype/ctype_lower.h: Likewise.
23479         * lib/unictype/ctype_print.h: Likewise.
23480         * lib/unictype/ctype_punct.h: Likewise.
23481         * lib/unictype/ctype_upper.h: Likewise.
23482         * lib/unictype/decdigit.h: Likewise.
23483         * lib/unictype/digit.h: Likewise.
23484         * lib/unictype/numeric.h: Likewise.
23485         * lib/unictype/pr_alphabetic.h: Likewise.
23486         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23487         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23488         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23489         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23490         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23491         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23492         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23493         * lib/unictype/pr_combining.h: Likewise.
23494         * lib/unictype/pr_composite.h: Likewise.
23495         * lib/unictype/pr_currency_symbol.h: Likewise.
23496         * lib/unictype/pr_dash.h: Likewise.
23497         * lib/unictype/pr_decimal_digit.h: Likewise.
23498         * lib/unictype/pr_deprecated.h: Likewise.
23499         * lib/unictype/pr_diacritic.h: Likewise.
23500         * lib/unictype/pr_extender.h: Likewise.
23501         * lib/unictype/pr_grapheme_base.h: Likewise.
23502         * lib/unictype/pr_grapheme_extend.h: Likewise.
23503         * lib/unictype/pr_grapheme_link.h: Likewise.
23504         * lib/unictype/pr_id_continue.h: Likewise.
23505         * lib/unictype/pr_id_start.h: Likewise.
23506         * lib/unictype/pr_ideographic.h: Likewise.
23507         * lib/unictype/pr_ignorable_control.h: Likewise.
23508         * lib/unictype/pr_logical_order_exception.h: Likewise.
23509         * lib/unictype/pr_lowercase.h: Likewise.
23510         * lib/unictype/pr_numeric.h: Likewise.
23511         * lib/unictype/pr_other_alphabetic.h: Likewise.
23512         * lib/unictype/pr_punctuation.h: Likewise.
23513         * lib/unictype/pr_sentence_terminal.h: Likewise.
23514         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23515         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23516         * lib/unictype/pr_unified_ideograph.h: Likewise.
23517         * lib/unictype/pr_uppercase.h: Likewise.
23518         * lib/unictype/pr_xid_continue.h: Likewise.
23519         * lib/unictype/pr_xid_start.h: Likewise.
23520         * lib/unictype/pr_zero_width.h: Likewise.
23521         * lib/unictype/scripts.h: Likewise.
23522         * lib/unictype/scripts_byname.gperf: Likewise.
23523         * lib/unictype/sy_java_ident.h: Likewise.
23524         * lib/unigbrk/gbrkprop.h: Likewise.
23525         * lib/unilbrk/lbrkprop1.h: Likewise.
23526         * lib/unilbrk/lbrkprop2.h: Likewise.
23527         * lib/unilbrk/lbrktables.h: Likewise.
23528         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
23529         LBP_CP. Implement rule LB30.
23530         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
23531         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
23532         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
23533         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
23534         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
23535         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
23536         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
23537         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
23538         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
23539         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
23540         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
23541         bits instead of 16 bits in the code1 and code2 of each composition
23542         rule.
23543         (uc_composition): Update for Unicode 5.2.0.
23544         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
23545         * lib/uninorm/decomposition-table2.h: Likewise.
23546         * lib/uniwbrk/wbrkprop.h: Likewise.
23547         * tests/unicase/test-cased.c: Likewise.
23548         * tests/unicase/test-ignorable.c: Likewise.
23549         * tests/unicase/test-uc_tolower.c: Likewise.
23550         * tests/unicase/test-uc_totitle.c: Likewise.
23551         * tests/unicase/test-uc_toupper.c: Likewise.
23552         * tests/unictype/test-categ_C.c: Likewise.
23553         * tests/unictype/test-categ_Cf.c: Likewise.
23554         * tests/unictype/test-categ_Cn.c: Likewise.
23555         * tests/unictype/test-categ_L.c: Likewise.
23556         * tests/unictype/test-categ_Ll.c: Likewise.
23557         * tests/unictype/test-categ_Lm.c: Likewise.
23558         * tests/unictype/test-categ_Lo.c: Likewise.
23559         * tests/unictype/test-categ_Lu.c: Likewise.
23560         * tests/unictype/test-categ_M.c: Likewise.
23561         * tests/unictype/test-categ_Mc.c: Likewise.
23562         * tests/unictype/test-categ_Mn.c: Likewise.
23563         * tests/unictype/test-categ_N.c: Likewise.
23564         * tests/unictype/test-categ_Nd.c: Likewise.
23565         * tests/unictype/test-categ_Nl.c: Likewise.
23566         * tests/unictype/test-categ_No.c: Likewise.
23567         * tests/unictype/test-categ_P.c: Likewise.
23568         * tests/unictype/test-categ_Pd.c: Likewise.
23569         * tests/unictype/test-categ_Po.c: Likewise.
23570         * tests/unictype/test-categ_S.c: Likewise.
23571         * tests/unictype/test-categ_Sc.c: Likewise.
23572         * tests/unictype/test-categ_So.c: Likewise.
23573         * tests/unictype/test-ctype_alnum.c: Likewise.
23574         * tests/unictype/test-ctype_alpha.c: Likewise.
23575         * tests/unictype/test-ctype_graph.c: Likewise.
23576         * tests/unictype/test-ctype_lower.c: Likewise.
23577         * tests/unictype/test-ctype_print.c: Likewise.
23578         * tests/unictype/test-ctype_punct.c: Likewise.
23579         * tests/unictype/test-ctype_upper.c: Likewise.
23580         * tests/unictype/test-decdigit.h: Likewise.
23581         * tests/unictype/test-digit.h: Likewise.
23582         * tests/unictype/test-numeric.h: Likewise.
23583         * tests/unictype/test-pr_alphabetic.c: Likewise.
23584         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23585         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23586         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
23587         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23588         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23589         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23590         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23591         * tests/unictype/test-pr_combining.c: Likewise.
23592         * tests/unictype/test-pr_composite.c: Likewise.
23593         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23594         * tests/unictype/test-pr_dash.c: Likewise.
23595         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23596         * tests/unictype/test-pr_deprecated.c: Likewise.
23597         * tests/unictype/test-pr_diacritic.c: Likewise.
23598         * tests/unictype/test-pr_extender.c: Likewise.
23599         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23600         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23601         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23602         * tests/unictype/test-pr_id_continue.c: Likewise.
23603         * tests/unictype/test-pr_id_start.c: Likewise.
23604         * tests/unictype/test-pr_ideographic.c: Likewise.
23605         * tests/unictype/test-pr_ignorable_control.c: Likewise.
23606         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
23607         * tests/unictype/test-pr_lowercase.c: Likewise.
23608         * tests/unictype/test-pr_numeric.c: Likewise.
23609         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23610         * tests/unictype/test-pr_punctuation.c: Likewise.
23611         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23612         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23613         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23614         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23615         * tests/unictype/test-pr_uppercase.c: Likewise.
23616         * tests/unictype/test-pr_xid_continue.c: Likewise.
23617         * tests/unictype/test-pr_xid_start.c: Likewise.
23618         * tests/unictype/test-pr_zero_width.c: Likewise.
23619         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23620         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
23621         changed behaviour: line breaking is now disallowed between a letter
23622         or '=' and '('.
23623         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23624         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23625         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
23626         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
23627         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23628         lib/uniwidth/width.c.
23629         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
23630         without comments, but with the original copyright notice.
23631         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23632         changes.
23633         * lib/unictype/categ_Cc.h: Likewise.
23634         * lib/unictype/categ_Co.h: Likewise.
23635         * lib/unictype/categ_Cs.h: Likewise.
23636         * lib/unictype/categ_Lt.h: Likewise.
23637         * lib/unictype/categ_Me.h: Likewise.
23638         * lib/unictype/categ_Pc.h: Likewise.
23639         * lib/unictype/categ_Pe.h: Likewise.
23640         * lib/unictype/categ_Pf.h: Likewise.
23641         * lib/unictype/categ_Pi.h: Likewise.
23642         * lib/unictype/categ_Ps.h: Likewise.
23643         * lib/unictype/categ_Sk.h: Likewise.
23644         * lib/unictype/categ_Sm.h: Likewise.
23645         * lib/unictype/categ_Z.h: Likewise.
23646         * lib/unictype/categ_Zl.h: Likewise.
23647         * lib/unictype/categ_Zp.h: Likewise.
23648         * lib/unictype/categ_Zs.h: Likewise.
23649         * lib/unictype/ctype_blank.h: Likewise.
23650         * lib/unictype/ctype_cntrl.h: Likewise.
23651         * lib/unictype/ctype_digit.h: Likewise.
23652         * lib/unictype/ctype_space.h: Likewise.
23653         * lib/unictype/ctype_xdigit.h: Likewise.
23654         * lib/unictype/mirror.h: Likewise.
23655         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23656         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23657         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23658         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23659         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23660         * lib/unictype/pr_bidi_control.h: Likewise.
23661         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23662         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23663         * lib/unictype/pr_bidi_pdf.h: Likewise.
23664         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23665         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23666         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23667         * lib/unictype/pr_format_control.h: Likewise.
23668         * lib/unictype/pr_hex_digit.h: Likewise.
23669         * lib/unictype/pr_hyphen.h: Likewise.
23670         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23671         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23672         * lib/unictype/pr_iso_control.h: Likewise.
23673         * lib/unictype/pr_join_control.h: Likewise.
23674         * lib/unictype/pr_left_of_pair.h: Likewise.
23675         * lib/unictype/pr_line_separator.h: Likewise.
23676         * lib/unictype/pr_math.h: Likewise.
23677         * lib/unictype/pr_non_break.h: Likewise.
23678         * lib/unictype/pr_not_a_character.h: Likewise.
23679         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23680         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23681         * lib/unictype/pr_other_id_continue.h: Likewise.
23682         * lib/unictype/pr_other_id_start.h: Likewise.
23683         * lib/unictype/pr_other_lowercase.h: Likewise.
23684         * lib/unictype/pr_other_math.h: Likewise.
23685         * lib/unictype/pr_other_uppercase.h: Likewise.
23686         * lib/unictype/pr_paired_punctuation.h: Likewise.
23687         * lib/unictype/pr_paragraph_separator.h: Likewise.
23688         * lib/unictype/pr_pattern_syntax.h: Likewise.
23689         * lib/unictype/pr_pattern_white_space.h: Likewise.
23690         * lib/unictype/pr_private_use.h: Likewise.
23691         * lib/unictype/pr_quotation_mark.h: Likewise.
23692         * lib/unictype/pr_radical.h: Likewise.
23693         * lib/unictype/pr_soft_dotted.h: Likewise.
23694         * lib/unictype/pr_space.h: Likewise.
23695         * lib/unictype/pr_titlecase.h: Likewise.
23696         * lib/unictype/pr_variation_selector.h: Likewise.
23697         * lib/unictype/pr_white_space.h: Likewise.
23698         * lib/unictype/sy_c_ident.h: Likewise.
23699         * lib/unictype/sy_c_whitespace.h: Likewise.
23700         * lib/unictype/sy_java_whitespace.h: Likewise.
23701         * modules/uni*/*: Bump version number of expected libunistring version.
23702         Reported by Simon Josefsson.
23703
23704 2011-01-09  Karl Heuer  <kwzh@gnu.org>
23705
23706         useless-if-before-free: fix typo in --help and make the internal,
23707         automatic version date update process work once again.
23708         --help output contained a NUL character instead of the
23709         backslash-zero that was intended.  Also, the "must lie within
23710         the first 8 lines" line is on line 9, and hence not getting
23711         automatically updated.
23712         * build-aux/useless-if-before-free: Fix the former by adding a
23713         backslash, and the latter by condensing the three lines of what-it-does
23714         to a single line, leaving one line of slack for the future.
23715
23716 2011-01-09  Bruno Haible  <bruno@clisp.org>
23717
23718         uniwidth/width: Fix width of U+1D173..U+1D17A.
23719         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
23720         symbolic_width, output_width_property_test): New functions.
23721         (main): Invoke output_nonspacing_property, output_width_property_test.
23722         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
23723         U+1D173..U+1D17A.
23724         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
23725         1.
23726         * modules/uniwidth/*: Bump version number of expected libunistring
23727         version.
23728         * modules/unilbrk/*: Likewise.
23729
23730 2011-01-08  Bruno Haible  <bruno@clisp.org>
23731
23732         uninorm tests: Preserve copyright of Unicode data file.
23733         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
23734         Mention modifications.
23735
23736 2011-01-08  Bruno Haible  <bruno@clisp.org>
23737
23738         gen-uni-tables: Prepare for Unicode 5.2.0.
23739         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
23740         (debug_output_lbp, output_lbp): Update.
23741
23742 2011-01-08  Bruno Haible  <bruno@clisp.org>
23743
23744         unilbrk: Clarify gen-uni-tables.c code.
23745         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
23746         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
23747         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
23748
23749 2011-01-07  Bruno Haible  <bruno@clisp.org>
23750
23751         strtod: Restore errno when successfully parsing Infinity or NaN.
23752         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
23753         restore the original errno.
23754
23755 2011-01-07  Bruno Haible  <bruno@clisp.org>
23756
23757         remove test: Avoid failure on HP-UX 11.
23758         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
23759
23760 2011-01-07  Bruno Haible  <bruno@clisp.org>
23761
23762         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
23763         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
23764         error code.
23765
23766 2011-01-07  Pádraig Brady <P@draigBrady.com>
23767
23768         ignore-value: fixup comments, and add Eric Blake
23769         as an author since he rewrote the macros.
23770         * lib/ignore-value.h (ignore_value):  State that
23771         we now support aggregates.  Also specify exactly
23772         when the GCC warn_unused_result feature was added.
23773
23774 2011-01-06  Eric Blake  <eblake@redhat.com>
23775
23776         ignore-value: support aggregate types
23777         * lib/ignore-value.h (ignore_value): Provide separate gcc
23778         definition.
23779         * modules/ignore-value-tests: New test module.
23780         * tests/test-ignore-value.c: New test.
23781
23782         maint.mk: improve sc_prohibit_strcmp regex
23783         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
23784         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
23785         definition of STRNEQ.
23786
23787         signal: work around Haiku issue with SIGBUS
23788         * lib/siglist.h: Add comment.
23789         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
23790         strsignal's favoring of SIGSEGV.
23791         * tests/test-signal.c (main): Avoid test failure.
23792         * doc/posix-headers/signal.texi (signal.h): Document the issue.
23793         Reported by Scott McCreary.
23794
23795         maint.mk: add pre-release check to ensure submodule commits are public
23796         * top/maint.mk (public-submodule-commit): New rule.
23797         (submodule-checks): New variable.
23798         (alpha beta stable): Depend on the variable.
23799
23800 2011-01-05  Pádraig Brady <P@draigBrady.com>
23801         and Jim Meyering  <meyering@redhat.com>
23802
23803         ignore-value: make ignore_value more generic; deprecate ignore_ptr
23804         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
23805         (ATTRIBUTE_DEPRECATED): Define.
23806         (_ignore_case): New function.
23807         (ignore_value): New macro, to replace the old function.
23808         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
23809         * modules/ignore-value (Depends-on): Add stdint.
23810
23811 2011-01-04  Eric Blake  <eblake@redhat.com>
23812
23813         doc: regenerate INSTALL
23814         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
23815         @firstparagraphindent support, now that autoconf dropped it.
23816         (INSTALL_PRELUDE): Reinstate old macro.
23817         * doc/install.texi: Resync from autoconf.
23818         * doc/INSTALL: Reflect recent autoconf update.
23819         * doc/INSTALL.ISO: Likewise.
23820         * doc/INSTALL.UTF-8: Likewise.
23821         Reported by Karl Berry.
23822
23823 2011-01-04  Bruce Korb  <address@hidden>
23824
23825         git-version-gen: avoid a sub-shell
23826         * build-aux/git-version-gen: Redirect stderr in `...` via
23827         "exec 2>...", rather than via an added sub-shell.
23828
23829 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
23830
23831         git-version-gen: use (...) rather than sh -c '...'
23832         * build-aux/git-version-gen: Rather than hard-coding a shell's name
23833         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
23834
23835 2011-01-03  Jim Meyering  <meyering@redhat.com>
23836
23837         git-version-gen: convert leading TABs to spaces
23838         * build-aux/git-version-gen: Expand leading TABs.
23839
23840         git-version-gen: handle failed "git rev-list"
23841         * build-aux/git-version-gen: Rather than leaking a "fatal" error
23842         from git and proceeding as if it had succeeded but printed no SHA1
23843         checksums, suppress the diagnostic and handle the failure.
23844         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
23845
23846         git-version-gen: include command name in one more diagnostic
23847         * build-aux/git-version-gen: When the required .tarball-version file
23848         was missing or unreadable, you might see the diagnostic from "cat",
23849         but no trace of the name of the invoking script.  Now, you still see
23850         the diagnostic from cat, but also get one from "git-version-gen: ".
23851         Inspired by a patch from Bruce Korb.
23852
23853         update-copyright: adjust test to match changed code
23854         * tests/test-update-copyright.sh: Change test's expected output
23855         to match new actual output.
23856
23857 2011-01-02  Bruno Haible  <bruno@clisp.org>
23858
23859         getlogin_r: Avoid test failure on HP-UX 11.
23860         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
23861         ERANGE when the second argument is zero.
23862         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
23863         portability problem.
23864
23865 2011-01-02  Bruce Korb  <bkorb@gnu.org>
23866
23867         * build-aux/update-copyright: doc Simon's changes
23868
23869 2011-01-02  Simon Josefsson  <simon@josefsson.org>
23870
23871         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
23872         environment variable.
23873
23874 2011-01-02  Bruno Haible  <bruno@clisp.org>
23875
23876         unigbrk: Avoid gcc warnings.
23877         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
23878         unused variable.
23879         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
23880         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
23881         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
23882         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
23883         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
23884         Change type of first argument to 'const char *'.
23885         (main): Remove unused variable.
23886         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
23887         type of first argument to 'const char *'.
23888         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
23889         Likewise.
23890         (main): Change type of variable 's'.
23891         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
23892         to 'int'.
23893
23894 2011-01-02  Bruno Haible  <bruno@clisp.org>
23895
23896         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
23897         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
23898         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
23899         bug.
23900         * lib/pwrite.c: Undo 2010-12-31 patch.
23901         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
23902
23903 2011-01-02  Bruno Haible  <bruno@clisp.org>
23904
23905         pread: Fix test whether it works.
23906         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
23907
23908 2011-01-02  Bruno Haible  <bruno@clisp.org>
23909
23910         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
23911         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
23912         ends in "6". Don't require a specific month name. Try also the locale
23913         names found on HP-UX 11 and Solaris 7.
23914
23915 2011-01-02  Bruno Haible  <bruno@clisp.org>
23916
23917         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
23918         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
23919         C linkage.
23920         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
23921
23922 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23923
23924         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
23925         for consistency, since the "cluster" term is not used elsewhere.
23926         * lib/unigbrk.in.h: Update name.
23927         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
23928         * lib/unigbrk/u16-grapheme-next.c: Update name.
23929         * lib/unigbrk/u16-grapheme-prev.c: Update name.
23930         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
23931         * lib/unigbrk/u32-grapheme-next.c: Update name.
23932         * lib/unigbrk/u32-grapheme-prev.c: Update name.
23933         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
23934         * lib/unigbrk/u8-grapheme-next.c: Update name.
23935         * lib/unigbrk/u8-grapheme-prev.c: Update name.
23936         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
23937         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
23938         Suggested by Bruno Haible.
23939
23940 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23941
23942         Remove module 'u8-grapheme-len' as too redundant with
23943         'u8-grapheme-next'.
23944         * modules/unigbrk/u8-grapheme-len: Delete file.
23945         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
23946         * lib/unigbrk.in.h: Remove prototype for deleted function.
23947         * lib/unigbrk/u8-grapheme-len.c: Delete file.
23948         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
23949
23950         Remove module 'u16-grapheme-len' as too redundant with
23951         'u16-grapheme-next'.
23952         * modules/unigbrk/u16-grapheme-len: Delete file.
23953         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
23954         * lib/unigbrk.in.h: Remove prototype for deleted function.
23955         * lib/unigbrk/u16-grapheme-len.c: Delete file.
23956         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
23957
23958         Remove module 'u32-grapheme-len' as too redundant with
23959         'u32-grapheme-next'.
23960         * modules/unigbrk/u32-grapheme-len: Delete file.
23961         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
23962         * lib/unigbrk.in.h: Remove prototype for deleted function.
23963         * lib/unigbrk/u32-grapheme-len.c: Delete file.
23964         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
23965
23966         Suggested by Bruno Haible.
23967
23968 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23969
23970         * unigbrk.in.h: Fix typo: "ben" => "been".
23971         Reported by Bruno Haible.
23972
23973 2011-01-01  Jim Meyering  <meyering@redhat.com>
23974
23975         maint: update almost all copyright ranges to include 2011
23976         Run the new "make update-copyright" rule.
23977
23978 2011-01-01  Jim Meyering  <meyering@redhat.com>
23979
23980         maint: update-copyright: exempt doc/INSTALL*
23981         * Makefile (update-copyright): Also exclude doc/INSTALL*,
23982         since they are generated.  Suggested by Bruno Haible.
23983
23984 2011-01-01  Jim Meyering  <meyering@redhat.com>
23985
23986         maint: refine the update-copyright rule
23987         * Makefile (update-copyright): Also exclude any file that includes
23988         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
23989         code that merely generates the comment.
23990
23991 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23992
23993         New module 'u8-grapheme-len'.
23994         * modules/unigbrk/u8-grapheme-len: New file.
23995         * modules/unigbrk/u8-grapheme-len-tests: New file.
23996         * lib/unigbrk.in.h: Add prototype for new function.
23997         * lib/unigbrk/u8-grapheme-len.c: New file.
23998         * tests/unigbrk/test-u8-grapheme-len.c: New file.
23999
24000         New module 'u16-grapheme-len'.
24001         * modules/unigbrk/u16-grapheme-len: New file.
24002         * modules/unigbrk/u16-grapheme-len-tests: New file.
24003         * lib/unigbrk.in.h: Add prototype for new function.
24004         * lib/unigbrk/u16-grapheme-len.c: New file.
24005         * tests/unigbrk/test-u16-grapheme-len.c: New file.
24006
24007         New module 'u32-grapheme-len'.
24008         * modules/unigbrk/u32-grapheme-len: New file.
24009         * modules/unigbrk/u32-grapheme-len-tests: New file.
24010         * lib/unigbrk.in.h: Add prototype for new function.
24011         * lib/unigbrk/u32-grapheme-len.c: New file.
24012         * tests/unigbrk/test-u32-grapheme-len.c: New file.
24013
24014         New module 'u8-grapheme-next'.
24015         * modules/unigbrk/u8-grapheme-next: New file.
24016         * modules/unigbrk/u8-grapheme-next-tests: New file.
24017         * lib/unigbrk.in.h: Add prototype for new function.
24018         * lib/unigbrk/u8-grapheme-next.c: New file.
24019         * tests/unigbrk/test-u8-grapheme-next.c: New file.
24020
24021         New module 'u16-grapheme-next'.
24022         * modules/unigbrk/u16-grapheme-next: New file.
24023         * modules/unigbrk/u16-grapheme-next-tests: New file.
24024         * lib/unigbrk.in.h: Add prototype for new function.
24025         * lib/unigbrk/u16-grapheme-next.c: New file.
24026         * tests/unigbrk/test-u16-grapheme-next.c: New file.
24027
24028         New module 'u32-grapheme-next'.
24029         * modules/unigbrk/u32-grapheme-next: New file.
24030         * modules/unigbrk/u32-grapheme-next-tests: New file.
24031         * lib/unigbrk.in.h: Add prototype for new function.
24032         * lib/unigbrk/u32-grapheme-next.c: New file.
24033         * tests/unigbrk/test-u32-grapheme-next.c: New file.
24034
24035         New module 'u8-grapheme-prev'.
24036         * modules/unigbrk/u8-grapheme-prev: New file.
24037         * modules/unigbrk/u8-grapheme-prev-tests: New file.
24038         * lib/unigbrk.in.h: Add prototype for new function.
24039         * lib/unigbrk/u8-grapheme-prev.c: New file.
24040         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
24041
24042         New module 'u16-grapheme-prev'.
24043         * modules/unigbrk/u16-grapheme-prev: New file.
24044         * modules/unigbrk/u16-grapheme-prev-tests: New file.
24045         * lib/unigbrk.in.h: Add prototype for new function.
24046         * lib/unigbrk/u16-grapheme-prev.c: New file.
24047         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
24048
24049         New module 'u32-grapheme-prev'.
24050         * modules/unigbrk/u32-grapheme-prev: New file.
24051         * modules/unigbrk/u32-grapheme-prev-tests: New file.
24052         * lib/unigbrk.in.h: Add prototype for new function.
24053         * lib/unigbrk/u32-grapheme-prev.c: New file.
24054         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
24055
24056         New module 'u8-grapheme-breaks'.
24057         * modules/unigbrk/u8-grapheme-breaks: New file.
24058         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
24059         * lib/unigbrk.in.h: Add prototype for new function.
24060         * lib/unigbrk/u8-grapheme-breaks.c: New file.
24061         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
24062
24063         New module 'u16-grapheme-breaks'.
24064         * modules/unigbrk/u16-grapheme-breaks: New file.
24065         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
24066         * lib/unigbrk.in.h: Add prototype for new function.
24067         * lib/unigbrk/u16-grapheme-breaks.c: New file.
24068         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
24069
24070         New module 'u32-grapheme-breaks'.
24071         * modules/unigbrk/u32-grapheme-breaks: New file.
24072         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
24073         * lib/unigbrk.in.h: Add prototype for new function.
24074         * lib/unigbrk/u32-grapheme-breaks.c: New file.
24075         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
24076
24077         New module 'ulc-grapheme-breaks'.
24078         * modules/unigbrk/ulc-grapheme-breaks: New file.
24079         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
24080         * m4/locale-ar.m4: New file.
24081         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
24082         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
24083         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
24084
24085 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24086
24087         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
24088         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
24089         modified how this file was generated before I initially submitted
24090         the module, but failed to regenerate it.  This meant that several
24091         of the level2 entries were wrong.
24092         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
24093         Remove the division-by-2 that is folded into the table now that
24094         gbrkprop.h has been regenerated properly.  Now -1 entries are
24095         handled correctly.
24096
24097         New module 'unigbrk/uc-gbrk-prop-tests'.
24098         * modules/unigbrk/uc-gbrk-prop-tests: New file.
24099         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
24100         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
24101         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
24102
24103 2011-01-01  Bruno Haible  <bruno@clisp.org>
24104
24105         Avoid use of hexadecimal escapes.
24106         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
24107         instead of hexadecimal escapes.
24108
24109 2011-01-01  Jim Meyering  <meyering@redhat.com>
24110
24111         maint: new rule to update copyright year ranges
24112         * Makefile (update-copyright): New rule.
24113
24114         maint: indent with TABs in Makefile
24115         * Makefile: Expand leading sequences of spaces to TABs
24116
24117         version-etc: update the copyright year it reports
24118         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
24119
24120 2010-12-31  Bruno Haible  <bruno@clisp.org>
24121
24122         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
24123         * lib/isfinite.c (zerof, zerod, zerol): New variables.
24124         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
24125         zero.
24126
24127 2010-12-31  Bruno Haible  <bruno@clisp.org>
24128
24129         pwrite: Work around HP-UX 11.11 bug.
24130         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
24131         works and set REPLACE_PWRITE if not.
24132         * lib/pwrite.c (pwrite): Add an implementation that uses the system
24133         function.
24134         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
24135
24136 2010-12-31  Bruno Haible  <bruno@clisp.org>
24137
24138         pread: Work around HP-UX 11 bugs.
24139         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
24140         and set REPLACE_PREAD if not.
24141         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
24142
24143 2010-12-31  Eric Blake  <eblake@redhat.com>
24144
24145         nl_langinfo: fix YESEXPR on Irix 6.5
24146         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
24147         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
24148         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
24149         it.
24150
24151 2010-12-31  Bruno Haible  <bruno@clisp.org>
24152
24153         iconv: Document HP-UX 11 bug.
24154         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
24155
24156 2010-12-31  Bruno Haible  <bruno@clisp.org>
24157
24158         ldexpl: Fix link error on HP-UX 11.
24159         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
24160         LDEXPL_LIBM, using $ISNANL_LIBM.
24161
24162 2010-12-31  Eric Blake  <eblake@redhat.com>
24163
24164         ftello: avoid compilation failure with SunStudio c89
24165         * lib/ftello.c (ftello): Use lseek, not llseek.
24166
24167         tests: avoid failing coreutils tests on cygwin
24168         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
24169         (create_exe_shims_): Return 0 when skipping.
24170
24171 2010-12-31  Bruno Haible  <bruno@clisp.org>
24172
24173         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
24174         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
24175
24176 2010-12-31  Bruno Haible  <bruno@clisp.org>
24177
24178         waitpid: Fix link error in C++ mode.
24179         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
24180
24181 2010-12-31  Bruno Haible  <bruno@clisp.org>
24182
24183         isnan: Use GCC built-ins when possible.
24184         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
24185         __builtin_isnan.
24186         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
24187         (isnan): Define using GCC built-ins for GCC >= 4.0.
24188
24189 2010-12-31  Bruno Haible  <bruno@clisp.org>
24190
24191         isnand: Fix mistake.
24192         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
24193         __builtin_isnand.
24194
24195 2010-12-31  Bruno Haible  <bruno@clisp.org>
24196
24197         open: Avoid C++ error on HP-UX 11.
24198         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
24199
24200 2010-12-31  Bruno Haible  <bruno@clisp.org>
24201
24202         time_r: Add missing declarations on HP-UX 11.
24203         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
24204         instead of HAVE_LOCALTIME_R.
24205         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
24206         HAVE_LOCALTIME_R always.
24207         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
24208         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
24209         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
24210         HAVE_LOCALTIME_R.
24211         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
24212         * doc/posix-functions/localtime_r.texi: Likewise.
24213
24214 2010-12-29  Eric Blake  <eblake@redhat.com>
24215
24216         mountlist: tweak previous commit
24217         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
24218         Reported by Paul Eggert.
24219
24220         mountlist: fix local drive detection on cygwin
24221         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
24222         that works for cygwin.
24223
24224 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24225
24226         ftoastr, snprintf: ftoastr + snprintf module
24227         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
24228         since the snprintf module now should be good enough here.
24229         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
24230         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
24231         and gl_MODULE_INDICATOR([snprintf]), but the former enables
24232         GNULIB_SNPRINTF only for the test directory, and the latter
24233         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
24234         seems to suffice by itself.
24235
24236 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
24237
24238         alloca: one step towards thread-safety
24239         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
24240         need for a static variable.  All callers changed.  This does not
24241         make the alloca replacement thread-safe, but it's one step.
24242
24243         tests: minor indenting change
24244         * tests/init.sh: Sync from coreutils housekeeping patch
24245         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
24246         to keep lines within 80 columns.
24247
24248 2010-12-28  Jim Meyering  <meyering@redhat.com>
24249
24250         regex: don't infloop on persistent failing calloc
24251         * lib/regexec.c (build_trtable): Return failure indication upon
24252         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
24253         In glibc, this was fixed for version 2.13:
24254         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
24255
24256 2010-12-28  Bruno Haible  <bruno@clisp.org>
24257             Paul Eggert <eggert@cs.ucla.edu>
24258
24259         linkat: Make implementation robust against system behaviour variations.
24260         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
24261         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
24262         way, and to -2 if it needs a generic runtime test.
24263         * lib/linkat.c (solaris_optimized_link_immediate,
24264         solaris_optimized_link_follow): New functions.
24265         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
24266         (check_same_link): Use it.
24267
24268 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
24269
24270         New module 'unigbrk/base'.
24271         * modules/unigbrk/base: New file.
24272         * lib/unigbrk.in.h: New file.
24273
24274         New module 'unigbrk/uc-gbrk-prop'.
24275         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
24276         * modules/unigbrk/uc-gbrk-prop: New file.
24277         * lib/unigbrk/gbrkprop.h: New file.
24278         * lib/unigbrk/uc-gbrk-prop.c: New file.
24279
24280         New module 'unigbrk/uc-is-grapheme-break'.
24281         * modules/unigbrk/uc-is-grapheme-break: New file.
24282         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
24283         * lib/unigbrk/uc-is-grapheme-break.c: New file.
24284         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
24285         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
24286         * tests/unigbrk/GraphemeBreakTest.txt: New file.
24287
24288         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
24289
24290 2010-12-27  Bruno Haible  <bruno@clisp.org>
24291
24292         linkat test: Avoid failure on Solaris 11 2010-11.
24293         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
24294
24295 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24296
24297         utimens: work around glibc rounding bug on more platforms
24298         * lib/utimens.c (fdutimens): Work around rounding bug even if
24299         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
24300         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
24301
24302 2010-12-27  Bruno Haible  <bruno@clisp.org>
24303
24304         select tests: Improve comments.
24305         * tests/test-select.c (do_select): Add comments.
24306
24307 2010-12-27  Bruno Haible  <bruno@clisp.org>
24308
24309         select tests: Safer way of handling timeout.
24310         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
24311         at every invocation.
24312
24313 2010-12-27  Bruno Haible  <bruno@clisp.org>
24314
24315         select tests: Use 'bool' where appropriate.
24316         * tests/test-select.c (connect_to_socket): Change argument type to
24317         'bool'.
24318
24319 2010-12-27  Bruno Haible  <bruno@clisp.org>
24320
24321         select tests: Use existing modules.
24322         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
24323         (configure.ac): Don't test for unistd.h.
24324         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
24325         declared in <unistd.h>.
24326
24327 2010-12-27  Bruno Haible  <bruno@clisp.org>
24328
24329         mbrtowc: Work around a Solaris 7 bug.
24330         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
24331         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
24332         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
24333         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
24334         MBRTOWC_NULL_ARG1_BUG.
24335         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
24336         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
24337         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
24338         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
24339
24340 2010-12-27  Jim Meyering  <meyering@redhat.com>
24341
24342         read-file.c: tweak syntax
24343         * lib/read-file.c (fread_file): Remove space after "*" in function
24344         definitions.
24345
24346 2010-12-27  Bruno Haible  <bruno@clisp.org>
24347
24348         times test: Avoid gcc warnings on OSF/1.
24349         * tests/test-times.c (main): Cast printf arguments from clock_t to
24350         'long int'.
24351
24352 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24353
24354         utimens: work around glibc rounding bug on older Linux kernels
24355         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
24356         on Linux with a glibc whose utimes might not work, then work
24357         around a longstanding glibc bug involving rounding rather than
24358         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
24359         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24360
24361 2010-12-26  Bruno Haible  <bruno@clisp.org>
24362
24363         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
24364         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
24365         _GL_CXXALIAS_SYS.
24366         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24367
24368 2010-12-26  Bruno Haible  <bruno@clisp.org>
24369
24370         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
24371         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
24372         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24373         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
24374         looking for the declaration.
24375         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
24376         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
24377         problem.
24378         * doc/posix-functions/inet_pton.texi: Likewise.
24379
24380 2010-12-26  Bruno Haible  <bruno@clisp.org>
24381
24382         arpa_inet: Use the common idioms with C++ support.
24383         * lib/arpa_inet.in.h: Include c++defs.h.
24384         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
24385         support.
24386         * modules/arpa_inet (Depends-on): Add c++defs.
24387         (Makefile.am): Substitute the contents of c++defs.h.
24388         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
24389         * modules/arpa_inet-c++-tests: New file.
24390         * tests/test-arpa_inet-c++.cc: New file.
24391
24392 2010-12-25  Bruno Haible  <bruno@clisp.org>
24393
24394         Fix more C++ link errors on Solaris 8.
24395         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
24396         $(LIB_EACCESS).
24397         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
24398         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
24399         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
24400         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
24401         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
24402
24403 2010-12-25  Bruno Haible  <bruno@clisp.org>
24404
24405         printf-posix: Fix link error when a non-GCC compiler is used.
24406         * lib/stdio.in.h (printf): When not using GCC, override printf
24407         correctly.
24408         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24409
24410 2010-12-25  Bruno Haible  <bruno@clisp.org>
24411
24412         strerror_r-posix: Update doc.
24413         * doc/posix-functions/strerror_r.texi: Update doc about the return
24414         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
24415
24416 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
24417
24418         utimens: simplify the logic of the previous change
24419         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
24420         This should not affect whether the test succeeds or fails.
24421
24422         utimens: configure better on hosts with NFS clock skew
24423         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
24424         uses the clock of the local host.  It might use the clock of the
24425         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
24426         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24427
24428 2010-12-25  Bruno Haible  <bruno@clisp.org>
24429
24430         ptsname test: Avoid failure on Solaris.
24431         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
24432         open a pseudo-terminal; don't use BSD-style ptys.
24433         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
24434
24435 2010-12-25  Bruno Haible  <bruno@clisp.org>
24436
24437         ptsname: Avoid ERANGE failure on some systems.
24438         * lib/ptsname.c (buffer): Increase size.
24439
24440 2010-12-25  Bruno Haible  <bruno@clisp.org>
24441
24442         rename, renameat: Avoid test failures at NFS mounted locations.
24443         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
24444         so that subsequent mkdir calls succeed.
24445
24446 2010-12-25  Bruno Haible  <bruno@clisp.org>
24447
24448         iswblank: Fix C++ link error on Solaris 8.
24449         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
24450         _GL_FUNCDECL_SYS.
24451
24452 2010-12-25  Bruno Haible  <bruno@clisp.org>
24453
24454         unistd: Fix C++ link error on Solaris 8.
24455         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
24456
24457 2010-12-25  Bruno Haible  <bruno@clisp.org>
24458
24459         readlink doc: Mention an old glibc bug.
24460         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
24461
24462 2010-12-25  Bruno Haible  <bruno@clisp.org>
24463
24464         fcntl-h: Fix for use of C++ on glibc systems.
24465         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24466         also on glibc systems in C++ mode.
24467         Reported by Gary V. Vaughan <gary@gnu.org>.
24468
24469 2010-12-25  Bruno Haible  <bruno@clisp.org>
24470
24471         roundl-ieee: Make it work on OSF/1 5.1 with cc.
24472         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
24473
24474 2010-12-25  Bruno Haible  <bruno@clisp.org>
24475
24476         truncl-ieee: Make it work on OSF/1 5.1 with cc.
24477         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
24478         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
24479         test whether truncl works according to ISO C 99 with IEC 60559.
24480         * m4/truncl-ieee.m4: New file.
24481         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
24482         m4/signbit.m4.
24483         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
24484
24485 2010-12-25  Bruno Haible  <bruno@clisp.org>
24486
24487         ceill-ieee: Make it work on OSF/1 5.1 with cc.
24488         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
24489         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
24490         test whether ceill works according to ISO C 99 with IEC 60559.
24491         * m4/ceill-ieee.m4: New file.
24492         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
24493         m4/signbit.m4.
24494         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
24495
24496 2010-12-25  Bruno Haible  <bruno@clisp.org>
24497
24498         Ensure all prerequisites of <wchar.h> are included.
24499         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
24500         before <wchar.h>.
24501         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24502         gl_MBRLEN_NUL_RETVAL): Likewise.
24503         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24504         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
24505         AC_FUNC_MBRTOWC): Likewise.
24506         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24507         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
24508         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24509         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
24510         Likewise.
24511         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24512         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
24513         (gl_WCHAR_H): Improve comments.
24514         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24515
24516 2010-12-25  Bruno Haible  <bruno@clisp.org>
24517
24518         strtok_r: Fix C syntax error in autoconf macro.
24519         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
24520         characters in test program.
24521
24522 2010-12-24  Bruno Haible  <bruno@clisp.org>
24523
24524         ceil, trunc, round: Fix gcc warnings.
24525         * lib/ceil.c (MIN): Undefine before redefining.
24526         * lib/trunc.c (MIN): Likewise.
24527         * lib/round.c (MIN): Likewise.
24528         Include <math.h> first.
24529
24530 2010-12-24  Bruno Haible  <bruno@clisp.org>
24531
24532         select tests: Avoid failures on OSF/1 5.1.
24533         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
24534         failure of closing the last socket; it may fail with ECONNRESET.
24535
24536 2010-12-24  Eric Blake  <eblake@redhat.com>
24537
24538         stdint: avoid HP-UX 10.20 preprocessor bug
24539         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
24540         than #if.
24541         * tests/test-floor2.c (main): Likewise.
24542         Reported by Peter O'Gorman.
24543
24544         pipe: make obsoletion transition easier
24545         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
24546         * modules/pipe (Files): Include revived file.
24547         (Include): Drop reference, to mirror getdate's behavior.
24548
24549 2010-12-24  Bruno Haible  <bruno@clisp.org>
24550
24551         sys_socket: Hide mismatch of declarations on NonStop Kernel.
24552         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
24553         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
24554         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24555
24556 2010-12-24  Bruno Haible  <bruno@clisp.org>
24557
24558         gethostname: Ensure declaration on NonStop Kernel.
24559         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
24560         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24561
24562 2010-12-24  Bruno Haible  <bruno@clisp.org>
24563
24564         sys_select: Ensure all necessary types on NonStop Kernel.
24565         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
24566         include <sys/time.h>.
24567         * doc/posix-headers/sys_select.texi: Mention that it's missing on
24568         NonStop Kernel.
24569         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24570
24571 2010-12-24  Bruno Haible  <bruno@clisp.org>
24572
24573         sys_select: Remove unneeded include.
24574         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
24575         have <sys/select.h>.
24576
24577 2010-12-24  Bruno Haible  <bruno@clisp.org>
24578
24579         gethostname: Provide a fallback for HOST_NAME_MAX.
24580         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
24581         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
24582         instead.
24583         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24584
24585 2010-12-24  Bruno Haible  <bruno@clisp.org>
24586
24587         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
24588         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
24589         (SA_RESTART): Likewise.
24590         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24591
24592 2010-12-24  Bruno Haible  <bruno@clisp.org>
24593
24594         signal: Define NSIG.
24595         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
24596         * tests/test-signal.c (nsig): New variable.
24597         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24598
24599 2010-12-24  Bruno Haible  <bruno@clisp.org>
24600
24601         rename, renameat: Avoid test failures on OSF/1 5.1.
24602         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
24603         alternative error codes.
24604         * tests/test-renameat.c (main): Likewise.
24605
24606 2010-12-24  Bruno Haible  <bruno@clisp.org>
24607
24608         *printf: Detect large precisions bug on Solaris 10/SPARC.
24609         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
24610         by Paul Eggert.
24611         * tests/test-snprintf-posix.h (test_function): Add this test code here
24612         too.
24613         * tests/test-sprintf-posix.h (test_function): Likewise.
24614         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24615         * tests/test-vasprintf-posix.c (test_function): Likewise.
24616         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
24617         around by gnulib.
24618         * doc/posix-functions/printf.texi: Likewise.
24619         * doc/posix-functions/snprintf.texi: Likewise.
24620         * doc/posix-functions/sprintf.texi: Likewise.
24621         * doc/posix-functions/vfprintf.texi: Likewise.
24622         * doc/posix-functions/vprintf.texi: Likewise.
24623         * doc/posix-functions/vsnprintf.texi: Likewise.
24624         * doc/posix-functions/vsprintf.texi: Likewise.
24625         * doc/posix-functions/dprintf.texi: Undo last commit.
24626         * doc/posix-functions/vdprintf.texi: Likewise.
24627
24628 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
24629
24630         tests: port test-fdutimensat.c to Solaris 8
24631         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
24632         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
24633         On Solaris 8, it fails with errno == ENOSYS, because there is no
24634         futimens (so it can't use the fd), and there is no lutimens (so it
24635         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
24636
24637         vsnprintf: make more consistent with snprintf; doc fixes
24638
24639         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
24640         the byte count return problem was promoted from the snprintf-posix
24641         to the snprintf module.
24642         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
24643         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
24644         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
24645         * tests/test-snprintf.c (main): Check the byte count returned.
24646         * tests/test-vsnprintf.c (main): Likewise.
24647
24648 2010-12-23  Eric Blake  <eblake@redhat.com>
24649
24650         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
24651         * modules/sigpipe (License): Relax license.
24652
24653 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24654
24655         doc: document Solaris printf bug with large float precisions
24656         * doc/posix-functions/dprintf.texi (dprintf):
24657         * doc/posix-functions/fprintf.texi (fprintf):
24658         * doc/posix-functions/printf.texi (printf):
24659         * doc/posix-functions/snprintf.texi (snprintf):
24660         * doc/posix-functions/sprintf.texi (sprintf):
24661         * doc/posix-functions/vdprintf.texi (vdprintf):
24662         * doc/posix-functions/vfprintf.texi (vfprintf):
24663         * doc/posix-functions/vprintf.texi (vprintf):
24664         * doc/posix-functions/vsnprintf.texi (vsnprintf):
24665         * doc/posix-functions/vsprintf.texi (vsprintf):
24666         Mention that these functions mishandle large floating point
24667         precisions on Solaris 10.  The same bug is also present in Solaris
24668         8, and I assume earlier.  This causes "cd gnulib-tests; make
24669         check" to fail on Solaris 8 (and I assume, later) when building
24670         the latest coreutils, in test-vasprintf-posix's call to
24671         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
24672         the wide flavors (e.g., wprintf) so this patch just updates the
24673         documentation for the narrow ones.
24674
24675         test-posixtm.c: add two tests
24676         * tests/test-posixtm.c: Add two tests, to highlight the
24677         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
24678         around this bug; this is merely to document it.
24679
24680 2010-12-22  Bruno Haible  <bruno@clisp.org>
24681
24682         getlogin_r: Work around portability problem on OSF/1.
24683         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
24684         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
24685         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
24686         test for a truncated result.
24687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
24688         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
24689         * modules/getlogin_r (Depends-on): Add memchr.
24690         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
24691
24692 2010-12-22  Bruno Haible  <bruno@clisp.org>
24693
24694         ptsname: Avoid test failure on OSF/1 5.1.
24695         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
24696         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
24697         (same_slave): New function.
24698         (main): Use it to compare ptsname's result with the expected file name.
24699
24700 2010-12-22  Bruno Haible  <bruno@clisp.org>
24701
24702         Port extended stdio modules to HP NonStop Kernel.
24703         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
24704         macros.
24705         * lib/fbufmode.c: Update comments.
24706         * lib/fflush.c: Likewise.
24707         * lib/fpurge.c: Likewise.
24708         * lib/freadable.c: Likewise.
24709         * lib/freadahead.c: Likewise.
24710         * lib/freading.c: Likewise.
24711         * lib/freadptr.c: Likewise.
24712         * lib/freadseek.c: Likewise.
24713         * lib/fseeko.c: Likewise.
24714         * lib/fseterr.c: Likewise.
24715         * lib/fwritable.c: Likewise.
24716         * lib/fwriting.c: Likewise.
24717         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24718
24719 2010-12-22  Bruno Haible  <bruno@clisp.org>
24720
24721         ttyname_r: Work around bug on OSF/1 5.1.
24722         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
24723         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
24724         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
24725         present.
24726         * lib/ttyname_r.c (ttyname_r): Update comments.
24727
24728 2010-12-22  Bruno Haible  <bruno@clisp.org>
24729
24730         round: Implement result sign according to IEEE 754.
24731         * lib/round.c (MIN, MINUS_ZERO): New macros.
24732         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
24733         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
24734         * tests/test-round-ieee.c (main): Likewise.
24735         * tests/test-roundl-ieee.c (main): Likewise.
24736
24737         trunc: Implement result sign according to IEEE 754.
24738         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
24739         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
24740         * tests/test-trunc2.c: Include minus-zero.h.
24741         (MINUS_ZERO): New macro.
24742         (trunc_reference): Keep in sync with lib/trunc.c.
24743         * tests/test-truncf2.c: Include minus-zero.h.
24744         (MINUS_ZERO): New macro.
24745         (truncf_reference): Keep in sync with lib/trunc.c.
24746         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
24747         * tests/test-trunc-ieee.c (main): Likewise.
24748         * tests/test-truncl-ieee.c (main): Likewise.
24749
24750         ceil: Implement result sign according to IEEE 754.
24751         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
24752         (FUNC): Return -0.0 for -1 < x < 0.
24753         * tests/test-ceil2.c: Include minus-zero.h.
24754         (MINUS_ZERO): New macro.
24755         (ceil_reference): Keep in sync with lib/ceil.c.
24756         * tests/test-ceilf2.c: Include minus-zero.h.
24757         (MINUS_ZERO): New macro.
24758         (ceilf_reference): Keep in sync with lib/ceil.c.
24759         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
24760         * tests/test-ceil-ieee.c (main): Likewise.
24761         * tests/test-ceill-ieee.c (main): Likewise.
24762
24763         floor: Implement result sign according to IEEE 754.
24764         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
24765         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
24766         * tests/test-floorf2.c (floorf_reference): Likewise.
24767         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
24768         * tests/test-floor-ieee.c (main): Likewise.
24769         * tests/test-floorl-ieee.c (main): Likewise.
24770
24771 2010-12-22  Bruno Haible  <bruno@clisp.org>
24772
24773         getaddrinfo: Update doc.
24774         * doc/posix-functions/gai_strerror.texi: Return type is also different
24775         on AIX and HP-UX.
24776
24777 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24778
24779         getaddrinfo, inet_ntop: Update doc for Solaris.
24780         * doc/posix-functions/gai_strerror.texi: Return type is also an
24781         issue on Solaris 9 and earlier.
24782         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
24783         on Solaris 10 and earlier.
24784
24785 2010-12-21  Bruno Haible  <bruno@clisp.org>
24786
24787         New module 'roundl-ieee'.
24788         * modules/roundl-ieee: New file.
24789         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
24790         test whether roundl works according to ISO C 99 with IEC 60559.
24791         * m4/roundl-ieee.m4: New file.
24792         * modules/roundl-ieee-tests: New file.
24793         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
24794         * tests/test-roundl.c (main): Remove signbit tests.
24795         * modules/roundl-tests (Depends-on): Remove signbit.
24796         * doc/posix-functions/roundl.texi: Mention the new module.
24797
24798 2010-12-21  Bruno Haible  <bruno@clisp.org>
24799
24800         New module 'truncl-ieee'.
24801         * modules/truncl-ieee: New file.
24802         * modules/truncl-ieee-tests: New file.
24803         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
24804         * tests/test-truncl.c (main): Remove signbit tests.
24805         * modules/truncl-tests (Depends-on): Remove signbit.
24806         * doc/posix-functions/truncl.texi: Mention the new module.
24807
24808 2010-12-21  Bruno Haible  <bruno@clisp.org>
24809
24810         New module 'ceill-ieee'.
24811         * modules/ceill-ieee: New file.
24812         * modules/ceill-ieee-tests: New file.
24813         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
24814         * tests/test-ceill.c (main): Remove signbit tests.
24815         * modules/ceill-tests (Depends-on): Remove signbit.
24816         * doc/posix-functions/ceill.texi: Mention the new module.
24817
24818 2010-12-21  Bruno Haible  <bruno@clisp.org>
24819
24820         New module 'floorl-ieee'.
24821         * modules/floorl-ieee: New file.
24822         * modules/floorl-ieee-tests: New file.
24823         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
24824         * tests/test-floorl.c (main): Remove signbit tests.
24825         * modules/floorl-tests (Depends-on): Remove signbit.
24826         * doc/posix-functions/floorl.texi: Mention the new module.
24827
24828 2010-12-21  Bruno Haible  <bruno@clisp.org>
24829
24830         New module 'round-ieee'.
24831         * modules/round-ieee: New file.
24832         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
24833         whether round works according to ISO C 99 with IEC 60559.
24834         * m4/round-ieee.m4: New file.
24835         * modules/round-ieee-tests: New file.
24836         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
24837         * tests/test-round1.c (main): Remove signbit tests.
24838         * modules/round-tests (Depends-on): Remove 'signbit'.
24839         * doc/posix-functions/round.texi: Mention the new module.
24840
24841 2010-12-21  Bruno Haible  <bruno@clisp.org>
24842
24843         New module 'trunc-ieee'.
24844         * modules/trunc-ieee: New file.
24845         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
24846         whether trunc works according to ISO C 99 with IEC 60559.
24847         * m4/trunc-ieee.m4: New file.
24848         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
24849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
24850         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
24851         * modules/trunc-ieee-tests: New file.
24852         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
24853         * tests/test-trunc1.c (main): Remove signbit tests.
24854         * modules/trunc-tests (Depends-on): Remove 'signbit'.
24855         * doc/posix-functions/trunc.texi: Mention the new module.
24856
24857 2010-12-21  Bruno Haible  <bruno@clisp.org>
24858
24859         New module 'ceil-ieee'.
24860         * modules/ceil-ieee: New file.
24861         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
24862         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
24863         ISO C 99 with IEC 60559.
24864         * m4/ceil-ieee.m4: New file.
24865         * modules/ceil (Files): Add lib/ceil.c.
24866         (Depends-on): Add 'float'.
24867         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24868         * lib/math.in.h (ceil): New declaration.
24869         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
24870         REPLACE_CEIL.
24871         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
24872         * modules/ceil-ieee-tests: New file.
24873         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
24874         * tests/test-math-c++.cc: Check the signature of 'ceil'.
24875         * doc/posix-functions/ceil.texi: Mention the new module.
24876
24877 2010-12-21  Bruno Haible  <bruno@clisp.org>
24878
24879         New module 'floor-ieee'.
24880         * modules/floor-ieee: New file.
24881         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
24882         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
24883         ISO C 99 with IEC 60559.
24884         * m4/floor-ieee.m4: New file.
24885         * modules/floor (Files): Add lib/floor.c.
24886         (Depends-on): Add 'float'.
24887         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24888         * lib/math.in.h (floor): New declaration.
24889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
24890         REPLACE_FLOOR.
24891         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
24892         * modules/floor-ieee-tests: New file.
24893         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
24894         * tests/test-math-c++.cc: Check the signature of 'floor'.
24895         * doc/posix-functions/floor.texi: Mention the new module.
24896
24897 2010-12-21  Bruno Haible  <bruno@clisp.org>
24898
24899         New module 'roundf-ieee'.
24900         * modules/roundf-ieee: New file.
24901         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
24902         test whether roundf works according to ISO C 99 with IEC 60559.
24903         * m4/roundf-ieee.m4: New file.
24904         * modules/roundf-ieee-tests: New file.
24905         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
24906         * tests/test-roundf1.c (main): Remove signbit tests.
24907         * modules/roundf-tests (Depends-on): Remove 'signbit'.
24908         * doc/posix-functions/roundf.texi: Mention the new module.
24909
24910 2010-12-21  Bruno Haible  <bruno@clisp.org>
24911
24912         New module 'truncf-ieee'.
24913         * modules/truncf-ieee: New file.
24914         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
24915         test whether truncf works according to ISO C 99 with IEC 60559.
24916         * m4/truncf-ieee.m4: New file.
24917         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
24918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
24919         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
24920         * modules/truncf-ieee-tests: New file.
24921         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
24922         * tests/test-truncf1.c (main): Remove signbit tests.
24923         * modules/truncf-tests (Depends-on): Remove 'signbit'.
24924         * doc/posix-functions/truncf.texi: Mention the new module.
24925
24926 2010-12-21  Bruno Haible  <bruno@clisp.org>
24927
24928         New module 'ceilf-ieee'.
24929         * modules/ceilf-ieee: New file.
24930         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
24931         test whether ceilf works according to ISO C 99 with IEC 60559.
24932         * m4/ceilf-ieee.m4: New file.
24933         * modules/ceilf-ieee-tests: New file.
24934         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
24935         * tests/test-ceilf1.c (main): Remove signbit tests.
24936         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
24937         * doc/posix-functions/ceilf.texi: Mention the new module.
24938
24939 2010-12-21  Bruno Haible  <bruno@clisp.org>
24940
24941         New module 'floorf-ieee'.
24942         * modules/floorf-ieee: New file.
24943         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
24944         test whether floorf works according to ISO C 99 with IEC 60559.
24945         * m4/floorf-ieee.m4: New file.
24946         * modules/floorf-ieee-tests: New file.
24947         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
24948         * tests/test-floorf1.c (main): Remove signbit tests.
24949         * modules/floorf-tests (Depends-on): Remove 'signbit'.
24950         * doc/posix-functions/floorf.texi: Mention the new module.
24951
24952 2010-12-21  Bruno Haible  <bruno@clisp.org>
24953
24954         Support for minus zero in autoconf macros.
24955         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
24956         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
24957         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
24958         * tests/minus-zero.h: Update comments.
24959
24960 2010-12-21  Bruno Haible  <bruno@clisp.org>
24961
24962         Tests for module 'ceil'.
24963         * modules/ceil-tests: New file.
24964         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
24965         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
24966
24967 2010-12-21  Bruno Haible  <bruno@clisp.org>
24968
24969         Tests for module 'floor'.
24970         * modules/floor-tests: New file.
24971         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
24972         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
24973
24974 2010-12-21  Bruno Haible  <bruno@clisp.org>
24975
24976         math: Fix indentation.
24977         * lib/math.in.h (floorf): Fix indentation.
24978
24979 2010-12-21  Bruno Haible  <bruno@clisp.org>
24980
24981         Fix cross-compilation guesses on Solaris.
24982         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
24983         not match "solaris2.10".
24984         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24985         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
24986         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
24987
24988 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
24989
24990         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
24991         This fixes a problem observed with the latest coreutils snapshot
24992         that caused a test to fail on Solaris 8.  src/csplit.c's call
24993         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
24994         earlier, instead of returning the number of bytes that would have
24995         been generated; this causes csplit to incorrectly report memory
24996         exhaustion.
24997         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
24998         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
24999         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
25000         comments to match.
25001         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
25002         Fix typo in matching older versions of Solaris: "solaris2.10"
25003         is matched by the shell pattern "solaris2.[0-9]*".  This matters
25004         only for guessing while cross-compiling.
25005         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
25006
25007 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
25008
25009         ftoastr: fix comment again
25010         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25011         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
25012         Also, simplify example a bit by using flags = 0.
25013
25014 2010-12-20  Bruno Haible  <bruno@clisp.org>
25015
25016         round*, trunc*: Update documentation regarding glibc.
25017         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
25018         * doc/posix-functions/round.texi: Likewise.
25019         * doc/posix-functions/roundl.texi: Likewise.
25020         * doc/posix-functions/truncf.texi: Likewise.
25021         * doc/posix-functions/trunc.texi: Likewise.
25022         * doc/posix-functions/truncl.texi: Likewise.
25023
25024 2010-12-20  Bruno Haible  <bruno@clisp.org>
25025
25026         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
25027         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
25028         * doc/posix-functions/round.texi: Likewise.
25029         * doc/posix-functions/roundl.texi: Likewise.
25030
25031 2010-12-20  Bruno Haible  <bruno@clisp.org>
25032
25033         ttyname_r: Add missing declaration on HP-UX 11.
25034         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
25035         HAVE_TTYNAME_R.
25036         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
25037         declared. Set HAVE_TTYNAME_R always.
25038         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25039         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
25040         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
25041         HAVE_TTYNAME_R.
25042         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
25043
25044 2010-12-20  Bruno Haible  <bruno@clisp.org>
25045
25046         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
25047         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
25048         * doc/posix-functions/getlogin_r.texi: Likewise.
25049         * tests/test-getlogin.c: Include <errno.h>.
25050         (main): Avoid test failure on HP-UX 11.11.
25051         * tests/test-getlogin_r.c (main): Likewise.
25052
25053 2010-12-20  Bruno Haible  <bruno@clisp.org>
25054
25055         getlogin_r: Add missing declaration on HP-UX 11.
25056         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
25057         declared also when it exists as a function.
25058         * doc/posix-functions/getlogin_r.texi: Document this workaround.
25059
25060 2010-12-20  Bruno Haible  <bruno@clisp.org>
25061
25062         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
25063         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
25064         through wcrtomb.
25065
25066 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25067
25068         ftoastr: fix comment
25069         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25070         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
25071
25072 2010-12-19  Bruno Haible  <bruno@clisp.org>
25073
25074         isnan: Ensure it is a macro.
25075         * lib/math.in.h (isnan): Define as a macro if not already a macro.
25076         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
25077         Solaris.
25078
25079 2010-12-19  Bruno Haible  <bruno@clisp.org>
25080
25081         ldexpl test: Fix link error on OSF/1 5.1.
25082         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
25083
25084 2010-12-19  Bruno Haible  <bruno@clisp.org>
25085
25086         wctype: Make it work in C++ mode on OSF/1 5.1.
25087         * lib/wctype.in.h (iswblank): Declare but not define here.
25088         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
25089         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
25090         * modules/wctype (Files): Add lib/iswblank.c.
25091
25092 2010-12-19  Bruno Haible  <bruno@clisp.org>
25093
25094         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
25095         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
25096         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
25097
25098 2010-12-19  Bruno Haible  <bruno@clisp.org>
25099
25100         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
25101         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
25102         _POSIX_PII_SOCKET.
25103         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
25104         * doc/posix-functions/recvfrom.texi: Likewise.
25105         * doc/posix-functions/send.texi: Likewise.
25106         * doc/posix-functions/sendto.texi: Likewise.
25107
25108 2010-12-19  Bruno Haible  <bruno@clisp.org>
25109
25110         tcgetsid: Add missing declaration on OSF/1 5.1.
25111         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
25112         HAVE_TCGETSID.
25113         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
25114         Don't set HAVE_TCGETSID.
25115         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
25116         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
25117         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
25118         HAVE_TCGETSID.
25119         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
25120
25121 2010-12-19  Bruno Haible  <bruno@clisp.org>
25122
25123         stdio: Fix problem with popen() declaration on OSF/1 5.1.
25124         * lib/stdio.in.h: During the include_next statement, let recursive
25125         includes of this file include only the system header file.
25126
25127 2010-12-19  Bruno Haible  <bruno@clisp.org>
25128
25129         iconv_open: Fix regression from 2010-12-04.
25130         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
25131         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
25132
25133 2010-12-19  Bruno Haible  <bruno@clisp.org>
25134
25135         stdbool test: Avoid a gcc warning.
25136         * tests/test-stdbool.c (main): Fail if e1 is false.
25137         Reported by Jim Meyering.
25138
25139 2010-12-19  Jim Meyering  <meyering@redhat.com>
25140
25141         setenv: restore to working order
25142         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
25143         mistakenly removed.
25144         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
25145         HAVE_SETENV.
25146         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
25147         HAVE_SETENV.
25148
25149 2010-12-19  Bruno Haible  <bruno@clisp.org>
25150
25151         Document some different function declarations on OSF/1 5.1.
25152         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
25153         * doc/posix-functions/inet_ntop.texi: Likewise.
25154         * doc/posix-functions/gethostname.texi: Likewise.
25155         * lib/unistd.in.h (gethostname): Update comment.
25156
25157 2010-12-19  Bruno Haible  <bruno@clisp.org>
25158
25159         doc: Mention vasprintf-posix module.
25160         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
25161         the 'vasprintf-posix' module.
25162         * doc/glibc-functions/vasprintf.texi: Likewise.
25163
25164 2010-12-19  Bruno Haible  <bruno@clisp.org>
25165
25166         unsetenv: Add missing declaration on OSF/1 5.1.
25167         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
25168         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
25169         Don't set HAVE_UNSETENV. In the test program, set _BSD.
25170         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
25171         not HAVE_UNSETENV.
25172         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
25173         HAVE_UNSETENV.
25174         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
25175
25176 2010-12-19  Bruno Haible  <bruno@clisp.org>
25177
25178         setenv: Add missing declaration on OSF/1 5.1.
25179         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
25180         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
25181         declared. Don't set HAVE_SETENV.
25182         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
25183         not HAVE_SETENV.
25184         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
25185         HAVE_SETENV.
25186         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
25187
25188 2010-12-19  Bruno Haible  <bruno@clisp.org>
25189
25190         nl_langinfo tests: Avoid gcc warning.
25191         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
25192
25193 2010-12-19  Bruno Haible  <bruno@clisp.org>
25194
25195         mknod: Avoid error in C++ mode on OSF/1 with GCC.
25196         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
25197         _GL_CXXALIAS_SYS.
25198
25199 2010-12-19  Bruno Haible  <bruno@clisp.org>
25200
25201         stdbool: Relax test.
25202         * tests/test-stdbool.c (e): Don't require that casts from a variable's
25203         address to 'bool' work in static initializer, for compilers other than
25204         GCC.
25205
25206 2010-12-19  Bruno Haible  <bruno@clisp.org>
25207
25208         ftello: Add missing declaration on OSF/1 5.1.
25209         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
25210         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
25211         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
25212         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
25213         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
25214
25215 2010-12-19  Bruno Haible  <bruno@clisp.org>
25216
25217         fseeko: Add missing declaration on OSF/1 5.1.
25218         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
25219         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
25220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
25221         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
25222         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
25223
25224 2010-12-19  Bruno Haible  <bruno@clisp.org>
25225
25226         fchdir: Add missing declaration on OSF/1 5.1.
25227         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
25228         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
25229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
25230         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
25231         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
25232
25233 2010-12-19  Bruno Haible  <bruno@clisp.org>
25234
25235         relocatable-prog-wrapper: Separate from relocatable-prog.
25236         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
25237         uninstall-relocwrapper rule here.
25238         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
25239         Reported by Ian Beckwith <ianb@erislabs.net>.
25240
25241 2010-12-19  Bruno Haible  <bruno@clisp.org>
25242
25243         unistr/u8-mbsnlen: Add missing dependency.
25244         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
25245         Reported by Ian Beckwith <ianb@erislabs.net>.
25246
25247 2010-12-19  Bruno Haible  <bruno@clisp.org>
25248
25249         iconv: Make it possible again to use this module without 'iconv-h'.
25250         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
25251         if it is not defined.
25252         Reported by Ian Beckwith <ianb@erislabs.net>.
25253
25254 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25255
25256         acl: port to Solaris 8 when copying from tmpfs to ufs
25257         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
25258         error number.  Problem observed on Solaris 8 with latest
25259         coreutils, with "mv A B", where A is on a tmpfs file system and B
25260         is on a ufs file system.  This caused coreutils' mv/part-symlink
25261         test to fail.
25262
25263         tests: set fail=0 at start
25264         * tests/init.sh (setup_): Move fail=0 initialization here ...
25265         (mktempd_): ... from here, so that tests can rely on fail being
25266         set to 0 initially.  This fixes a problem in coreutils; see:
25267         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
25268
25269 2010-12-18  Bruno Haible  <bruno@clisp.org>
25270
25271         memmem-simple: Stylistic changes.
25272         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
25273         Fix preprocessor directive indentation.
25274
25275 2010-12-15  Pádraig Brady <P@draigBrady.com>
25276
25277         memmem, memmem-simple: reorganize and expand empty needle check
25278         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
25279         functional checks to memmem-simple so that one has a fully functional
25280         memmem by using just this module.
25281         Restrict the performance only check to the memmem module.
25282         Also expand the empty needle check to ensure the correct
25283         pointer is returned, not just a non NULL pointer.
25284         * doc/glibc-functions/memmem.texi: Rearrange the portability
25285         documentation to correlate with the rearranged checks.
25286         Clarify exactly how the memmem and memmem-simple modules
25287         relate to each other.
25288
25289 2010-12-15  Pádraig Brady <P@draigBrady.com>
25290             Bruno Haible  <bruno@clisp.org>
25291
25292         Improve cross-compilation guesses for uClibc.
25293         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
25294         that uClibc does not have the glibc bug.
25295         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
25296         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
25297
25298 2010-12-14  Eric Blake  <eblake@redhat.com>
25299
25300         configmake: provide fallbacks for oldest supported autotools
25301         * m4/configmake.m4: New file.
25302         * modules/configmake (Files): Ship it.
25303         (configure.ac): Use it to guarantee fallbacks.
25304
25305 2010-12-13  Pádraig Brady <P@draigBrady.com>
25306
25307         read-file: Improve handling of large files
25308         * lib/read-file.c (fread_file): Minimize realloc()s
25309         for regular files, and better manage sizes around SIZE_MAX.
25310
25311 2010-12-13  Eric Blake  <eblake@redhat.com>
25312
25313         cloexec, fcntl: relax license
25314         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
25315         consent from all contributors.
25316         * modules/fcntl (License): Likewise.
25317
25318 2010-12-10  Bruno Haible  <bruno@clisp.org>
25319
25320         Tests for module 'pipe-posix'.
25321         * modules/pipe-posix-tests: New file.
25322         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
25323
25324 2010-12-10  Bruno Haible  <bruno@clisp.org>
25325
25326         pipe-posix: Make it work in C++ mode.
25327         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
25328         (pipe): Use common idiom, not a macro definition.
25329         * lib/pipe.c: New file.
25330         * m4/pipe.m4: New file.
25331         * modules/pipe-posix (Description): Enhance.
25332         (Files): Add lib/pipe.c, m4/pipe.m4.
25333         (configure.ac): Invoke gl_FUNC_PIPE.
25334         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
25335         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
25336         * tests/test-unistd-c++.cc: Check the signature of pipe.
25337
25338 2010-12-10  Bruno Haible  <bruno@clisp.org>
25339
25340         Rename module 'pipe' to 'spawn-pipe'.
25341         * modules/spawn-pipe: New file, renamed from modules/pipe.
25342         (Files, configure.ac, Makefile.am): Update.
25343         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
25344         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
25345         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
25346         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
25347         "spawn-pipe.h" instead of "pipe.h".
25348         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
25349         to gl_SPAWN_PIPE.
25350         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
25351         (Files, Makefile.am): Update.
25352         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
25353         Update.
25354         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
25355         Include "spawn-pipe.h" instead of "pipe.h".
25356         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
25357         * lib/javacomp.c: Likewise.
25358         * lib/javaversion.c: Likewise.
25359         * lib/pipe-filter-gi.c: Likewise.
25360         * lib/pipe-filter-ii.c: Likewise.
25361         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
25362         * modules/javacomp (Depends-on): Likewise.
25363         * modules/javaversion (Depends-on): Likewise.
25364         * modules/pipe-filter-gi (Depends-on): Likewise.
25365         * modules/pipe-filter-ii (Depends-on): Likewise.
25366         * MODULES.html.sh (Executing programs): Update.
25367         * NEWS: Mention the change.
25368
25369 2010-12-10  Eric Blake  <eblake@redhat.com>
25370
25371         pipe-posix: new module
25372         * modules/pipe-posix: New file.
25373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
25374         (gl_UNISTD_H): Check for declaration.
25375         * modules/unistd (Makefile.am): Substitute it.
25376         * lib/unistd.in.h (pipe): Provide it for mingw.
25377         * doc/posix-functions/pipe.texi (pipe): Update documentation.
25378         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
25379
25380 2010-12-07  Bruno Haible  <bruno@clisp.org>
25381
25382         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
25383         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
25384         u8_strcmp_gnu.
25385         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
25386
25387 2010-12-06  Bruno Haible  <bruno@clisp.org>
25388
25389         Update internal documentation.
25390         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
25391
25392 2010-12-04  Bruno Haible  <bruno@clisp.org>
25393
25394         Put more information about failed tests into the test return codes.
25395         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
25396         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
25397         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
25398         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
25399         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
25400         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25401         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25402         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25403         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
25404         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25405         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
25406         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
25407         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
25408         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25409         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
25410         returns a bit mask.
25411         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
25412         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
25413         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
25414         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
25415         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25416         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25417         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25418         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25419         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25420         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25421         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25422         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25423         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25424         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25425         * m4/link.m4 (gl_FUNC_LINK): Likewise.
25426         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25427         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
25428         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
25429         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25430         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
25431         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25432         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25433         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
25434         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25435         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25436         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25437         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
25438         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25439         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25440         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
25441         gl_PRINTF_PRECISION): Likewise.
25442         * m4/regex.m4 (gl_REGEX): Likewise.
25443         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25444         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
25445         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
25446         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25447         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25448         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25449         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
25450         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
25451         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25452         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25453         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25454         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25455         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25456         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
25457         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25458         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25459         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
25460         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25461         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25462         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
25463         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
25464         enumerated value.
25465         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
25466
25467 2010-12-04  Bruno Haible  <bruno@clisp.org>
25468
25469         Update for Solaris 11 2010-11.
25470         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
25471         Express, released in November 2010.
25472
25473 2010-12-04  Bruno Haible  <bruno@clisp.org>
25474
25475         nproc: Relax license.
25476         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
25477         and Paul Eggert.
25478         Requested by Ludovic Courtès <ludo@gnu.org>.
25479
25480 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
25481
25482         utimecmp: fine-grained src to nearby coarse-grained dest
25483
25484         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
25485         and the source is on a file system with higher-resolution time
25486         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
25487         not work, and the time stamps are close together, the algorithm to
25488         determine the exact resolution from the read-back mtime was buggy:
25489         it had a "!=" where it should have had an "==".  This bug has been
25490         in the code ever since it was introduced to gnulib.
25491         Problem reported by Dan Jacobson in
25492         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
25493
25494 2010-11-30  Bruno Haible  <bruno@clisp.org>
25495
25496         strerror_r-posix: Fix autoconf test.
25497         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
25498
25499 2010-11-28  Bruno Haible  <bruno@clisp.org>
25500             Paul Eggert  <eggert@cs.ucla.edu>
25501
25502         Tests for module 'getdomainname'.
25503         * modules/getdomainname-tests: New file.
25504         * tests/test-getdomainname.c: New file, based on
25505         tests/test-gethostname.c.
25506
25507 2010-11-28  Bruno Haible  <bruno@clisp.org>
25508             Paul Eggert  <eggert@cs.ucla.edu>
25509
25510         getdomainname: Use the system function when possible.
25511         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
25512         (getdomainname): Replace if needed. Provide the declaration if it is
25513         missing. Don't use _GL_CXXALIAS_SYS_CAST.
25514         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
25515         (getdomainname): When the system has getdomainname, call the system
25516         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
25517         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
25518         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
25519         found in libnsl. Look for the declaration also in <netdb.h>. Replace
25520         the function if its second argument is of type 'int' or if it is found
25521         in libnsl.
25522         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
25523         <sys/systeminfo.h> and sysinfo().
25524         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
25525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25526         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
25527         HAVE_GETDOMAINNAME.
25528         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
25529         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
25530         * doc/glibc-functions/getdomainname.texi: Document the problems with
25531         the getdomainname declaration.
25532
25533 2010-11-28  Bruno Haible  <bruno@clisp.org>
25534
25535         sys_socket: Ensure ss_family field on AIX.
25536         * lib/sys_socket.in.h (ss_family): New macro definition.
25537         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
25538         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
25539         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25540         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25541         * modules/sys_socket (Makefile.am): Substitute
25542         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25543         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
25544
25545 2010-11-27  Bruno Haible  <bruno@clisp.org>
25546
25547         readline: Improve configure output.
25548         * m4/readline.m4 (gl_FUNC_READLINE): Make the
25549         "checking for readline..." result understandable.
25550
25551 2010-11-27  Bruno Haible  <bruno@clisp.org>
25552
25553         *printf-posix: Detect a bug on Solaris 10/x86.
25554         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
25555         for floating-point output.
25556         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
25557         directive.
25558         * tests/test-snprintf-posix.h (test_function): Likewise.
25559         * tests/test-sprintf-posix.h (test_function): Likewise.
25560         * tests/test-vasprintf-posix.c (test_function): Likewise.
25561         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
25562         * doc/posix-functions/printf.texi: Likewise.
25563         * doc/posix-functions/snprintf.texi: Likewise.
25564         * doc/posix-functions/sprintf.texi: Likewise.
25565         * doc/posix-functions/vfprintf.texi: Likewise.
25566         * doc/posix-functions/vprintf.texi: Likewise.
25567         * doc/posix-functions/vsnprintf.texi: Likewise.
25568         * doc/posix-functions/vsprintf.texi: Likewise.
25569         * doc/glibc-functions/obstack_printf.texi: Likewise.
25570         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
25571
25572 2010-11-27  Bruno Haible  <bruno@clisp.org>
25573
25574         Fix link error when module libunistring-optional is in use.
25575         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
25576         * modules/striconveha-tests (Makefile.am): Likewise.
25577
25578 2010-11-27  Bruno Haible  <bruno@clisp.org>
25579
25580         regex: Mention link dependencies.
25581         * modules/regex (Link): New section.
25582         * modules/rpmatch (Link): Likewise.
25583         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
25584
25585 2010-11-27  Bruno Haible  <bruno@clisp.org>
25586
25587         ftoastr: Fix compilation error on Solaris.
25588         * lib/ftoastr.c: Include <config.h>.
25589
25590 2010-11-27  Bruno Haible  <bruno@clisp.org>
25591
25592         getloadavg: Update documentation.
25593         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
25594
25595 2010-11-27  Bruno Haible  <bruno@clisp.org>
25596
25597         sys_socket: Fix test whether the functions are declared.
25598         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
25599         not <sys/select.h>.
25600
25601 2010-11-27  Bruno Haible  <bruno@clisp.org>
25602
25603         getpass: Make sure to get system declaration on some platforms.
25604         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
25605         gl_USE_SYSTEM_EXTENSIONS.
25606         * modules/getpass (Depends-on): Add extensions.
25607
25608 2010-11-26  Bruno Haible  <bruno@clisp.org>
25609
25610         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
25611         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
25612         'iconv' module is present.
25613         (ICONV_CONST): New macro.
25614         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
25615         ICONV_CONST.
25616         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
25617         set ICONV_CONST.
25618         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
25619         here.
25620         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
25621         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
25622         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
25623         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
25624         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
25625         present.
25626
25627 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25628
25629         ftoastr: comment fix
25630         * lib/ftoastr.c: "little" -> "little or no" in comment
25631
25632 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
25633
25634         stdint: port to GCC 4.3 + OSX + Octave
25635         On this platform, stdint.h is buggy and defines int64_t to long
25636         long int.  The replacement defined it to long int, causing
25637         problems with C++ style name mangling.  Instead, trust the system
25638         definition if INT64_MAX is defined, and likewise for the unsigned
25639         variant.   Problem reported by Jarno Rajahalme in
25640         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
25641         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
25642         and don't mess with int64_t and INT64_MAX in this case.
25643         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
25644
25645 2010-11-24  Bruno Haible  <bruno@clisp.org>
25646
25647         doc: Corrections regarding MacOS X 10.4 and 10.5.
25648         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
25649         MacOS X.
25650         Reported by Simon Josefsson.
25651
25652 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
25653
25654         Uninstall ".bin" files installed by relocwrapper.
25655         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
25656         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
25657         unless it is already there.
25658
25659 2010-11-21  Bruno Haible  <bruno@clisp.org>
25660
25661         Update for NetBSD 5.0.
25662         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25663         NetBSD; the test fails on NetBSD 5.0.
25664         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25665         about NetBSD.
25666
25667 2010-11-21  Bruno Haible  <bruno@clisp.org>
25668
25669         Update for HP-UX 11.23 and HP-UX 11.31.
25670         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
25671         HP-UX.
25672
25673 2010-11-21  Bruno Haible  <bruno@clisp.org>
25674
25675         Update for MacOS X 10.5.
25676         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25677         MacOS X; the test fails on MacOS X 10.5.8.
25678         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25679         about MacOS X.
25680
25681 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
25682
25683         bootstrap: add bootstrap_sync option.
25684         See discussion at
25685         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
25686         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
25687         * build-aux/bootstrap: Accept --bootstrap-sync to update
25688         bootstrap if it is not identical to the local gnulib's
25689         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
25690         enable this by default.  Accept --no-bootstrap-sync to disable
25691         it.
25692
25693 2010-11-20  Bruno Haible  <bruno@clisp.org>
25694
25695         Ensure that <features.h> is included before __GLIBC__ is tested.
25696         * lib/printf-parse.h: Include <features.h>.
25697         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
25698         Reported by Mike Frysinger <vapier@gentoo.org>.
25699
25700         Ensure that <features.h> is included before __GLIBC__ is tested.
25701         * lib/wchar.in.h: Include <features.h>.
25702         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
25703         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
25704         Reported by Mike Frysinger <vapier@gentoo.org>.
25705
25706         Ensure that <features.h> is included before __GLIBC__ is tested.
25707         * lib/arpa_inet.in.h: Include <features.h>.
25708         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
25709         * modules/arpa_inet (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         * build-aux/link-warning.h: Include <features.h>.
25714         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
25715         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
25716         Reported by Mike Frysinger <vapier@gentoo.org>.
25717
25718         Ensure that <features.h> is included before __GLIBC__ is tested.
25719         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
25720         Reported by Mike Frysinger <vapier@gentoo.org>.
25721
25722 2010-11-20  Bruno Haible  <bruno@clisp.org>
25723
25724         memmem: Fix autoconf test.
25725         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
25726
25727 2010-11-20  Bruno Haible  <bruno@clisp.org>
25728
25729         Port to uClibc.
25730         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
25731         * lib/fcntl.in.h: Likewise.
25732         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
25733         * lib/mbrtowc.c (mbrtowc): Likewise.
25734         * lib/relocatable.c (find_shared_library_fullname): Likewise.
25735         * lib/strerror_r.c: Likewise.
25736         * lib/unistr/u8-strnlen.c: Likewise.
25737         * lib/vasnprintf.c (decimal_point_char): Likewise.
25738         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
25739         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25740         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25741         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
25742         * tests/test-sigaction.c (handler, main): Likewise.
25743         * lib/freading.h: Treat uClibc like a non-glibc platform.
25744         * lib/freading.c: Likewise.
25745         * lib/gettext.h: Likewise.
25746         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
25747         Likewise.
25748         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
25749         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
25750         * lib/propername.c (proper_name_utf8): Likewise.
25751         * lib/spawn.in.h: Likewise.
25752         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
25753         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
25754         mem_cd_iconveh_internal): Likewise.
25755         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
25756         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25757         strstr, strcasestr): Likewise.
25758         * lib/unicodeio.c (unicode_to_mb): Likewise.
25759         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
25760         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
25761         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
25762         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
25763         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
25764         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
25765         * lib/unistr/u8-stpncpy.c: Likewise.
25766         * lib/vasnprintf.c (VASNPRINTF): Likewise.
25767         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
25768         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25769         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25770         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25771         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
25772         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
25773         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
25774         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25775         Likewise.
25776         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25777         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25778         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25779         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25780         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25781         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25782         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25783         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25784         * tests/test-getopt.h (OPTIND_MIN): Likewise.
25785         * tests/test-striconveha.c (main): Likewise.
25786         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25787         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
25788         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
25789         * doc/posix-functions/getline.texi: Likewise.
25790         Reported by Mike Frysinger <vapier@gentoo.org>.
25791
25792 2010-11-20  Bruno Haible  <bruno@clisp.org>
25793
25794         nproc: Fix condition.
25795         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
25796         HAVE_PTHREAD_AFFINITY_NP.
25797
25798 2010-11-20  Bruno Haible  <bruno@clisp.org>
25799
25800         Fix a comment.
25801         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
25802
25803 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
25804
25805         ftoastr: don't assume snprintf
25806         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
25807         Implement a subset of snprintf here, by using sprintf safely.
25808         * modules/ftoastr (Depends-on): Remove snprintf.
25809
25810 2010-11-19  Jim Meyering  <meyering@redhat.com>
25811
25812         test-rename.h: fix compilation failure
25813         * tests/test-rename.h (test_rename): Add omitted "}".
25814
25815 2010-11-17  Jim Meyering  <meyering@redhat.com>
25816
25817         maint.mk: add a URL discussing the no-@acronym policy
25818         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
25819
25820 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
25821
25822         ftoastr: depend on snprintf, improve comments
25823         * lib/ftoastr.c: Also mention Loitsch's draft.
25824         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
25825         needed in the current implementation, but it might simplify
25826         speeding up the code later.
25827         * modules/ftoastr: Depend on snprintf; this improves portability.
25828         Suggested by Bruno Haible in the same email.
25829
25830         ftoastr: port to hosts lacking strtof and strtold
25831         Problem reported by Bruno Haible in
25832         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
25833         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
25834         environment and strtold (and presumably strtof) are not available.
25835         * modules/ftoastr (Files): Add m4/c-strtod.m4.
25836         (configure.ac): Require gl_C99_STRTOLD.
25837
25838 2010-11-18  Bruno Haible  <bruno@clisp.org>
25839
25840         c-strtold: Avoid link error on AIX 7.
25841         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
25842         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
25843         (gl_C_STRTOLD): Test whether strtold_l exists.
25844         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25845
25846 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
25847
25848         intprops: new macro INT_BITS_STRLEN_BOUND
25849         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
25850         ftoastr.h.  This exposes an internal of intprops.h that was formerly
25851         not exposed.  Also, it uses a slightly tighter bound than before;
25852         though this makes no practical difference, we might as well be as
25853         tight as we easily can.
25854
25855         ftoastr: new module, for lossless conversion of floats to short strings
25856         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
25857         * modules/ftoastr: New files.
25858
25859 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25860
25861         bootstrap: port to Solaris sed
25862         * build-aux/bootstrap (get_version): Port to Solaris sed.
25863         See Ralf Wildenhues's note in
25864         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
25865
25866 2010-11-14  Jim Meyering  <meyering@redhat.com>
25867
25868         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
25869         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
25870         and move definition closer to sole use.
25871
25872 2010-11-13  Jim Meyering  <meyering@redhat.com>
25873
25874         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
25875         Now we require at least autoconf-2.59, which means the work-around
25876         is no longer needed.
25877         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
25878         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25879         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
25880         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
25881         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
25882
25883 2010-11-13  Bruno Haible  <bruno@clisp.org>
25884
25885         rename, renameat: Avoid test failures at NFS mounted locations.
25886         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
25887         functions.
25888         (test_rename): Use assert_nonexistent.
25889         * tests/test-rename.c: Include <dirent.h>.
25890         * tests/test-renameat.c: Likewise.
25891         Reported by Gary V. Vaughan <gary@gnu.org>.
25892
25893         rename, renameat: Document Linux bug with NFS
25894         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
25895         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
25896         * doc/posix-functions/renameat.texi: Likewise.
25897         Suggested by Eric Blake.
25898
25899 2010-11-13  Bruno Haible  <bruno@clisp.org>
25900
25901         rename test: Add comments.
25902         * tests/test-rename.h (test_rename): Add structure and comments.
25903
25904 2010-11-13  Eric Blake  <eblake@redhat.com>
25905
25906         maintainer-makefile: cover a few more files
25907         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
25908         scripts generated within C files, for libvirt.
25909
25910 2010-11-13  Bruno Haible  <bruno@clisp.org>
25911
25912         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
25913         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
25914         character, return the number of bytes that belong together, not always
25915         1.
25916         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25917         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
25918         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25919         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
25920         number of bytes of an invalid character.
25921         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
25922         (main): Invoke it.
25923         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
25924         results.
25925         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
25926         malformed byte sequences.
25927         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
25928         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
25929         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
25930         Reported by Ben Pfaff and Paolo Bonzini.
25931
25932 2010-11-13  Bruno Haible  <bruno@clisp.org>
25933
25934         openat: Work around glibc bug with fchownat() and empty file names.
25935         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
25936         (gl_FUNC_FCHOWNAT): Invoke it.
25937         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
25938         * doc/posix-functions/fchownat.texi: Document the glibc bug.
25939         Reported by Gary V. Vaughan <gary@gnu.org>.
25940
25941 2010-11-13  Bruno Haible  <bruno@clisp.org>
25942
25943         openat: Ensure autoconf macro ordering.
25944         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
25945         gl_USE_SYSTEM_EXTENSIONS.
25946         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
25947
25948 2010-11-13  Bruno Haible  <bruno@clisp.org>
25949
25950         Update comments.
25951         * lib/unistr/u8-check.c: Update file name in comments.
25952         * lib/unistr/u8-mblen.c: Likewise.
25953         * lib/unistr/u8-prev.c: Likewise.
25954         * lib/unistr/u8-strmblen.c: Likewise.
25955         * lib/unistr/u8-strmbtouc.c: Likewise.
25956
25957 2010-11-13  Jim Meyering  <meyering@redhat.com>
25958
25959         tests: avoid test failure on Solaris 10 due to lack of PATH export
25960         * tests/test-update-copyright.sh: Don't forget to export PATH.
25961
25962         init.sh: ensure that IFS is defined, just in case...
25963         * tests/init.sh (setup_): Ensure that IFS is defined,
25964         so that saving and restoring it works as expected.  This
25965         appears to be useful at least for an old version of dash
25966         from a long time ago (RH 6).  See here for details:
25967         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
25968
25969         maint.mk: tighten "test a == b" check
25970         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
25971         test to files that contain something like #!/bin/sh.
25972         Without this, coreutils would get two false positives in
25973         the comments of C source files.
25974
25975 2010-11-12  Eric Blake  <eblake@redhat.com>
25976
25977         bootstrap: fix typo in previous attempt
25978         * build-aux/bootstrap (buildreq): Correct the grouping.
25979         Reported by Paul Eggert.
25980
25981         maintainer-makefile: prohibit test x == x
25982         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
25983         Based on a report by Matthias Bolte.
25984
25985         bootstrap: allow FreeBSD gzip
25986         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
25987         which has no '.' and goes to stderr.
25988         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
25989         Reported by Matthias Bolte.
25990
25991         maintainer-makefile: check for i18n setup
25992         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
25993         will likely work.
25994
25995 2010-11-12  Bruno Haible  <bruno@clisp.org>
25996
25997         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
25998         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
25999         * lib/nanosleep.c (nanosleep): Likewise.
26000
26001 2010-11-11  Bruno Haible  <bruno@clisp.org>
26002
26003         fcntl-h: Fix for use of C++ on glibc systems.
26004         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26005         also on glibc systems in C++ mode.
26006         Reported by Gary V. Vaughan <gary@gnu.org>.
26007
26008 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26009
26010         mknod: avoid false failure with dash
26011         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
26012
26013 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26014
26015         unlink: Fix "is it should" typo in diagnostic.
26016         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
26017         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
26018
26019 2010-11-11  Bruno Haible  <bruno@clisp.org>
26020
26021         Tests for module 'strerror_r-posix'.
26022         * modules/strerror_r-posix-tests: New file.
26023         * tests/test-strerror_r.c: New file.
26024         * tests/test-string-c++.cc: Check the signature of strerror_r.
26025
26026         New module 'strerror_r-posix'.
26027         * lib/string.in.h (strerror_r): New declaration.
26028         * lib/strerror_r.c: New file.
26029         * m4/strerror_r.m4: New file.
26030         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
26031         of strerror_r.
26032         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
26033         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26034         * modules/strerror_r-posix: New file.
26035         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
26036         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26037         * doc/posix-functions/strerror_r.texi: Mention the new module and the
26038         portability problems.
26039
26040 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
26041
26042         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
26043         line is also considered for output. Quoted function name in shell
26044         command, so temporary files for functions like MyClass::operator()
26045         are removed correctly without errors.
26046
26047 2010-11-09  Bruno Haible  <bruno@clisp.org>
26048
26049         * doc/posix-functions/strerror.texi: List more failing platforms.
26050
26051         * doc/posix-functions/strerror.texi: Add a comment.
26052
26053 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
26054
26055         fdopendir: fix bug on MacOS X when low on file descriptors
26056
26057         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
26058         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
26059         All callers changed.
26060         (fdopendir): Invoke save_cwd at the top level, not after using
26061         multiple dup() calls to use up file descriptors.  Then retry
26062         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
26063         less than the maximum number of open file descriptors, because
26064         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
26065         on Mac OS X 10.6.4 for tar 1.24
26066         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
26067         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
26068         and for tar 1.25
26069         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
26070
26071 2010-11-07  Bruno Haible  <bruno@clisp.org>
26072
26073         vasnprintf: Support I flag on glibc systems.
26074         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
26075         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
26076         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
26077         snprintf function.
26078         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
26079         glibc systems.
26080         * tests/test-vasnprintf-posix3.c: New file.
26081         * modules/vasnprintf-posix-tests (Files): Add it.
26082         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
26083
26084 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26085
26086         [html] Fix copy/paste bug: Use unique name for compiler warnings.
26087         * MODULES.html.sh: For compiler warnings, use name
26088         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
26089
26090 2010-11-05  Eric Blake  <eblake@redhat.com>
26091
26092         ceil, floor: avoid spurious failure with icc
26093         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
26094         [denormals-as-zero] when optimizing without -mieee-fp option.
26095         * tests/test-floorf2.c (floorf_reference): Likewise.
26096         * tests/test-ceilf1.c (dummy): New function.
26097         (main): Use it to outsmart icc's optimization.
26098         * tests/test-floorf1.c (dummy, main): Likewise.
26099
26100         tests: require working signbit
26101         * modules/ceilf-tests (Depends-on): Add signbit.
26102         * modules/ceill-tests (Depends-on): Likewise.
26103         * modules/floorf-tests (Depends-on): Likewise.
26104         * modules/floorl-tests (Depends-on): Likewise.
26105         * modules/round-tests (Depends-on): Likewise.
26106         * modules/roundf-tests (Depends-on): Likewise.
26107         * modules/roundl-tests (Depends-on): Likewise.
26108         * modules/trunc-tests (Depends-on): Likewise.
26109         * modules/truncf-tests (Depends-on): Likewise.
26110         * modules/truncl-tests (Depends-on): Likewise.
26111
26112         strtod: work around icc bug
26113         * lib/strtod.c (minus_zero): Define to working value.
26114         (strtod): Use it to avoid icc bug.
26115
26116         copysign: enhance tests
26117         * modules/copysign-tests (Files): Add minus-zero.h.
26118         * tests/test-copysign.c (main): Also test zeros.
26119
26120 2010-11-04  Eric Blake  <eblake@redhat.com>
26121
26122         ceil, floor, round, trunc: enhance tests of -0
26123         * tests/test-ceilf1.c (main): Ensure correct sign of result.
26124         * tests/test-ceill.c (main): Likewise.
26125         * tests/test-floorf1.c (main): Likewise.
26126         * tests/test-floorl.c (main): Likewise.
26127         * tests/test-round1.c (main): Likewise.
26128         * tests/test-roundf1.c (main): Likewise.
26129         * tests/test-roundl.c (main): Likewise.
26130         * tests/test-trunc1.c (main): Likewise.
26131         * tests/test-truncf1.c (main): Likewise.
26132         * tests/test-truncl.c (main): Likewise.
26133
26134 2010-11-04  Eric Blake  <eblake@redhat.com>
26135
26136         frexp, tests: work around ICC bug with -zero
26137         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
26138         works with more compilers.
26139         * tests/minus-zero.h: New file.
26140         * modules/ceilf-tests (Files): Include it.
26141         * modules/ceill-tests (Files): Likewise.
26142         * modules/floorf-tests (Files): Likewise.
26143         * modules/floorl-tests (Files): Likewise.
26144         * modules/frexp-nolibm-tests (Files): Likewise.
26145         * modules/frexp-tests (Files): Likewise.
26146         * modules/frexpl-nolibm-tests (Files): Likewise.
26147         * modules/frexpl-tests (Files): Likewise.
26148         * modules/isnan-tests (Files): Likewise.
26149         * modules/isnand-nolibm-tests (Files): Likewise.
26150         * modules/isnand-tests (Files): Likewise.
26151         * modules/isnanf-nolibm-tests (Files): Likewise.
26152         * modules/isnanf-tests (Files): Likewise.
26153         * modules/isnanl-nolibm-tests (Files): Likewise.
26154         * modules/isnanl-tests (Files): Likewise.
26155         * modules/round-tests (Files): Likewise.
26156         * modules/roundf-tests (Files): Likewise.
26157         * modules/roundl-tests (Files): Likewise.
26158         * modules/ldexpl-tests (Files): Likewise.
26159         * modules/signbit-tests (Files): Likewise.
26160         * modules/snprintf-posix-tests (Files): Likewise.
26161         * modules/sprintf-posix-tests (Files): Likewise.
26162         * modules/strtod-tests (Files): Likewise.
26163         * modules/trunc-tests (Files): Likewise.
26164         * modules/truncf-tests (Files): Likewise.
26165         * modules/truncl-tests (Files): Likewise.
26166         * modules/vsnprintf-posix-tests (Files): Likewise.
26167         * modules/vsprintf-posix-tests (Files): Likewise.
26168         * modules/vasnprintf-posix-tests (Files): Likewise.
26169         * modules/vasprintf-posix-tests (Files): Likewise.
26170         * tests/test-ceilf1.c (main): Use it.
26171         * tests/test-ceill.c (main): Likewise.
26172         * tests/test-floorf1.c (main): Likewise.
26173         * tests/test-floorl.c (main): Likewise.
26174         * tests/test-frexp.c (main): Likewise.
26175         * tests/test-frexpl.c (main): Likewise.
26176         * tests/test-isnan.c (main): Likewise.
26177         * tests/test-isnand.h (main): Likewise.
26178         * tests/test-isnanf.h (main): Likewise.
26179         * tests/test-isnanl.h (main): Likewise.
26180         * tests/test-ldexpl.c (main): Likewise.
26181         * tests/test-round.c (main): Likewise.
26182         * tests/test-roundf.c (main): Likewise.
26183         * tests/test-roundl.c (main): Likewise.
26184         * tests/test-signbit.c (test_signbitf, test_signbitd)
26185         (test_signbitl): Likewise.
26186         * tests/test-snprintf-posix.h (test_function): Likewise.
26187         * tests/test-sprintf-posix.h (test_function): Likewise.
26188         * tests/test-strtod.c (main): Likewise.
26189         * tests/test-trunc1.c (main): Likewise.
26190         * tests/test-truncf1.c (main): Likewise.
26191         * tests/test-truncl.c (main): Likewise.
26192
26193         isnanl: work around icc bug
26194         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
26195
26196 2010-11-03  Eric Blake  <eblake@redhat.com>
26197
26198         tests: fix compiler warnings
26199         * tests/test-getopt.h (test_getopt): Fix condition.
26200         * tests/test-getopt_long.h (test_getopt_long): Likewise.
26201         * tests/test-pipe2.c (main): Likewise.
26202         * tests/test-quotearg-simple.c (main): Avoid icc warning.
26203
26204         utimens: fix broken m4 test
26205         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
26206
26207 2010-10-28  Bruno Haible  <bruno@clisp.org>
26208
26209         posix_spawn*, getdtablesize: Relax license.
26210         * modules/posix_spawn (License): Change to LGPLv2+.
26211         * modules/posix_spawnp (License): Likewise.
26212         * modules/posix_spawn-internal (License): Likewise.
26213         * modules/posix_spawnattr_init (License): Likewise.
26214         * modules/posix_spawnattr_getflags (License): Likewise.
26215         * modules/posix_spawnattr_setflags (License): Likewise.
26216         * modules/posix_spawnattr_getpgroup (License): Likewise.
26217         * modules/posix_spawnattr_setpgroup (License): Likewise.
26218         * modules/posix_spawnattr_getschedparam (License): Likewise.
26219         * modules/posix_spawnattr_setschedparam (License): Likewise.
26220         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
26221         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
26222         * modules/posix_spawnattr_getsigdefault (License): Likewise.
26223         * modules/posix_spawnattr_setsigdefault (License): Likewise.
26224         * modules/posix_spawnattr_getsigmask (License): Likewise.
26225         * modules/posix_spawnattr_setsigmask (License): Likewise.
26226         * modules/posix_spawnattr_destroy (License): Likewise.
26227         * modules/posix_spawn_file_actions_init (License): Likewise.
26228         * modules/posix_spawn_file_actions_addclose (License): Likewise.
26229         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
26230         * modules/posix_spawn_file_actions_addopen (License): Likewise.
26231         * modules/posix_spawn_file_actions_destroy (License): Likewise.
26232         * modules/getdtablesize (License): Likewise.
26233         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
26234
26235 2010-10-26  Bruno Haible  <bruno@clisp.org>
26236
26237         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
26238         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
26239         Cygwin and mingw.
26240         Suggested by Eric Blake.
26241
26242 2010-10-26  Bruno Haible  <bruno@clisp.org>
26243
26244         stdio: Work around compilation error due to renameat() on Solaris 10.
26245         * lib/stdio.in.h: Include <unistd.h> on Solaris.
26246         * lib/renameat.c: Don't include <unistd.h> here.
26247         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
26248         Reported by Paul Eggert and Eric Blake.
26249
26250 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26251
26252         renameat: port to Solaris 10, which declares renameat in unistd.h
26253
26254         * lib/renameat.c: Include unistd.h before stdio.h, because
26255         Solaris 10 declares renameat in unistd.h.  Problem encountered
26256         when building GNU tar 1.24 on Solaris 10.
26257
26258 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26259
26260         fdopendir: fix C89 compilation
26261         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
26262         compilers.
26263
26264 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
26265
26266         inttostr: simplify by removing unnecessary redundancy
26267         * lib/anytostr.c: Don't include verify.h.
26268         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
26269         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
26270         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
26271         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
26272         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
26273         Likewise.
26274         * modules/inttostr (Depends-on): Remove 'verify'.
26275
26276 2010-10-23  Bruno Haible  <bruno@clisp.org>
26277
26278         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
26279         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
26280         Reported by Eric Blake.
26281
26282 2010-10-23  Bruno Haible  <bruno@clisp.org>
26283
26284         Tests: Fix LOCALE_JA on MirBSD 10.
26285         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
26286         to an UTF-8 locale.
26287         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
26288         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
26289         Reported by Eric Blake.
26290
26291 2010-10-21  Bruno Haible  <bruno@clisp.org>
26292
26293         nl_langinfo test: Avoid test failure on NetBSD 5.
26294         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
26295         Reported by Eric Blake.
26296
26297 2010-10-21  Eric Blake  <eblake@redhat.com>
26298
26299         c-stack: work around libsigsegv 2.8 bug
26300         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
26301         overflow on at least PowerPC64.
26302
26303 2010-10-17  Bruno Haible  <bruno@clisp.org>
26304
26305         userspec: Drop redundant file.
26306         * modules/userspec (Files): Remove lib/inttostr.h.
26307
26308 2010-10-17  Bruno Haible  <bruno@clisp.org>
26309
26310         nl_langinfo tests: Silence some warnings.
26311         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
26312         Reported by Jim Meyering.
26313
26314 2010-10-17  Bruno Haible  <bruno@clisp.org>
26315
26316         Make use of GCC's attribute __alloc_size__.
26317         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
26318         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
26319         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
26320         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
26321         __alloc_size__.
26322         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
26323         Suggested by Jim Meyering.
26324
26325 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
26326
26327         bootstrap: anchor .gitignore entries.
26328         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
26329         with...
26330         (insert_vc_ignore): ... this new function, which prepends `/' to
26331         all .gitignore entries before passing them to
26332         insert_sorted_if_absent.
26333
26334 2010-10-16  Bruno Haible  <bruno@clisp.org>
26335
26336         nextafter: Fix configure check.
26337         * modules/nextafter (configure.ac): Correct expected prototype.
26338
26339 2010-10-16  Bruno Haible  <bruno@clisp.org>
26340
26341         termios: Update documentation.
26342         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
26343
26344 2010-10-16  Bruno Haible  <bruno@clisp.org>
26345
26346         tests: Make them compile with TinyCC.
26347         * tests/test-strstr.c (main): Remove parentheses around array
26348         initializer.
26349
26350 2010-10-15  Eric Blake  <eblake@redhat.com>
26351
26352         ignore-value: make header idempotent
26353         * lib/ignore-value.h: Add double-inclusion guards.
26354         Reported by Stefan Berger.
26355
26356 2010-10-15  Jim Meyering  <meyering@redhat.com>
26357
26358         GNUmakefile: handle "stable" target, not "major"
26359         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
26360         lists in maint.mk and announce-gen.  Without this, "make stable"
26361         would fail to ensure that $(VERSION) is up to date.
26362
26363 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
26364
26365         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
26366         & co.
26367
26368 2010-10-14  Bruno Haible  <bruno@clisp.org>
26369
26370         vasnprintf: Don't set errno to 0.
26371         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
26372         block that sets it to 0.
26373         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
26374
26375 2010-10-14  Bruno Haible  <bruno@clisp.org>
26376
26377         socketlib: Fix.
26378         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
26379         gl_PREREQ_SYS_H_WINSOCK2.
26380         Reported by Ian Beckwith <ianb@erislabs.net>.
26381
26382 2010-10-13  Jim Meyering  <meyering@redhat.com>
26383
26384         test-select-stdin.c: avoid warn_unused_result warnings
26385         * tests/test-select-stdin.c: Include "macros.h".
26386         ASSERT that read and fflush succeed.
26387
26388 2010-10-13  Jim Meyering  <meyering@redhat.com>
26389
26390         git-version-gen: do require git-VC'd files in cwd
26391         * build-aux/git-version-gen: Reject a git version string
26392         if there are no commits associated with the current directory.
26393         This avoids an unlikely false-positive (unrelated dir whose parent
26394         repository also contains a tag matching v*), as pointed out
26395         by Giuseppe Scrivano in
26396         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
26397
26398 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26399
26400         argv-iter: omit nonconforming declaration
26401         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
26402         enum arg_iter_err declaration, which doesn't conform to C99.
26403         Solaris 10 cc warns about this.
26404
26405 2010-10-13  Eric Blake  <eblake@redhat.com>
26406
26407         termios: fix compilation on mingw
26408         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
26409         (gl_TERMIOS_H): Adjust it on mingw.
26410         * modules/termios (Makefile.am): Substitute new key.
26411         * lib/termios.in.h (includes): Make include_next conditional.
26412         * doc/posix-headers/termios.texi (termios.h): Update
26413         documentation.
26414         Reported by Daniel P. Berrange.
26415
26416 2010-10-13  Jim Meyering  <meyering@redhat.com>
26417
26418         git-version-gen: don't require that .git/ be in the current dir
26419         * build-aux/git-version-gen: Adjust this script so that it works
26420         when run from any working directory beneath the top-level .git/-
26421         containing directory.  Inspired by a patch from Giuseppe Scrivano,
26422         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
26423
26424         test-select: avoid warn_unused_result warnings
26425         * tests/test-select.c: Include "macros.h".
26426         ASSERT that each call to read, write, and pipe succeeds.
26427         While not technically required, also check each "close".
26428         * modules/select-tests (Files): Add tests/macros.h.
26429
26430         test-symlinkat: remove declaration of unused local
26431         * tests/test-symlinkat.c (main): Remove unused local, "buf".
26432
26433         test-inttostr: avoid shadowing warnings
26434         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
26435         and use malloc rather than the stack for the same reason as
26436         mentioned in the comment justifying the other allocation.
26437
26438 2010-10-11  Bruno Haible  <bruno@clisp.org>
26439
26440         stdlib: Allow multiple gnulib generated replacements to coexist.
26441         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
26442         Reported by Sam Steingold <sds@gnu.org>.
26443
26444 2010-10-11  Jim Meyering  <meyering@redhat.com>
26445
26446         fix a documentation typo
26447         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
26448
26449 2010-10-11  Eric Blake  <eblake@redhat.com>
26450
26451         futimens: work around Solaris 11 bug
26452         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
26453         * tests/test-futimens.h (test_futimens): Enhance, rather than
26454         weaken test.
26455         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26456
26457 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
26458
26459         Indentation.
26460         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
26461         higher-level operators more to the left.
26462
26463 2010-10-11  Jim Meyering  <meyering@redhat.com>
26464
26465         test-futimens: avoid unwarranted test failure on Solaris 5.11
26466         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
26467         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
26468         because it tries to dereference the NULL name argument.
26469
26470 2010-10-11  Bruno Haible  <bruno@clisp.org>
26471
26472         Indentation.
26473         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
26474         indentation.
26475
26476 2010-10-11  Jim Meyering  <meyering@redhat.com>
26477
26478         spawn.in.h: make indentation consistent with parentheses
26479         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
26480         Make indentation consistent with parentheses.
26481
26482 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
26483
26484         Fix mismatched parens in previous commit
26485         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
26486         parens.
26487
26488 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26489
26490         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
26491
26492         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
26493         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
26494         * lib/malloca.c: Include "verify.h".
26495         (verify1): Remove, replacing with a verify call.
26496         * lib/relocwrapper.c (verify1): Likewise.
26497         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
26498         Likewise.
26499         * modules/malloca (Depends-on): Add 'verify'.
26500         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
26501         * modules/vasnprintf (Depends-on): Add 'verify'.
26502         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26503         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26504         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26505         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26506         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26507         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26508         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26509
26510         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
26511
26512         Formerly the style was sometimes 2*X - 1, because the C standard
26513         was wrongly thought to disallow ?: in integral constant expressions.
26514         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
26515         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
26516         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
26517         * lib/stdint.in.h (_verify_intmax_size): Likewise.
26518         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
26519         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
26520         verify that time_t cannot be floating.
26521
26522 2010-10-08  Eric Blake  <eblake@redhat.com>
26523
26524         time: enforce recent POSIX ruling that time_t is integral
26525         * lib/time.in.h (__time_t_must_be_integral): Detect any
26526         problematic systems, allowing the rest of gnulib to assume POSIX.
26527
26528 2010-10-08  Jim Meyering  <meyering@redhat.com>
26529
26530         fdopendir: fix a bug on systems lacking openat and /proc support
26531         OpenBSD 4.7 is one such system.  The most noticeable effect was
26532         failure of any application making nontrivial use of fts: rm, du,
26533         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
26534           ./rm: traversal failed: `a': Bad file descriptor
26535         Debugging that, you see that even though FD 6 was closed just
26536         prior to the opendir call in fd_clone_opendir, its resulting
26537         dir->dd_fd was 8, rather than the expected value of 6:
26538
26539         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
26540         93                close (fd);
26541         (gdb) n
26542         94                dir = fd_clone_opendir (dupfd);
26543         (gdb) n
26544         95                saved_errno = errno;
26545         (gdb) p dir->dd_fd
26546         $11 = 8
26547
26548         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
26549         The problem is that on OpenBSD, fd_clone_opendir has to resort
26550         to using the old-style save/restore CWD mechanism, due to its
26551         lack of openat/proc support, and *that* would steal the FD (6)
26552         that opendir was supposed to use.
26553
26554         The fix is to squirrel away the desired FD so that save_cwd uses a
26555         different one, and then free the dest FD right before calling opendir.
26556         That guarantees opendir will use the required file descriptor.
26557
26558         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
26559
26560 2010-10-08  Bruno Haible  <bruno@clisp.org>
26561
26562         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
26563         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
26564
26565 2010-10-08  Bruno Haible  <bruno@clisp.org>
26566
26567         nanosleep: Make replacement POSIX compliant.
26568         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
26569         is out of range.
26570         Reported by Jim Meyering.
26571
26572 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
26573
26574         bootstrap: add hook for altering gnulib.mk, for Bison
26575         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
26576         the Bison bootstrapping process can rewrite file names and variables
26577         in this file before later parts of 'bootstrap' use the file.
26578         Bison wants to include lib/gnulib.mk from the top-level makefile,
26579         so it needs the file names in this file to be relative to the top
26580         level, not relative to lib; plus it needs variable names to be
26581         rewritten.
26582         (slurp): Use the new function.
26583
26584         bootstrap: reformat for readability
26585         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
26586
26587 2010-10-08  Eric Blake  <eblake@redhat.com>
26588
26589         docs: update cygwin progress
26590         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
26591         1.7.7.
26592         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
26593         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
26594         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
26595         * doc/posix-functions/carg.texi (carg): Likewise.
26596         * doc/posix-functions/cargf.texi (cargf): Likewise.
26597         * doc/posix-functions/casin.texi (casin): Likewise.
26598         * doc/posix-functions/casinf.texi (casinf): Likewise.
26599         * doc/posix-functions/casinh.texi (casinh): Likewise.
26600         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
26601         * doc/posix-functions/catan.texi (catan): Likewise.
26602         * doc/posix-functions/catanf.texi (catanf): Likewise.
26603         * doc/posix-functions/catanh.texi (catanh): Likewise.
26604         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
26605         * doc/posix-functions/ccos.texi (ccos): Likewise.
26606         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
26607         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
26608         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
26609         * doc/posix-functions/cexp.texi (cexp): Likewise.
26610         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
26611         * doc/posix-functions/cimag.texi (cimag): Likewise.
26612         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
26613         * doc/posix-functions/clog.texi (clog): Likewise.
26614         * doc/posix-functions/clogf.texi (clogf): Likewise.
26615         * doc/posix-functions/conj.texi (conj): Likewise.
26616         * doc/posix-functions/conjf.texi (conjf): Likewise.
26617         * doc/posix-functions/cpow.texi (cpow): Likewise.
26618         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
26619         * doc/posix-functions/cproj.texi (cproj): Likewise.
26620         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
26621         * doc/posix-functions/creal.texi (creal): Likewise.
26622         * doc/posix-functions/crealf.texi (crealf): Likewise.
26623         * doc/posix-functions/csin.texi (csin): Likewise.
26624         * doc/posix-functions/csinf.texi (csinf): Likewise.
26625         * doc/posix-functions/csinh.texi (csinh): Likewise.
26626         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
26627         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
26628         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
26629         * doc/posix-functions/ctan.texi (ctan): Likewise.
26630         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
26631         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
26632         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
26633         * doc/posix-headers/complex.texi (complex.h): Likewise.
26634
26635 2010-10-07  Jim Meyering  <meyering@redhat.com>
26636
26637         parse-datetime: avoid compilation failure on OpenBSD 4.7
26638         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
26639         This works around a compilation failure on OpenBSD 4.7:
26640         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
26641
26642 2010-10-07  Eric Blake  <eblake@redhat.com>
26643
26644         docs: update cygwin progress
26645         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
26646         1.7.6.
26647         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26648         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
26649         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
26650         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
26651         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
26652         Likewise.
26653         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
26654         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
26655         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
26656         Likewise.
26657         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
26658         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
26659         Likewise.
26660         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
26661         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
26662         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
26663         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
26664         Likewise.
26665         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
26666         Likewise.
26667         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
26668
26669         docs: update parse-datetime history
26670         * doc/parse-datetime.texi (Authors of parse_datetime): Better
26671         documentation of this function's history and alternatives.
26672
26673         cygwin: use more robust version check
26674         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
26675         exclude an eventual cygwin 1.9.1.
26676         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26677         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26678         (gl_FUNC_STRCASESTR): Likewise.
26679         Reported by Bruno Haible.
26680
26681 2010-10-06  Bruno Haible  <bruno@clisp.org>
26682
26683         string, sys_select: Avoid #including large headers unless necessary.
26684         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
26685         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
26686         OSF/1, BeOS, Haiku.
26687         Reported by Jim Meyering.
26688
26689 2010-10-05  Eric Blake  <eblake@redhat.com>
26690
26691         memmem, strstr, strcasestr: fix bug with long periodic needle
26692         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
26693         periodic needle having false positive.
26694         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
26695         and cygwin 1.7.7.
26696         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
26697         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26698         (gl_FUNC_STRCASESTR): Likewise.
26699         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26700         * tests/test-memmem.c (main): Expose the bug.
26701         * tests/test-strcasestr.c (main): Likewise.
26702         * tests/test-strstr.c (main): Likewise.
26703         * tests/test-c-strcasestr.c (main): Likewise.
26704         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
26705         * doc/posix-functions/strstr.texi (strstr): Likewise.
26706         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26707         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
26708
26709 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26710
26711         parse-datetime: do some more renaming
26712         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
26713         parse_datetime, not get_date.  Mention the renaming.
26714         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
26715         in comments.
26716         * m4/bison.m4: Likewise.
26717
26718 2010-10-05  Eric Blake  <eblake@redhat.com>
26719
26720         parse-datetime: better name than get_date
26721         * NEWS: Reword the deprecation notice.
26722         * modules/get_date: Rename to modules/parse-datetime.
26723         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
26724         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
26725         * lib/get_date.y: Rename to lib/parse-datetime.y.
26726         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
26727         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
26728         * doc/getdate.texi: Provide fallback wrapper.
26729         * lib/getdate.h: Move guts, and wrap...
26730         * lib/parse-datetime.h: ...new file.
26731         * lib/parse-datetime.y (get_date): Rename...
26732         (parse_datetime): ...to this.
26733         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
26734         (gl_PARSE_DATETIME): ...to this.
26735         * doc/posix-functions/getdate.texi (get_date): Provide fallback
26736         documentation.
26737         * modules/getdate (Files): Provide fallback docs and header.
26738         (Notice, Depends-on): Update references.
26739         * tests/test-parse-datetime.c: Likewise.
26740         * DEPENDENCIES: Likewise.
26741         * MODULES.html.sh (Date and time <time.h>): Likewise.
26742         * doc/parse-datetime.texi (Date input formats)
26743         (Authors of parse_datetime): Likewise.
26744         * modules/parse-datetime (Files, configure.ac, Makefile.am)
26745         (Include): Likewise.
26746         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
26747         * gnulib-tool: Likewise.
26748         * m4/bison.m4 (gl_BISON): Likewise.
26749         Suggested by Bruno Haible.
26750
26751 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26752
26753         more ports to Solaris tr, which needs [] around ranges
26754         * gnulib-tool: Solaris tr needs [] around ranges.
26755         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26756         * tests/test-pipe-filter-gi1.c (main): Likewise.
26757         * tests/test-pipe-filter-ii1.c (main): Likewise.
26758
26759 2010-10-05  Eric Blake  <eblake@redhat.com>
26760
26761         bootstrap: fix Solaris regression
26762         * build-aux/bootstrap (check_versions): Solaris tr still needs []
26763         around ranges.
26764         Reported by Pádraig Brady.
26765
26766         bootstrap: work with pkg-config
26767         * build-aux/bootstrap (check_versions): Also transliterate - in
26768         prerequisite name.
26769         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
26770         prerequisites that were already found, to avoid confusion.
26771         Reported by Justin Clift.
26772
26773         faccessat: remove unused wrappers
26774         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
26775         presence of these wrappers dragged in -lgen on Solaris.
26776         Reported by Clemens Brogi; fix suggested by Paul Eggert.
26777
26778 2010-10-05  Jim Meyering  <meyering@redhat.com>
26779
26780         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
26781         * Makefile (sc_pragma_columns): New syntax-check rule.
26782
26783 2010-10-04  Bruno Haible  <bruno@clisp.org>
26784
26785         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
26786         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
26787         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
26788         Reported by Bruce Korb and Eric Blake.
26789
26790 2010-10-04  Bruno Haible  <bruno@clisp.org>
26791
26792         threadlib: Make option --with-libpth-prefix work.
26793         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
26794         use $LIBPTH, not just -lpth.
26795
26796 2010-10-04  Bruno Haible  <bruno@clisp.org>
26797
26798         Avoid line length limitation from HP NonStop system header files.
26799         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
26800         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
26801         * lib/ctype.in.h: Likewise.
26802         * lib/dirent.in.h: Likewise.
26803         * lib/errno.in.h: Likewise.
26804         * lib/fcntl.in.h: Likewise.
26805         * lib/float.in.h: Likewise.
26806         * lib/getopt.in.h: Likewise.
26807         * lib/iconv.in.h: Likewise.
26808         * lib/inttypes.in.h: Likewise.
26809         * lib/langinfo.in.h: Likewise.
26810         * lib/locale.in.h: Likewise.
26811         * lib/math.in.h: Likewise.
26812         * lib/netdb.in.h: Likewise.
26813         * lib/netinet_in.in.h: Likewise.
26814         * lib/poll.in.h: Likewise.
26815         * lib/pthread.in.h: Likewise.
26816         * lib/pty.in.h: Likewise.
26817         * lib/sched.in.h: Likewise.
26818         * lib/se-selinux.in.h: Likewise.
26819         * lib/search.in.h: Likewise.
26820         * lib/signal.in.h: Likewise.
26821         * lib/spawn.in.h: Likewise.
26822         * lib/stdarg.in.h: Likewise.
26823         * lib/stddef.in.h: Likewise.
26824         * lib/stdint.in.h: Likewise.
26825         * lib/stdio.in.h: Likewise.
26826         * lib/stdlib.in.h: Likewise.
26827         * lib/string.in.h: Likewise.
26828         * lib/strings.in.h: Likewise.
26829         * lib/sys_file.in.h: Likewise.
26830         * lib/sys_ioctl.in.h: Likewise.
26831         * lib/sys_select.in.h: Likewise.
26832         * lib/sys_socket.in.h: Likewise.
26833         * lib/sys_stat.in.h: Likewise.
26834         * lib/sys_time.in.h: Likewise.
26835         * lib/sys_times.in.h: Likewise.
26836         * lib/sys_utsname.in.h: Likewise.
26837         * lib/sys_wait.in.h: Likewise.
26838         * lib/sysexits.in.h: Likewise.
26839         * lib/termios.in.h: Likewise.
26840         * lib/time.in.h: Likewise.
26841         * lib/unistd.in.h: Likewise.
26842         * lib/wchar.in.h: Likewise.
26843         * lib/wctype.in.h: Likewise.
26844         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
26845         * modules/ctype (Makefile.am): Likewise.
26846         * modules/dirent (Makefile.am): Likewise.
26847         * modules/errno (Makefile.am): Likewise.
26848         * modules/fcntl-h (Makefile.am): Likewise.
26849         * modules/float (Makefile.am): Likewise.
26850         * modules/getopt-posix (Makefile.am): Likewise.
26851         * modules/iconv-h (Makefile.am): Likewise.
26852         * modules/inttypes (Makefile.am): Likewise.
26853         * modules/langinfo (Makefile.am): Likewise.
26854         * modules/locale (Makefile.am): Likewise.
26855         * modules/math (Makefile.am): Likewise.
26856         * modules/netdb (Makefile.am): Likewise.
26857         * modules/netinet_in (Makefile.am): Likewise.
26858         * modules/poll-h (Makefile.am): Likewise.
26859         * modules/pthread (Makefile.am): Likewise.
26860         * modules/pty (Makefile.am): Likewise.
26861         * modules/sched (Makefile.am): Likewise.
26862         * modules/search (Makefile.am): Likewise.
26863         * modules/selinux-h (Makefile.am): Likewise.
26864         * modules/signal (Makefile.am): Likewise.
26865         * modules/spawn (Makefile.am): Likewise.
26866         * modules/stdarg (Makefile.am): Likewise.
26867         * modules/stddef (Makefile.am): Likewise.
26868         * modules/stdint (Makefile.am): Likewise.
26869         * modules/stdio (Makefile.am): Likewise.
26870         * modules/stdlib (Makefile.am): Likewise.
26871         * modules/string (Makefile.am): Likewise.
26872         * modules/strings (Makefile.am): Likewise.
26873         * modules/sys_file (Makefile.am): Likewise.
26874         * modules/sys_ioctl (Makefile.am): Likewise.
26875         * modules/sys_select (Makefile.am): Likewise.
26876         * modules/sys_socket (Makefile.am): Likewise.
26877         * modules/sys_stat (Makefile.am): Likewise.
26878         * modules/sys_time (Makefile.am): Likewise.
26879         * modules/sys_times (Makefile.am): Likewise.
26880         * modules/sys_utsname (Makefile.am): Likewise.
26881         * modules/sys_wait (Makefile.am): Likewise.
26882         * modules/sysexits (Makefile.am): Likewise.
26883         * modules/termios (Makefile.am): Likewise.
26884         * modules/time (Makefile.am): Likewise.
26885         * modules/unistd (Makefile.am): Likewise.
26886         * modules/wchar (Makefile.am): Likewise.
26887         * modules/wctype (Makefile.am): Likewise.
26888
26889 2010-10-04  Bruno Haible  <bruno@clisp.org>
26890
26891         read-file tests: Avoid a test failure on NonStop Kernel.
26892         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
26893         a regular file.
26894         Reported by Joachim Schmitz <schmitz@hp.com>.
26895
26896 2010-10-03  Bruno Haible  <bruno@clisp.org>
26897
26898         gnulib-tool: Fixes for --create-testdir with --libtool.
26899         * gnulib-tool (func_get_automake_snippet): Don't augment
26900         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
26901         an executable.
26902         (func_create_testdir): Handle module 'alloca' like func_import.
26903         Reported by Bruce Korb <bruce.korb@gmail.com>.
26904
26905 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
26906
26907         Avoid some lines longer than 80 characters.
26908         * lib/stdint.in.h: Break long comment lines.
26909         * lib/math.in.h: Likewise.
26910         (_GL_NUM_UINT_WORDS): New macro, for readability.
26911         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
26912         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
26913         * lib/stdlib.in.h: Likewise.
26914         * lib/spawn.in.h: Likewise.
26915         * lib/sys_socket.in.h: Update an URL.
26916         * lib/sys_stat.in.h: Break long line.
26917
26918 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
26919
26920         Improve pmccabe2html.
26921         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
26922         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
26923         when the sources change. Remove the line in the HTML about "Used
26924         ranges" (which implied that there might be other unused ranges),
26925         rename "Resume" to "Summary" (easier to understand for more users).
26926         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
26927         styles, and some unnecessary blank lines.
26928
26929 2010-10-03  Bruno Haible  <bruno@clisp.org>
26930             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
26931
26932         acl: Add support for ACLs on NonStop Kernel.
26933         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
26934         Check whether the function aclsort() exists.
26935         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
26936         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
26937         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26938         (acl_nontrivial [HAVE_ACLSORT]: New function.
26939         (file_has_acl): Implement for NonStop Kernel.
26940         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26941         (qset_acl): Implement for NonStop Kernel.
26942         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
26943         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26944         (main): Implement for NonStop Kernel.
26945         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
26946         Kernel. Handle this flavor.
26947         * tests/test-set-mode-acl.sh: Likewise.
26948         * tests/test-copy-acl.sh: Likewise.
26949         * tests/test-copy-file.sh: Likewise.
26950
26951 2010-10-03  Bruno Haible  <bruno@clisp.org>
26952
26953         Info about ACLs on NonStop Kernel.
26954         * doc/acl-resources.txt: Add info about NonStop Kernel.
26955         References by Joachim Schmitz <schmitz@hp.com>.
26956
26957 2010-10-02  Bruno Haible  <bruno@clisp.org>
26958
26959         Define missing EDQUOT on NonStop Kernel.
26960         * lib/errno.in.h (EDQUOT): Assign a value if missing.
26961         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
26962         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
26963         missing.
26964         * doc/posix-headers/errno.texi: Mention the NSK bug.
26965         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
26966         Reported by Joachim Schmitz <schmitz@hp.com>.
26967
26968 2010-10-02  Bruno Haible  <bruno@clisp.org>
26969
26970         Update doc for POSIX:2008.
26971         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
26972         Update URL of POSIX specification.
26973
26974 2010-10-02  Bruno Haible  <bruno@clisp.org>
26975
26976         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
26977         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
26978         from gnulib, not from Automake.
26979
26980 2010-10-02  Bruno Haible  <bruno@clisp.org>
26981
26982         New module 'system-posix'.
26983         * modules/system-posix: New file.
26984         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
26985         module is present.
26986         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
26987         GNULIB_SYSTEM_POSIX.
26988         * modules/stdlib (Depends-on): Remove sys_wait.
26989         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
26990         * doc/posix-functions/system.texi: Mention the new module.
26991         * doc/posix-headers/stdlib.texi: Likewise.
26992         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
26993         define test_sys_wait_macros to a no-op.
26994         Reported by Sam Steingold <sds@gnu.org>.
26995
26996 2010-09-30  Bruno Haible  <bruno@clisp.org>
26997
26998         More renaming from 'getdate' to 'get_date'.
26999         * doc/get_date.texi: Renamed from doc/getdate.texi.
27000         * modules/get_date (Files): Update.
27001         * MODULES.html.sh (Date and time <time.h>): Update.
27002         * DEPENDENCIES: Update.
27003         * gnulib-tool: Update comment.
27004         * m4/bison.m4 (gl_BISON): Likewise.
27005         * m4/get_date.m4 (gl_GET_DATE): Likewise.
27006
27007 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
27008
27009         bootstrap: support ACLOCAL_FLAGS during aclocal
27010         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
27011         can add additional -I dir for third-party .m4 files.
27012
27013 2010-09-30  Eric Blake  <eblake@redhat.com>
27014
27015         bootstrap: use glibtoolize on MacOS
27016         * build-aux/bootstrap (check_versions): Convert libtool into
27017         libtoolize.
27018         (tool search): Move libtool check earlier, and look for
27019         glibtoolize for MacOS.
27020         (gnulib_tool_options): Auto-add --libtool when appropriate.
27021         Reported by Justin Clift.
27022
27023         poll: fix typo that broke test on MacOS
27024         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
27025         Reported by Justin Clift.
27026
27027         getdate: rename to get_date
27028         Note: getdate.h is not renamed, to minimize client impact.
27029         * modules/getdate: Mark obsolete.  Move old contents...
27030         * modules/get_date: ...to new module name.
27031         * modules/getdate-tests: Move...
27032         * modules/get_date-tests: ...here.
27033         * m4/getdate.m4: Move...
27034         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
27035         * lib/getdate.y: Move...
27036         * lib/get_date.y: ...here.
27037         * tests/test-getdate.c: Move...
27038         * tests/test-get_date.c: ...here.
27039         * doc/posix-functions/getdate.texi (getdate): Update name.
27040         * NEWS: Mention the change.
27041
27042 2010-09-29  Bruno Haible  <bruno@clisp.org>
27043
27044         Separate the module 'waitpid' from the module 'sys_wait'.
27045         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
27046         present.
27047         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
27048         gl_MODULE_INDICATOR_FOR_TESTS.
27049         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
27050         * modules/sys_wait (Depends-on): Remove waitpid.
27051         (Makefile.am): Substitute GNULIB_WAITPID.
27052         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
27053         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
27054         signature only if the 'waitpid' module is present.
27055         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
27056         * NEWS: Mention the change.
27057         * modules/grantpt (Depends-on): Add waitpid.
27058         * modules/wait-process (Depends-on): Likewise.
27059
27060 2010-09-29  Bruno Haible  <bruno@clisp.org>
27061
27062         More tests for module 'sys_wait'.
27063         * modules/sys_wait-c++-tests: New file.
27064         * tests/test-sys_wait-c++.cc: New file.
27065         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
27066         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27067
27068 2010-09-29  Bruno Haible  <bruno@clisp.org>
27069
27070         New module 'waitpid'.
27071         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
27072         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
27073         Don't include <process.h>.
27074         (waitpid): Declare only, using modern idiom.
27075         * m4/waitpid.m4: New file.
27076         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
27077         * modules/waitpid: New file.
27078         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
27079         (Makefile.am): Update.
27080         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27081
27082 2010-09-28  Bruno Haible  <bruno@clisp.org>
27083
27084         poll: Assume ANSI C.
27085         * lib/poll.c (poll): Use an ANSI C declaration.
27086
27087 2010-09-28  Bruno Haible  <bruno@clisp.org>
27088
27089         poll-h: Create poll.h on all platforms.
27090         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
27091         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
27092         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
27093         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
27094         (gl_REPLACE_POLL_H): Don't set POLL_H.
27095         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
27096         * modules/poll-h (Depends-on): Add include_next.
27097         (Makefile.am): Create poll.h unconditionally. Substitute also
27098         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
27099
27100 2010-09-28  Bruno Haible  <bruno@clisp.org>
27101
27102         Tests for module 'poll-h'.
27103         * modules/poll-h-c++-tests: New file.
27104         * tests/test-poll-h-c++.cc: New file.
27105
27106         Tests for module 'poll-h'.
27107         * modules/poll-h-tests: New file.
27108         * tests/test-poll-h.c: New file.
27109
27110 2010-09-28  Bruno Haible  <bruno@clisp.org>
27111
27112         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
27113         * modules/poll-h (Depends-on): Add 'extensions'.
27114
27115 2010-09-28  Bruno Haible  <bruno@clisp.org>
27116
27117         New module 'poll-h'.
27118         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
27119         (poll): Use modern idiom.
27120         * modules/poll-h: New file.
27121         * modules/poll (Files): Remove lib/poll.in.h.
27122         (Depends-on): Add poll-h.
27123         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
27124         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
27125         * m4/poll_h.m4: New file.
27126         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
27127         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
27128         and invoke gl_REPLACE_POLL_H.
27129         * lib/poll.c: Use common idiom.
27130         * tests/test-poll.c: Likewise.
27131         * doc/posix-headers/poll.texi: Mention the poll-h module.
27132         Suggested by Eric Blake.
27133
27134 2010-09-26  Bruno Haible  <bruno@clisp.org>
27135
27136         sys_wait: Implement WSTOPSIG.
27137         * lib/sys_wait.in.h (WSTOPSIG): New macro.
27138         Reported by Simon Josefsson.
27139
27140 2010-09-26  Simon Josefsson  <simon@josefsson.org>
27141
27142         stdlib, sys_wait: Avoid compilation error on mingw.
27143         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
27144
27145 2010-09-26  Bruno Haible  <bruno@clisp.org>
27146
27147         stdlib tests: Avoid code duplication.
27148         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
27149         * modules/sys_wait-tests (Files): Likewise.
27150         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
27151         * tests/test-stdlib.c: Include test-sys_wait.h.
27152         (main): Invoke test_sys_wait_macros.
27153         * tests/test-sys_wait.c: Include test-sys_wait.h.
27154         (main): Invoke test_sys_wait_macros.
27155
27156 2010-09-25  Simon Josefsson  <simon@josefsson.org>
27157
27158         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
27159         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
27160         sure Windows sockets are working before calling getaddrinfo.
27161         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
27162         * doc/gnulib.texi (Windows sockets): Fix typo.
27163
27164 2010-09-25  Bruno Haible  <bruno@clisp.org>
27165
27166         Tests for module 'regex-quote'.
27167         * modules/regex-quote-tests: New file.
27168         * tests/test-regex-quote.c: New file.
27169
27170         New module 'regex-quote'.
27171         * lib/regex-quote.h: New file.
27172         * lib/regex-quote.c: New file.
27173         * modules/regex-quote: New file.
27174         Suggested by Reuben Thomas <rrt@sc3d.org>.
27175
27176 2010-09-24  Bruno Haible  <bruno@clisp.org>
27177
27178         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
27179         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
27180
27181 2010-09-23  Bruno Haible  <bruno@clisp.org>
27182
27183         setenv: Relax license.
27184         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
27185         Blake.
27186         Requested by Eric Blake.
27187
27188 2010-09-22  Bruno Haible  <bruno@clisp.org>
27189
27190         termios: Relax license.
27191         * modules/termios (License): Change to LGPLv2+.
27192         Requested by Eric Blake.
27193
27194 2010-09-22  Bruno Haible  <bruno@clisp.org>
27195
27196         threadlib: Allow the package to change the default to 'no'.
27197         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
27198         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
27199         Reported by Paul Eggert.
27200
27201 2010-09-22  Pádraig Brady  <P@draigbrady.com>
27202             Bruno Haible  <bruno@clisp.org>
27203
27204         Fix endless loop in mbmemcasecoll.
27205         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
27206         byte.
27207         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
27208
27209 2010-09-22  Bruno Haible  <bruno@clisp.org>
27210
27211         Tests for module 'memcoll'.
27212         * modules/memcoll-tests: New file.
27213         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
27214
27215         memcoll, xmemcoll: Clarify size vs. length.
27216         * modules/memcoll.c (memcoll0): Clarify specification.
27217         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
27218         passed to collate_error.
27219
27220 2010-09-22  Bruno Haible  <bruno@clisp.org>
27221
27222         Tests for module 'memcasecmp'.
27223         * modules/memcasecmp-tests: New file.
27224         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
27225
27226 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27227
27228         * lib/pthread.in.h: Add split double-inclusion guard, and include
27229         system <pthread.h> if there is one.  Use @@-style as in other
27230         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
27231         pthread.h doesn't.
27232         (pthread_mutexattr_destroy, pthread_mutexattr_init):
27233         (pthread_mutexattr_settype, pthread_mutex_trylock):
27234         New static inline functions, if there's no system <pthread.h>.
27235         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
27236         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
27237         Approximate with mutexes if the system lacks spinlocks, as in
27238         MacOS.
27239         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
27240         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
27241         @@-style.  Check for spinlocks separately.
27242         (gl_PTHREAD_DEFAULTS): New macro.
27243         * modules/pthread: Redo to use a more typical style for in.h files.
27244
27245 2010-09-21  Eric Blake  <eblake@redhat.com>
27246
27247         net_if: enhance tests
27248         * tests/test-net_if.c (main): Move signature checks earlier.
27249         Print failures to stderr.
27250         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
27251         Document the bug that we do not yet fix.
27252
27253 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27254
27255         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
27256         about gnulib, not GSS.
27257
27258 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27259
27260         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
27261         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
27262         for Emacs.
27263         * build-aux/pmccabe2html: Make Makefile.am example code more
27264         cut-and-paste friendly.
27265
27266 2010-09-21  Simon Josefsson  <simon@josefsson.org>
27267
27268         * tests/test-net_if.c: New file.
27269         * modules/net_if-tests: New file.
27270
27271 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
27272
27273         pthread: add pthread_spin_destroy
27274         * lib/pthread.in.h (pthread_spin_destroy): New function.
27275
27276 2010-09-19  Bruno Haible  <bruno@clisp.org>
27277
27278         gnulib-tool: Fix --help output.
27279         * gnulib-tool (func_usage): Fix help message.
27280         Reported by Reuben Thomas <rrt@sc3d.org>.
27281
27282 2010-09-18  Jim Meyering  <meyering@redhat.com>
27283
27284         maint.mk: avoid unexpanded \n in two diagnostics
27285         * top/maint.mk (sc_prohibit_always_true_header_tests):
27286         Don't use a literal \n in a halt=... assignment.  It would not be
27287         expanded, and the two \n bytes would appear in the diagnostic output
27288         rather than the desired newline.  Use halt=$$(printf ... instead.
27289         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27290
27291 2010-09-18  Bruno Haible  <bruno@clisp.org>
27292
27293         netinet_in: Doc tweak.
27294         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
27295         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27296
27297 2010-09-18  Jim Meyering  <meyering@redhat.com>
27298
27299         init.sh: correct an outdated comment
27300         * tests/init.sh (create_exe_shims_):  s/function/alias/
27301
27302         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
27303         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
27304         a file named "*.exe" is removed between the glob expansion and the
27305         processing of that oddly named file.
27306
27307 2010-09-17  Eric Blake  <eblake@redhat.com>
27308
27309         mirbsd: add some more support
27310         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
27311         in BSD family.
27312         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
27313         devices as OpenBSD.
27314         * m4/host-os.m4 (mirbsd): Add MirBSD.
27315
27316         tests: fix unportable assumption on sys/wait.h
27317         * tests/test-sys_wait.c (main): Relax test.
27318         * tests/test-stdlib.c (main): Likewise.
27319
27320         init.sh: accommodate directory with no .exes
27321         * tests/init.sh: Accomodate directory containing only scripts.
27322
27323         tests: avoid compiler warning
27324         * tests/test-stdlib.c (main): Use the variable.
27325
27326         fdutimens, fdutimensat: update signature, again
27327         * lib/utimens.h (gl_futimens): Delete, and move signature...
27328         (fdutimens): ...here.
27329         (fdutimensat): Rearrange signature.
27330         (lutimensat): Rename variable for clarity.
27331         * lib/fdutimensat.c (fdutimensat): Update signature.
27332         * lib/utimens.c (fdutimens): Likewise.
27333         (gl_futimens): Delete.
27334         (utimens, lutimens): Update callers.
27335         * lib/futimens.c (futimens): Likewise.
27336         * tests/test-fdutimensat.c: Likewise.
27337         * tests/test-utimens.c: Likewise.
27338         * tests/test-futimens.h: Update comment.
27339         * NEWS: Mention this.
27340         Suggested by Paul Eggert.
27341
27342 2010-09-17  Bruno Haible  <bruno@clisp.org>
27343
27344         Take over the maintenance of some older macros from Autoconf.
27345         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
27346         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
27347         GNU Autoconf.
27348         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
27349         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
27350
27351 2010-09-17  Eric Blake  <eblake@redhat.com>
27352
27353         fdutimensat: drop atflag validation
27354         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
27355         with valid fd, to close a race scenario where futimens is
27356         unsupported and FILE was replaced by a symlink.
27357         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
27358         accordingly.
27359         Suggested by Paul Eggert.
27360
27361 2010-09-16  Bruno Haible  <bruno@clisp.org>
27362
27363         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
27364         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
27365
27366 2010-09-16  Bruno Haible  <bruno@clisp.org>
27367
27368         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
27369         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
27370         login_tty exists.
27371         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27372
27373 2010-09-16  Bruno Haible  <bruno@clisp.org>
27374
27375         login_tty: Make the replacement code work on BSD systems.
27376         * lib/login_tty.c: Include <sys/ioctl.h>.
27377         (login_tty): Use ioctl TIOCSCTTY when available.
27378         * modules/login_tty (Depends-on): Add sys_ioctl.
27379         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27380
27381 2010-09-16  Bruno Haible  <bruno@clisp.org>
27382
27383         login_tty: Stricter unit test.
27384         * modules/login_tty-tests (Depends-on): Add tcgetsid.
27385         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
27386         and tcgetsid() after login_tty.
27387         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27388
27389 2010-09-16  Bruno Haible  <bruno@clisp.org>
27390
27391         New module 'tcgetsid'.
27392         * lib/tcgetsid.c: New file.
27393         * m4/tcgetsid.m4: New file.
27394         * modules/tcgetsid: New file.
27395         * modules/termios (Depends-on): Add c++defs, warn-on-use.
27396         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
27397         GNULIB_TCGETSID, HAVE_TCGETSID.
27398         * lib/termios.in.h: Include <sys/types.h>.
27399         (tcgetsid): New declaration.
27400         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
27401         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
27402         * doc/posix-functions/tcgetsid.texi: Mention the new module.
27403         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
27404
27405 2010-09-16  Bruno Haible  <bruno@clisp.org>
27406
27407         Tests for module 'termios'.
27408         * modules/termios-c++-tests: New file.
27409         * modules/termios-tests: New file.
27410         * tests/test-termios-c++.cc: New file.
27411         * tests/test-termios.c: New file.
27412
27413         New module 'termios'.
27414         * modules/termios: New file.
27415         * lib/termios.in.h: New file.
27416         * m4/termios_h.m4: New file.
27417         * doc/posix-headers/termios.texi: Mention the new module.
27418
27419 2010-09-16  Eric Blake  <eblake@redhat.com>
27420
27421         fdutimensat: add an atflag parameter
27422         * lib/fdutimensat.c (fdutimensat): Add new parameter.
27423         * lib/utimens.h (fdutimensat): Update prototype.
27424         * tests/test-fdutimensat.c: Adjust test to match.
27425         * NEWS: Document the change.
27426         Suggested by Paul Eggert.
27427
27428 2010-09-16  Bruno Haible  <bruno@clisp.org>
27429
27430         Fix typos in comments.
27431         * lib/striconveh.h: Fix typo in comment.
27432         * lib/login_tty.c (login_tty): Likewise.
27433
27434 2010-09-15  Bruno Haible  <bruno@clisp.org>
27435
27436         stdlib: clarify MirBSD WEXITSTATUS bug
27437         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
27438         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27439
27440 2010-09-15  Eric Blake  <eblake@redhat.com>
27441
27442         stdlib: work around MirBSD WEXITSTATUS bug
27443         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
27444         * modules/stdlib (Depends-on): Add sys_wait.
27445         * tests/test-sys_wait.c (main): Enhance test.
27446         * tests/test-stdlib.c (main): Likewise.
27447         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
27448
27449         docs: mention MacOS issue with WEXITSTATUS(constant)
27450         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
27451         issue.
27452         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27453
27454         strnlen: add tests
27455         * modules/strnlen-tests: New file.
27456         * tests/test-strnlen.c: Likewise.
27457
27458 2010-09-14  Bruno Haible  <bruno@clisp.org>
27459
27460         unistr/base: Avoid link errors when module 'libunistring' is also used.
27461         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
27462         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
27463         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
27464         Declare also when HAVE_LIBUNISTRING is set.
27465         Reported by Pádraig Brady <P@draigbrady.com>.
27466
27467 2010-09-14  Eric Blake  <eblake@redhat.com>
27468
27469         test-rawmemchr: make more robust
27470         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
27471         (Depends-on, configure.ac): Add needed prerequisites to use it.
27472         * modules/memchr-tests (Files, Depends-on, configure.ac):
27473         Likewise, to avoid implicit reliance on memchr module prereqs.
27474         * tests/test-memchr.c (main): Ensure proper masking.
27475         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
27476         reads.
27477
27478         memchr: detect glibc Alpha bug
27479         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
27480         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
27481         Alpha.
27482         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
27483         * tests/test-memchr.c (main): Enhance test.
27484         Reported by Nelson H. F. Beebe.
27485
27486 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27487
27488         fts, getcwd, glob: audit for dirfd returning -1
27489         * lib/fts.c (opendir): Remove #define; no longer used.
27490         (opendirat): New arg PDIR_FD.  All callers changed.
27491         (fts_build, _opendir2): Use new opendirat to avoid the need for
27492         dirfd, or for checking whether dirfd returns a negative value.
27493         Don't use opendir; always use openat followed by fdopendir.
27494         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
27495         it.
27496         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
27497         returns -1 here.
27498         * modules/fts (Depends-on): Remove dirfd.
27499         * modules/getcwd (Depends-on): Likewise.
27500
27501 2010-09-13  Eric Blake  <eblake@redhat.com>
27502
27503         float: fix broken MirBSD header
27504         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
27505         * doc/posix-headers/float.texi (float.h): Document it.
27506
27507 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27508
27509         fts: use O_NOFOLLOW to avoid race condition when opening a directory
27510         * lib/fts.c (opendirat): New arg extra_flags.
27511         (__opendir2): Use it to avoid following symlinks when opening
27512         a directory, if symlinks are not supposed to be followed.  See
27513         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
27514
27515         fdopendir: preserve argument fd before returning
27516         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
27517         (fdopendir_with_dup, fd_clone_opendir): New static functions.
27518         (fdopendir): Use them, arranging for FD to be open to the same
27519         directory that it was when it started.  (It might be temporarily
27520         closed while fdopendir is running, so this not thread- or
27521         signal-safe.)  Be careful to do the right thing even when file
27522         descriptors are scarce and dup fails with errno == EMFILE.  See
27523         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
27524
27525 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
27526
27527         regex: Pass the system regex if its only problem is 32-bit regoff_t.
27528         * NEWS: Document change.
27529         * m4/regex.m4: Disable test for regoff_t size.
27530
27531 2010-09-13  Jim Meyering  <meyering@redhat.com>
27532
27533         fts: don't operate on an invalid file descriptor after failed dup
27534         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
27535         negative file descriptor.
27536
27537 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
27538
27539         savedir: add streamsavedir, deprecate fdsavedir
27540         * NEWS: Mention deprecation of fdsavedir.
27541         * lib/savedir.c (streamsavedir): New extern function, whose name
27542         ends in "savedir" to be consistent with the others.  This differs
27543         from savedirstream in that it doesn't close its argument.  The
27544         next version of GNU tar will use this instead of fdsavedir, to
27545         avoid some race conditions and conserve file descriptors.
27546         (savedirstream): Reimplement as a wrapper around streamsavedir.
27547         (fdsavedir): Add a comment deprecating this function.  As far as
27548         I know, only GNU tar used it, and GNU tar doesn't need it any more.
27549         * lib/savedir.h (streamsavedir): New decl.
27550         (fdsavedir): Add a comment deprecating this.
27551
27552 2010-09-10  Bruno Haible  <bruno@clisp.org>
27553
27554         langinfo: Fix last commit.
27555         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
27556         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
27557         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27558
27559 2010-09-10  Bruno Haible  <bruno@clisp.org>
27560
27561         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
27562         * lib/progreloc.c (O_EXEC): Define fallback.
27563
27564 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
27565
27566         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
27567         * NEWS: Document recent changes to fcntl-h.
27568         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
27569         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
27570         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
27571         Similarly for O_SEARCH; this last was already true, but not documented.
27572         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
27573         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
27574         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
27575         Likewise.
27576         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
27577         is zero, not whether it is defined.
27578         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
27579         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
27580         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
27581
27582 2010-09-10  Bruno Haible  <bruno@clisp.org>
27583
27584         langinfo, nl_langinfo: Fix for IRIX 5.3.
27585         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
27586         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
27587         HAVE_LANGINFO_YESEXPR.
27588         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
27589         HAVE_LANGINFO_YESEXPR.
27590         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
27591         HAVE_LANGINFO_T_FMT_AMPM is 0.
27592         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
27593         HAVE_LANGINFO_YESEXPR is 0.
27594         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
27595         NOEXPR.
27596         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
27597         * doc/posix-functions/nl_langinfo.texi: Likewise.
27598         Reported by Eric Blake.
27599
27600 2010-09-10  Bruno Haible  <bruno@clisp.org>
27601
27602         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
27603         * doc/glibc-functions/login_tty.texi: Mention the include file problem
27604         on FreeBSD 8.0 and OpenBSD 4.6.
27605         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
27606         * m4/pty_h.m4 (gl_PTY_H): Likewise.
27607         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
27608         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
27609         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
27610         ac_includes_default.
27611         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27612
27613 2010-09-09  Eric Blake  <eblake@redhat.com>
27614
27615         strsignal: work around NetBSD bug
27616         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
27617         * lib/string.in.h (includes): Likewise.
27618         * doc/posix-functions/strsignal.texi (strsignal): Document the
27619         bug.
27620         Reported by Nelson H. F. Beebe.
27621
27622         gnulib-tool: work with NetBSD /bin/sh
27623         * gnulib-tool (func_cache_var, func_cache_lookup_module)
27624         (func_get_description, func_get_comment, func_get_status)
27625         (func_get_notice, func_get_applicability, func_get_filelist)
27626         (func_get_dependencies, func_get_autoconf_early_snippet)
27627         (func_get_autoconf_snippet, func_get_automake_snippet)
27628         (func_get_include_directive, func_get_link_directive)
27629         (func_get_license, func_get_maintainer, func_import): Avoid
27630         shell syntax errors from parsing syntax extensions.
27631
27632 2010-09-09  Bruno Haible  <bruno@clisp.org>
27633
27634         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27635         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
27636         a reliable way to determine whether the 'alias' command works.
27637
27638 2010-09-08  Jim Meyering  <meyering@redhat.com>
27639
27640         init.sh: penalize a set-x-impaired shell; don't disqualify it
27641         * tests/init.sh: Too many shells corrupt application stderr when
27642         you set -x, so we can't afford to disqualify them, since at least
27643         on Irix-6.5, that would disqualify all bourne shells.
27644         Instead, use a two-pass approach.
27645         On the first pass, try to find a shell that meets the stricter
27646         condition that set -x does not corrupt stderr.
27647         If no shell meets the stricter condition, retest each candidate
27648         shell, but without that extra condition.  Finally, when
27649         VERBOSE=yes is requested and set -x might cause trouble, simply
27650         issue a warning and refrain from enabling debug output.
27651
27652 2010-09-08  Eric Blake  <eblake@redhat.com>
27653
27654         unsetenv: fix OpenBSD bug
27655         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
27656         * doc/posix-functions/unsetenv.texi (unsetenv): Update
27657         documentation.
27658         Reported by Jim Meyering.
27659
27660         strtod: work around IRIX 6.5 bug
27661         * lib/strtod.c (strtod): Reparse number on shorter string if
27662         exponent parse was invalid.
27663         * tests/test-strtod.c (main): Add check for "0x1p 2".
27664         Reported by Tom G. Christensen.
27665
27666         getopt: optimize previous patch
27667         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
27668         empty variable.  Speed up awk script.
27669         Reported by Paolo Bonzini.
27670
27671 2010-09-08  Jim Meyering  <meyering@redhat.com>
27672
27673         test.sh: disqualify shells for which set -x corrupts stderr
27674         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
27675         and OpenBSD 4.7.  They make it so with "set -x", environment settings
27676         appear in stderr output.  For example, this command:
27677             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
27678         prints "P=1" on those two systems:
27679
27680 2010-09-08  Bruno Haible  <bruno@clisp.org>
27681
27682         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27683         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
27684         commands, because some shells ignore redirections when there is an
27685         error in the command lookup.
27686         Reported by Eric Blake.
27687
27688 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
27689
27690         * lib/regex.h: Fix a mention of `regex_compile' (should be
27691         `re_compile_pattern').
27692         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
27693         (re_set_registers): Correct name of parameter in comment.
27694
27695         * doc/regex.texi: Add documentation for missing syntax flags.
27696         Remove commented-out documentation of defunct syntax option
27697         RE_NO_EMPTY_ALTS.
27698         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
27699         Add documentation of re_set_registers.
27700         Document trick to re-use a pattern buffer by setting fastmap manually.
27701         Update documentation of struct re_pattern_buffer per public members.
27702         Uncomment documentation of equivalence class operators and
27703         collating symbol operators, since they are now implemented,
27704         Explain leftmost-longest matching in relation to alternatives.
27705         Tidy documentation of substring matching.
27706         Remove POSIX documentation, which is done better in
27707         glibc, and refer the reader there. Keep BSD API documentation, as
27708         that is not readily available elsewhere.
27709
27710 2010-09-07  Eric Blake  <eblake@redhat.com>
27711
27712         getopt: handle POSIXLY_CORRECT set but not exported
27713         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
27714         export state of POSIXLY_CORRECT, due to bash set -o posix.
27715         Reported by Dustin J. Mitchell.
27716
27717 2010-09-05  Bruno Haible  <bruno@clisp.org>
27718
27719         gnulib-tool: Highlight the changed options.
27720         * gnulib-tool (func_usage): Display the --import, --add-import,
27721         --remove-import explanations in bold font.
27722
27723 2010-09-06  Karl Berry  <karl@gnu.org>
27724
27725         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
27726
27727 2010-09-05  Bruno Haible  <bruno@clisp.org>
27728
27729         uniwidth/width: Update comment.
27730         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
27731         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
27732
27733 2010-09-05  Bruno Haible  <bruno@clisp.org>
27734
27735         isinf, isnan: Relax license.
27736         * modules/isinf (License): Change from GPL to LGPL, with consent from
27737         Ben Pfaff.
27738         * modules/isnan (License): Likewise.
27739         Requested by Ludovic Courtès.
27740
27741 2010-09-04  Bruno Haible  <bruno@clisp.org>
27742
27743         gnulib-tool: Help migration from --import to --add-import or --update.
27744         * gnulib-tool: Emit a verbose error message when --import is used
27745         without any module name.
27746
27747 2010-09-04  Bruno Haible  <bruno@clisp.org>
27748
27749         Update doc about gnulib-tool.
27750         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
27751         'gnulib-tool --update' in more detail.
27752         Reported by Eric Blake.
27753
27754 2010-09-04  Bruno Haible  <bruno@clisp.org>
27755
27756         gnulib-tool: Change --import. New options --add/remove-import.
27757         * gnulib-tool: New options --add-import, --remove-import.
27758         (func_usage): Document them.
27759         (have_associative): Define always.
27760         (func_import): In import mode, don't merge the specified settings with
27761         the cached settings. Implement remove-import mode.
27762         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
27763         Explain when to use them versus --import.
27764         (Simple update): Use --add-import instead of --import.
27765         * NEWS: Mention the change.
27766
27767 2010-09-04  Bruno Haible  <bruno@clisp.org>
27768
27769         * doc/gnulib-tool.texi (Initial import): Update paragraph about
27770         separate gnulib.mk.
27771
27772 2010-09-04  Bruno Haible  <bruno@clisp.org>
27773
27774         gnulib-tool: Don't talk about CVS any more.
27775         * gnulib-tool (func_usage, func_import): Write "version control"
27776         instead of CVS.
27777
27778 2010-09-04  Jim Meyering  <meyering@redhat.com>
27779
27780         maint.mk: avoid obscure sc_copyright_check failure in coreutils
27781         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
27782         false positives (whose names may be ill-chosen) when searching
27783         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
27784         would cause a false-positive.
27785
27786         avoid coreutils "make distcheck" failure
27787         Coreutils tests with an absolute build directory name that contains
27788         a space.  Not quoting this directory name caused a failure.
27789         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
27790         * tests/test-vc-list-files-cvs.sh: Likewise.
27791
27792 2010-09-04  Bruno Haible  <bruno@clisp.org>
27793
27794         gnulib-tool: Avoid error when run in a package without Makefile.am.
27795         * gnulib-tool: When collecting the m4dirs in a package that does not
27796         have a Makefile.am, eliminate those directories that contain no
27797         gnulib-cache.m4. Fix expression that counts these directories.
27798
27799 2010-09-04  Bruno Haible  <bruno@clisp.org>
27800
27801         update-copyright test: Improve output when perl is missing or too old.
27802         * tests/test-update-copyright.sh: Move test of Perl version down after
27803         the test whether Perl exists. Provide an explanation relating Perl's
27804         error message to Automake's SKIP: message.
27805
27806 2010-09-04  Bruno Haible  <bruno@clisp.org>
27807
27808         Don't augment PATH in TESTS_ENVIRONMENT.
27809         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
27810         set abs_aux_dir instead of augmenting PATH.
27811         * modules/vc-list-files-tests (Makefile.am): Likewise.
27812         * tests/test-update-copyright.sh: Augment PATH here.
27813         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
27814         path_prepend_.
27815         * tests/test-vc-list-files-git.sh: Likewise.
27816
27817 2010-09-04  Jim Meyering  <meyering@redhat.com>
27818
27819         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
27820         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
27821
27822 2010-09-04  Bruno Haible  <bruno@clisp.org>
27823
27824         strdup: Fix compilation error in C++ mode.
27825         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
27826         the macro.
27827
27828 2010-09-04  Bruno Haible  <bruno@clisp.org>
27829
27830         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
27831         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
27832         macro into a function.
27833         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27834
27835 2010-09-04  Bruno Haible  <bruno@clisp.org>
27836
27837         Set PATH_SEPARATOR the same way autoconf does.
27838         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
27839         the value of PATH_SEPARATOR the same way autoconf-generated configure
27840         scripts do.
27841         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
27842         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27843
27844 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27845
27846         Set PATH_SEPARATOR the same way autoconf does.
27847         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
27848         the same way autoconf-generated configure scripts do.
27849         * posix-modules: Likewise.
27850
27851 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
27852
27853         hash: fix safe_hasher const typo
27854         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
27855         const; otherwise, there is a type error later.
27856
27857 2010-09-02  Jim Meyering  <meyering@redhat.com>
27858
27859         test-update-copyright.sh: require perl 5.8.0
27860         * tests/test-update-copyright.sh: Require 5.8.0,
27861         which Tom G. Christensen has confirmed is adequate,
27862         while 5.6.1 is not.
27863
27864 2010-09-02  Eric Blake  <eblake@redhat.com>
27865
27866         tests: init.sh improvements for re-exec'ing with zsh
27867         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
27868         -vx through shell re-exec.
27869         Reported by Tom G. Christensen.
27870
27871         wctype: fix typo in previous commit
27872         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
27873         Reported by Ludovic Courtès.
27874
27875 2010-09-02  Jim Meyering  <meyering@redhat.com>
27876
27877         test-update-copyright.sh: skip test if Perl is too old
27878         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
27879         Reported by Tom G. Christensen.
27880
27881 2010-09-02  Bruno Haible  <bruno@clisp.org>
27882
27883         wctype: Avoid compilation error on IRIX 6.5.30.
27884         * lib/wctype.in.h (iswblank): Declare with a replacement if
27885         REPLACE_ISWBLANK is set.
27886         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
27887         declared. Set REPLACE_ISWBLANK.
27888         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
27889         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
27890         * doc/posix-headers/wctype.texi: Likewise.
27891         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27892
27893 2010-09-01  Bruno Haible  <bruno@clisp.org>
27894
27895         New module 'socketlib'.
27896         * modules/socketlib: New file.
27897         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
27898         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
27899         * modules/sockets (Depends-on): Add socketlib.
27900         Suggested by Sam Steingold <sds@gnu.org>.
27901
27902 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
27903
27904         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
27905
27906         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
27907         when one needs search access to a directory but not read access.
27908         On systems where it is available, it works in some cases where
27909         O_RDONLY does not, namely on directories that are searchable but
27910         not readable, and which need only to be searchable.  If O_SEARCH
27911         is not available, fall back to the traditional method of using
27912         O_RDONLY.
27913
27914         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
27915         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
27916         when opening a directory that needs only to be searchable.
27917         * lib/chdir-safer.c (chdir_no_follow): Likewise.
27918         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
27919         * lib/openat-proc.c (openat_proc_name): Likewise.
27920         * lib/openat.c (openat_needs_fchdir): Likewise.
27921         * lib/save-cwd.c (save_cwd): Likewise.
27922         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
27923
27924 2010-08-28  Bruno Haible  <bruno@clisp.org>
27925
27926         New module 'host-cpu-c-abi'.
27927         * modules/host-cpu-c-abi: New file.
27928         * m4/host-cpu-c-abi.m4: New file, based on part of
27929         clisp/src/m4/general.m4.
27930         Requested by Sam Steingold <sds@gnu.org>.
27931
27932 2010-08-31  Eric Blake  <eblake@redhat.com>
27933         and Jim Meyering  <meyering@redhat.com>
27934
27935         hash: factor, and guard against misbehaving hasher function
27936         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
27937         of table->hasher's return value.  Also protect against a hash value
27938         so large that adding it to table->bucket results in a NULL pointer.
27939         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
27940         Use it in place of open-coded check-and-abort.
27941
27942 2010-08-30  Bruno Haible  <bruno@clisp.org>
27943
27944         hash: silence spurious clang warning
27945         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
27946         Reported by Eric Blake.
27947
27948 2010-08-30  Eric Blake  <eblake@redhat.com>
27949
27950         strstr, memmem, strcasestr: avoid leaked shell message
27951         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
27952         FreeBSD.
27953         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27954         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27955
27956         tests: silence clang warning
27957         * tests/test-malloca.c (do_allocation): Avoid dead store.
27958
27959 2010-08-29  Bruno Haible  <bruno@clisp.org>
27960
27961         gettext: Fix recent mistake.
27962         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
27963
27964 2010-08-29  Bruno Haible  <bruno@clisp.org>
27965
27966         selinux-h: Offer a --without-selinux option.
27967         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
27968         --without-selinux was specified, skip all tests and define
27969         HAVE_SELINUX_SELINUX_H to 0.
27970         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
27971         set LIB_SELINUX to empty.
27972         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
27973         gl_LIBSELINUX. If --without-selinux was specified, replace
27974         selinux/context.h.
27975         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
27976
27977 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27978             Bruno Haible  <bruno@clisp.org>
27979
27980         Make the module 'realloc-gnu' work again on AIX and OSF/1.
27981         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
27982         of HAVE_REALLOC.
27983         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
27984         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
27985         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
27986         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27987
27988 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27989             Bruno Haible  <bruno@clisp.org>
27990
27991         Make the module 'calloc-gnu' work again on AIX and OSF/1.
27992         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
27993         HAVE_CALLOC.
27994         * lib/xmalloc.c: Update accordingly.
27995         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
27996         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
27997         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
27998
27999 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28000             Bruno Haible  <bruno@clisp.org>
28001
28002         Make the module 'malloc-gnu' work again on AIX and OSF/1.
28003         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
28004         HAVE_MALLOC.
28005         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
28006         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
28007         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28008
28009 2010-08-29  Bruno Haible  <bruno@clisp.org>
28010
28011         Update modules list.
28012         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28013         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
28014         (String handling <string.h>): Add astrxfrm.
28015         (File system functions): Add readlinkat.
28016
28017 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28018
28019         Tests for module 'realloc-gnu'.
28020         * modules/realloc-gnu-tests: New file.
28021         * tests/test-realloc-gnu.c: New file.
28022
28023         Tests for module 'calloc-gnu'.
28024         * modules/calloc-gnu-tests: New file.
28025         * tests/test-calloc-gnu.c: New file.
28026
28027         Tests for module 'malloc-gnu'.
28028         * modules/malloc-gnu-tests: New file.
28029         * tests/test-malloc-gnu.c: New file.
28030
28031 2010-08-28  Bruno Haible  <bruno@clisp.org>
28032
28033         Rename module 'realloc' -> 'realloc-gnu'.
28034         * modules/realloc-gnu: New file, copied from modules/realloc.
28035         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
28036         obsolete.
28037         * modules/mgetgroups (Depends-on): Update.
28038         * doc/posix-functions/realloc.texi: Update.
28039         * NEWS: Mention the change.
28040
28041         Rename module 'calloc' -> 'calloc-gnu'.
28042         * modules/calloc-gnu: New file, copied from modules/calloc.
28043         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
28044         obsolete.
28045         * doc/posix-functions/calloc.texi: Update.
28046         * NEWS: Mention the change.
28047
28048         Rename module 'malloc' -> 'malloc-gnu'.
28049         * modules/malloc-gnu: New file, copied from modules/malloc.
28050         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
28051         obsolete.
28052         * modules/argp (Depends-on): Update.
28053         * modules/regex (Depends-on): Update.
28054         * doc/posix-functions/malloc.texi: Update.
28055         * NEWS: Mention the change.
28056
28057 2010-08-28  Eric Blake  <eblake@redhat.com>
28058
28059         pread, pwrite: add missing dependency
28060         * modules/pread (Depends-on): Add extensions.
28061         * modules/pwrite (Depends-on): Likewise.
28062
28063 2010-08-28  Bruno Haible  <bruno@clisp.org>
28064
28065         unistr/u*-strchr: Fix tests dependencies.
28066         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
28067         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
28068         Reported by Ian Beckwith <ianb@erislabs.net>.
28069
28070 2010-08-28  Bruno Haible  <bruno@clisp.org>
28071
28072         read-file: Don't occupy too much unused memory.
28073         * lib/read-file.c (fread_file): Shrink the buffer at the end.
28074
28075 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
28076             Eric Blake  <eblake@redhat.com>
28077             Bruno Haible  <bruno@clisp.org>
28078
28079         read-file: Avoid memory reallocations with regular files.
28080         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
28081         (fread_file): With regular files, use the remaining length as the
28082         initial buffer size.  Check against overflow.
28083         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
28084         sys_stat.
28085
28086 2010-08-28  Bruno Haible  <bruno@clisp.org>
28087
28088         ftello: Relax license.
28089         * modules/ftello (License): Relax to LGPLv2+.
28090         Reported by Eric Blake.
28091
28092 2010-08-28  Bruno Haible  <bruno@clisp.org>
28093
28094         Avoid relocwrapper link errors due to gnulib replacement functions.
28095         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
28096         function.
28097         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28098
28099 2010-08-28  Bruno Haible  <bruno@clisp.org>
28100
28101         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
28102         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
28103         defined.
28104         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
28105         Suggested by Eric Blake.
28106
28107 2010-08-28  Bruno Haible  <bruno@clisp.org>
28108
28109         sys_socket, netdb: Ensure socklen_t gets defined.
28110         * modules/sys_socket (Depends-on): Add socklen.
28111         * modules/netdb (Depends-on): Likewise.
28112         * modules/getaddrinfo (Depends-on): Remove socklen.
28113         * modules/getsockopt (Depends-on): Likewise.
28114         * modules/setsockopt (Depends-on): Likewise.
28115         * tests/test-sys_socket.c: Check that socklen_t is defined.
28116         * tests/test-netdb.c: Likewise.
28117         * m4/socklen.m4: Update comments.
28118         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28119
28120 2010-08-27  Eric Blake  <eblake@redhat.com>
28121
28122         login_tty: add missing dependency
28123         * modules/login_tty (Depends-on): Add pty.
28124
28125 2010-08-26  Eric Blake  <eblake@redhat.com>
28126
28127         lib-symbol-versions: fix m4 quoting
28128         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
28129         format for AC_LINK_IFELSE.
28130
28131         glob: fix compile test
28132         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
28133
28134         btowc: fix missing file
28135         * modules/btowc (Files): Also ship locale-fr.m4.
28136
28137         lseek: fix link test
28138         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
28139         AC_LINK_IFELSE.
28140
28141         include_next: silence autoconf 2.68 warning
28142         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
28143         AC_COMPILE_IFELSE as special.
28144         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
28145         autoconf < 2.68.
28146
28147         acl: fix compilation test
28148         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
28149         AC_COMPILE_IFELSE.
28150
28151 2010-08-26  Bruno Haible  <bruno@clisp.org>
28152
28153         Modernize AC_TRY_RUN invocations.
28154         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
28155         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28156         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
28157         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
28158         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
28159         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28160         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28161         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28162         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28163         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28164         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28165         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28166         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28167         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28168         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28169         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
28170         gl_MBRLEN_NUL_RETVAL): Likewise.
28171         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28172         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28173         Likewise.
28174         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28175         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28176         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28177         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28178         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
28179         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
28180         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
28181         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
28182         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
28183         Likewise.
28184         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
28185         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
28186         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28187         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28188         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28189         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28190         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28191         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
28192         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28193         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28194
28195 2010-08-26  Bruno Haible  <bruno@clisp.org>
28196
28197         Modernize AC_TRY_LINK invocations.
28198         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
28199         AC_TRY_LINK.
28200         * m4/argp.m4 (gl_ARGP): Likewise.
28201         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
28202         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
28203         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
28204         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28205         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28206         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
28207         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
28208         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
28209         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28210         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28211         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28212         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
28213         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
28214         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28215         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28216         * m4/hostent.m4 (gl_HOSTENT): Likewise.
28217         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28218         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
28219         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
28220         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
28221         Likewise.
28222         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
28223         Likewise.
28224         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
28225         Likewise.
28226         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
28227         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
28228         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
28229         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
28230         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
28231         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28232         * m4/servent.m4 (gl_SERVENT): Likewise.
28233         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
28234         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
28235         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
28236         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
28237         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28238         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
28239         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28240         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28241         * modules/tsearch-tests (configure.ac): Likewise.
28242
28243 2010-08-26  Bruno Haible  <bruno@clisp.org>
28244
28245         Modernize AC_TRY_COMPILE invocations.
28246         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
28247         AC_TRY_COMPILE.
28248         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
28249         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
28250         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
28251         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
28252         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
28253         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
28254         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28255         * m4/lock.m4 (gl_LOCK): Likewise.
28256         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
28257         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
28258         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
28259         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
28260         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
28261         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
28262         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28263         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
28264         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
28265         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
28266         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
28267         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28268         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
28269         extraneous semicolon.
28270
28271 2010-08-26  Jim Meyering  <meyering@redhat.com>
28272
28273         stat-time: relax license LGPL
28274         * modules/stat-time (License): Change from GPL to LGPL,
28275         with consent from all contributors, for use in libguile.
28276         Requested by Ludovic Courtès.
28277
28278 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
28279
28280         poll: return immediately on POLLHUP.
28281         * lib/poll.c (poll): Always set timeout before wait_timeout is
28282         computed.
28283
28284 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28285
28286         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
28287         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
28288         rmdir ("dir/.//"), unlinkat.
28289
28290 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28291
28292         stdbool: avoid spurious failure with modern xlc
28293         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28294
28295 2010-08-24  Bruno Haible  <bruno@clisp.org>
28296
28297         getloadavg: simplify code
28298         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
28299         gl_have_func. Update comments.
28300
28301 2010-08-24  Eric Blake  <eblake@redhat.com>
28302
28303         getloadavg: don't define SVR4 on cygwin
28304         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
28305         only define SVR4 when -lkvm is required.
28306         Reported by Yaakov Selkowitz.
28307
28308 2010-08-24  Bruno Haible  <bruno@clisp.org>
28309
28310         priv-set: fix comment
28311         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
28312
28313 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
28314
28315         priv-set: fix comments
28316         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
28317         to match code, as suggested by David Bartley in:
28318         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
28319
28320 2010-08-23  Eric Blake  <eblake@redhat.com>
28321
28322         stdbool: avoid rejecting clang
28323         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28324         * tests/test-stdbool.c: Enable more tests if using the system
28325         <stdbool.h> instead of the gnulib replacement.
28326         (main): Move xlc bug test to a runtime test for all compilers.
28327         Reported by Anders Kaseorg.
28328
28329         argz: fix shell quoting issue
28330         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
28331         Reported by Charles Wilson.
28332
28333 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
28334             Erik Faye-Lund <kusmabite@gmail.com>
28335
28336         poll, select: handle ERROR_BROKEN_PIPE.
28337         * lib/poll.c (win32_compute_revents): Return POLLHUP when
28338         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28339         * lib/select.c (win32_compute_revents): Do not mark a pipe
28340         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28341
28342 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
28343
28344         fts: allow compilation with C++
28345         * lib/fts_.h: Specify extern "C" linkage with C++.
28346
28347 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28348
28349         Fix gnulib-tool sed script de-commentation for AIX sed.
28350         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
28351         sed.
28352
28353 2010-08-17  Eric Blake  <eblake@redhat.com>
28354
28355         test-stddef: test for (some) offsetof bugs
28356         * tests/test-stddef.c: Enhance test to ensure correct type of
28357         offsetof.
28358         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
28359         that we are not fixing at this time.
28360
28361 2010-08-15  Bruno Haible  <bruno@clisp.org>
28362
28363         stpncpy: Allow stpncpy to be defined as a macro.
28364         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
28365         if it's already correctly declared.
28366         * lib/string.in.h (stpncpy): Undefine before redefining.
28367         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
28368
28369 2010-08-14  Bruno Haible  <bruno@clisp.org>
28370
28371         Rename module 'memxfrm' to 'amemxfrm'.
28372         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
28373         (amemxfrm): Renamed from memxfrm.
28374         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
28375         (amemxfrm): Renamed from memxfrm.
28376         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
28377         * NEWS: Mention the change.
28378         * MODULES.html.sh (String handling <string.h>): Update.
28379         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
28380         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
28381         * lib/unicase/u16-casexfrm.c: Likewise.
28382         * lib/unicase/u32-casexfrm.c: Likewise.
28383         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
28384         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
28385         * lib/uninorm/u16-normxfrm.c: Likewise.
28386         * lib/uninorm/u32-normxfrm.c: Likewise.
28387         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
28388         memxfrm.
28389         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
28390         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
28391         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
28392         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
28393         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
28394         Suggested by Paul Eggert.
28395
28396 2010-08-14  Bruno Haible  <bruno@clisp.org>
28397
28398         Tests for module 'astrxfrm'.
28399         * modules/astrxfrm-tests: New file.
28400         * tests/test-astrxfrm.c: New file.
28401
28402         New module 'astrxfrm'.
28403         * lib/astrxfrm.h: New file.
28404         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
28405         * modules/astrxfrm: New file.
28406
28407 2010-08-14  Reuben Thomas <rrt@sc3d.org>
28408
28409         regex: Tweak doc.
28410         * doc/regex.texi (Overview): Don't mention regex.c.
28411         (GNU Regular Expression Compiling): Likewise.
28412         (Match-end-of-line Operator): Mention 'not_eol'.
28413
28414 2010-08-14  Brian Gough  <bjg@gnu.org>
28415             Bruno Haible  <bruno@clisp.org>
28416
28417         git-merge-changelog: add doc relating to use with bzr and hg.
28418         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
28419
28420 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
28421
28422         pthread: fix pthread.h creation for srcdir != builddir
28423         * modules/pthread (Makefile.am): Fix the rule to work also in a
28424         non-srcdir build.
28425
28426 2010-08-13  Karl Berry  <karl@gnu.org>
28427
28428         * doc/regex.texi (Predefined Syntaxes): @smallexample.
28429         * doc/posix-*/*: force line break before @url of POSIX
28430         specifications.
28431         Suggested by Werner Lemberg.
28432
28433 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28434
28435         strtod: fix const diagnostic
28436         * lib/strtod.c (strtod): Don't assign const char * to char *,
28437         as this elicits a warning from GCC when warnings are enabled.
28438
28439 2010-08-10  Pádraig Brady <P@draigbrady.com>
28440         and Eric Blake  <eblake@redhat.com>
28441
28442         copy-acl: ignore ENOTSUP on HP-UX
28443         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
28444         so that it is available for HP-UX.
28445         * lib/copy-acl.c (qcopy_acl): Use it.
28446         Reported by Patrick M. Callahan.
28447
28448 2010-08-10  Eric Blake  <eblake@redhat.com>
28449
28450         open, chown: relax license
28451         * modules/open (License): Change to LGPLv2+, with consent by all
28452         authors, for use in augeas.
28453         * modules/chown (License): Likewise.
28454         * modules/lchown (Likewise): Likewise.
28455         Requested by Adam Stokes.
28456
28457 2010-08-09  Karl Berry  <karl@gnu.org>
28458
28459         * build-aux/ar-lib: new file, import from Automake.
28460         * config/srclist.txt: autocheck for updates.
28461
28462 2010-08-09  Eric Blake  <eblake@redhat.com>
28463
28464         readlinkat: adjust client modules
28465         * modules/areadlinkat (Depends-on): Use readlinkat, not
28466         symlinkat.
28467         * modules/areadlinkat-with-size (Depends-on): Likewise.
28468
28469         mknod: be more vocal about danger of running tests as root
28470         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
28471         root, since that is just asking for problems.
28472         Suggested by Bruno Haible, based on a report by Rainer Tammer.
28473
28474         readlinkat: split into its own module
28475         * modules/symlinkat: Split readlinkat...
28476         * modules/readlinkat: ...into separate module.
28477         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
28478         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
28479         * lib/symlinkat.c (readlinkat): Move...
28480         * lib/readlinkat.c: ...into new file.
28481         * modules/symlinkat-tests: Split readlinkat test...
28482         * modules/readlinkat-tests: ...into separate module.
28483         * tests/test-symlinkat.c: Split...
28484         * tests/test-readlinkat.c: ...into new file.
28485         * NEWS: Document the split.
28486         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28487         * lib/unistd.in.h (readlinkat): Likewise.
28488         Suggested by Bruno Haible.
28489
28490 2010-08-08  Bruno Haible  <bruno@clisp.org>
28491
28492         memxfrm: Speed up.
28493         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
28494         that usually only one call to strxfrm is necessary for each string
28495         part.
28496         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28497
28498 2010-08-07  Karl Berry  <karl@gnu.org>
28499
28500         * doc/posix-headers/limits.texi,
28501         * doc/posix-functions/malloc.texi,
28502         * doc/posix-functions/strsignal.texi: missing @item.
28503         * doc/ld-version-script.texi: spurious leading i.
28504         * doc/regex.texi (Interval Operators): no commas inside @var.
28505
28506 2010-08-01  Bruno Haible  <bruno@clisp.org>
28507
28508         Integrate the regex documentation.
28509         * doc/gnulib.texi: Define 'cn' index.
28510         (Regular expressions): New a chapter that includes regex.texi and
28511         regexprops-generic.texi.
28512         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
28513         syntax.
28514
28515         Whitespace cleanup.
28516         * doc/regex.texi: Remove trailing spaces.
28517
28518         Add regex documentation.
28519         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
28520         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
28521         Written by Kathy A. Hargreaves and Karl Berry.
28522
28523 2010-08-01  Bruno Haible  <bruno@clisp.org>
28524
28525         link: Update documentation.
28526         * doc/posix-functions/link.texi: Update regarding Solaris.
28527
28528 2010-07-31  Bruno Haible  <bruno@clisp.org>
28529
28530         Update modules list.
28531         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
28532         (String handling <string.h>): Add memcmp2, memxfrm.
28533         (Container data structures): Add xlist, xsublist, xoset.
28534         (Core language properties): Add alignof, unused-parameter.
28535         (Process control, Numeric conversion functions <stdlib.h>): Renamed
28536         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
28537         (Unibyte characters <ctype.h>): New section.
28538         (String handling <string.h>): New section.
28539         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
28540         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
28541         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
28542         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
28543         tan, tanh, tanl, y0, y1, yn.
28544         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
28545         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
28546         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
28547         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
28548         unlockpt, vdprintf, vdprintf-posix.
28549         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
28550         (File system functions): Add concat-filename, sys_file, sys_ioctl,
28551         xconcat-filename.
28552         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
28553         getdtablesize, pipe2, pipe2-safer.
28554         (Security): New section.
28555         (Networking functions): Add accept4.
28556         (Signal handling): Add sigpipe.
28557         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
28558         mbmemcasecoll.
28559         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
28560         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
28561         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
28562         pipe-filter-ii.
28563         (Misc): Add argp-version-etc, login_tty, parse-duration.
28564
28565 2010-07-31  Bruno Haible  <bruno@clisp.org>
28566
28567         Improve doc in MODULES.html.
28568         * modules/linkat (Description): Add the word "function".
28569         * modules/mkfifo (Description): Likewise.
28570         * modules/mknod (Description): Likewise.
28571         * modules/remove (Description): Likewise.
28572         * modules/renameat (Description): Likewise.
28573         * modules/stat (Description): Likewise.
28574         * modules/symlink (Description): Likewise.
28575         * modules/unlink (Description): Likewise.
28576
28577 2010-07-31  Bruno Haible  <bruno@clisp.org>
28578
28579         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
28580         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
28581         option --enable/disable-c++ instead of --enable/disable-cxx.
28582         * NEWS: Mention the change.
28583
28584 2010-07-31  Bruno Haible  <bruno@clisp.org>
28585
28586         readlink, areadlink: Relax test a bit.
28587         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
28588         alternative to ENOTDIR.
28589         * tests/test-areadlink.h (test_areadlink): Likewise.
28590         Reported by Rainer Tammer.
28591
28592 2010-07-31  Bruno Haible  <bruno@clisp.org>
28593
28594         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
28595         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
28596         character, perform the search using U_STRCHR.
28597         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
28598         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
28599         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
28600         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
28601         Suggested by Paolo Bonzini.
28602
28603 2010-07-31  Bruno Haible  <bruno@clisp.org>
28604
28605         unistr/u*-strstr: Fix dependencies.
28606         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
28607         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
28608         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
28609
28610 2010-07-31  Bruno Haible  <bruno@clisp.org>
28611
28612         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
28613         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
28614         the beginning of the loop.
28615         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
28616         cases in 'switch' statement.
28617
28618         unistr/u8-strchr: Fix several bugs.
28619         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
28620         the string. When not found, return NULL, not a pointer near the end.
28621
28622         More tests for unistr/u8-strchr.
28623         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
28624         that the function does not read past the first occurrence of the byte
28625         being searched.
28626         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
28627         * tests/unistr/test-u16-strchr.c (main): New function.
28628         * tests/unistr/test-u32-strchr.c (main): New function.
28629
28630 2010-07-31  Bruno Haible  <bruno@clisp.org>
28631
28632         posix-modules: Ignore backup files of documentation files.
28633         * posix-modules: grep only through files named *.texi.
28634
28635 2010-07-31  Bruno Haible  <bruno@clisp.org>
28636
28637         symlinkat: Fix documentation.
28638         * doc/posix-functions/readlinkat.texi: Fix module name.
28639
28640 2010-07-31  Bruno Haible  <bruno@clisp.org>
28641
28642         fchownat: Replace also when chown has the trailing slash bug.
28643         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
28644         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
28645         introduced on 2010-04-10.
28646         Reported by Rainer Tammer.
28647
28648 2010-07-31  Bruno Haible  <bruno@clisp.org>
28649
28650         linkat: Work around AIX 7.1 bug.
28651         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
28652         whether linkat handles trailing slash correctly. If not, replace linkat
28653         and define LINKAT_TRAILING_SLASH_BUG.
28654         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
28655         check whether (fd1,file1) points to a directory if file1 or file2 ends
28656         in a slash. Code taken from lib/link.c.
28657         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
28658         Reported by Rainer Tammer.
28659
28660 2010-07-31  Bruno Haible  <bruno@clisp.org>
28661
28662         Correctly determine whether pow is available in libc on AIX 7 with xlc.
28663         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
28664         This disables an xlc optimization that was causing wrong test results.
28665         Reported by Rainer Tammer.
28666
28667 2010-07-31  Bruno Haible  <bruno@clisp.org>
28668
28669         iconv: Work around AIX 6.1..7.1 bug.
28670         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
28671         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
28672         cross-compiling, guess no on all versions of AIX.
28673         Reported by Rainer Tammer.
28674
28675 2010-07-31  Bruno Haible  <bruno@clisp.org>
28676
28677         readlink: Relax test a bit.
28678         * tests/test-readlink.h (test_readlink): Allow different errno value
28679         when readlink is called with a file name that ends in / and refers to
28680         a file.
28681         Suggested by Eric Blake.
28682         Reported by Rainer Tammer.
28683
28684 2010-07-31  Bruno Haible  <bruno@clisp.org>
28685
28686         copysign: Does not require -lm on glibc systems.
28687         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
28688         gl_COMMON_DOUBLE_MATHFUNC.
28689         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
28690
28691 2010-07-31  Bruno Haible  <bruno@clisp.org>
28692
28693         duplocale: Work around AIX 7.1 bug.
28694         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
28695         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
28696         * lib/duplocale.c (rpl_duplocale): Update comment.
28697         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
28698         Reported by Rainer Tammer.
28699
28700 2010-07-30  Bruno Haible  <bruno@clisp.org>
28701
28702         dirfd: Avoid link error on AIX 7.1.
28703         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
28704         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
28705         exist, set REPLACE_DIRFD.
28706         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
28707         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
28708         * doc/posix-functions/dirfd.texi: Update.
28709         Reported by Rainer Tammer.
28710
28711 2010-07-30  Eric Blake  <eblake@redhat.com>
28712
28713         strtod: next round of AIX fixes
28714         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
28715         exponent.
28716         * tests/test-strtod.c (main): Enhance tests.
28717         * doc/posix-functions/strtod.texi (strtod): Document next bug.
28718         Reported by Rainer Tammer.
28719
28720         futimens: fix configure check
28721         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
28722         Reported by Bruno Haible.
28723
28724 2010-07-30  Bruno Haible  <bruno@clisp.org>
28725
28726         getline: Update regarding AIX.
28727         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
28728         Reported by Rainer Tammer.
28729
28730 2010-07-30  Bruno Haible  <bruno@clisp.org>
28731
28732         wcwidth: Drop replacement on AIX 7.
28733         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
28734         AIX 7.
28735         Reported by Rainer Tammer.
28736
28737 2010-07-30  Bruno Haible  <bruno@clisp.org>
28738
28739         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
28740         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
28741         a 'char *'.
28742         Reported by Rainer Tammer.
28743
28744 2010-07-30  Bruno Haible  <bruno@clisp.org>
28745
28746         unlink: Update regarding AIX.
28747         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
28748         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
28749         Reported by Rainer Tammer.
28750
28751 2010-07-30  Bruno Haible  <bruno@clisp.org>
28752
28753         symlink: Update regarding AIX.
28754         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
28755         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
28756         Reported by Rainer Tammer.
28757
28758 2010-07-30  Bruno Haible  <bruno@clisp.org>
28759
28760         strndup: Update regarding AIX.
28761         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
28762         AIX 7.
28763         Reported by Rainer Tammer.
28764
28765 2010-07-30  Bruno Haible  <bruno@clisp.org>
28766
28767         stat: Update regarding AIX.
28768         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
28769         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
28770         Reported by Rainer Tammer.
28771
28772 2010-07-30  Bruno Haible  <bruno@clisp.org>
28773
28774         truncl: Fix autoconf test.
28775         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
28776         whether truncl works.
28777         Reported by Rainer Tammer.
28778
28779 2010-07-30  Bruno Haible  <bruno@clisp.org>
28780
28781         round: Update regarding AIX.
28782         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
28783         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
28784         Reported by Rainer Tammer.
28785
28786 2010-07-30  Bruno Haible  <bruno@clisp.org>
28787
28788         rename: Update regarding AIX.
28789         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
28790         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
28791         Reported by Rainer Tammer.
28792
28793 2010-07-30  Bruno Haible  <bruno@clisp.org>
28794
28795         printf.m4: Update regarding AIX.
28796         * m4/printf.m4: Update comments regarding AIX.
28797         Reported by Rainer Tammer.
28798
28799 2010-07-30  Bruno Haible  <bruno@clisp.org>
28800
28801         iconv: Update regarding AIX.
28802         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
28803         AIX 7.
28804         Reported by Rainer Tammer.
28805
28806 2010-07-30  Bruno Haible  <bruno@clisp.org>
28807
28808         getopt: Update regarding AIX.
28809         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
28810         no on AIX.
28811         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
28812         Reported by Rainer Tammer.
28813
28814 2010-07-30  Bruno Haible  <bruno@clisp.org>
28815
28816         ldexpl; Update regarding AIX.
28817         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
28818         on AIX 7.
28819         Reported by Rainer Tammer.
28820
28821 2010-07-30  Bruno Haible  <bruno@clisp.org>
28822
28823         frexpl: Update regarding AIX.
28824         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
28825         on AIX 7.
28826         Reported by Rainer Tammer.
28827
28828 2010-07-30  Bruno Haible  <bruno@clisp.org>
28829
28830         open, fopen: Update regarding AIX.
28831         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
28832         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28833         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
28834         * doc/posix-functions/fopen.texi: Likewise.
28835         Reported by Rainer Tammer.
28836
28837 2010-07-30  Bruno Haible  <bruno@clisp.org>
28838
28839         chown: Update doc regarding AIX.
28840         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
28841         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
28842         Reported by Rainer Tammer.
28843
28844 2010-07-30  Eric Blake  <eblake@redhat.com>
28845
28846         strtod: fix bug in replacement function on AIX
28847         * lib/strtod.c (strtod): Special case broken "0x" parse in
28848         underlying strtod.
28849         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
28850         * doc/posix-functions/strtod.texi (strtod): Likewise.
28851         Reported by Rainer Tammer.
28852
28853 2010-07-30  Bruno Haible  <bruno@clisp.org>
28854
28855         mbrlen: Fix cross-compilation guess for AIX.
28856         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
28857         guess. Leftover from 2008-12-22.
28858
28859 2010-07-30  Bruno Haible  <bruno@clisp.org>
28860
28861         mbrtowc: Fix cross-compilation guess for AIX.
28862         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
28863         guess. Leftover from 2008-12-21.
28864
28865 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
28866
28867         init.sh: work around trap limitation of some shells
28868         * tests/init.sh (setup_): Move exit trap outside of shell function.
28869
28870 2010-07-29  Eric Blake  <eblake@redhat.com>
28871
28872         strtod: aid debugging
28873         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
28874         understanding why strtod is rejected.
28875
28876 2010-07-28  Bruno Haible  <bruno@clisp.org>
28877
28878         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
28879         * lib/unistr/u8-chr.c: Include <string.h>.
28880         * tests/unistr/test-u8-chr.c: Likewise.
28881         * tests/unistr/test-u16-chr.c: Likewise.
28882         * tests/unistr/test-u32-chr.c: Likewise.
28883         * tests/unistr/test-u8-strchr.c: Likewise.
28884         * tests/unistr/test-u16-strchr.c: Likewise.
28885         * tests/unistr/test-u32-strchr.c: Likewise.
28886         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
28887         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
28888         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
28889         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
28890
28891 2010-07-28  Bruno Haible  <bruno@clisp.org>
28892
28893         Use spaces for indentation, not tabs.
28894         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28895
28896 2010-07-27  Bruno Haible  <bruno@clisp.org>
28897
28898         mbspcasecmp: Fix function specification.
28899         * lib/string.in.h (mbspcasecmp): Fix specification comment.
28900         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
28901         Reported by Eric Blake <eblake@redhat.com>.
28902
28903 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
28904
28905         timespec: use cast and not conditional, as truncation isn't possible
28906         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
28907         instead of a conditional.  Comment about the situation in more detail.
28908         This undoes most of the 2009-10-29 patch.
28909
28910 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
28911
28912         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
28913         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
28914         * lib/unistr/u8-strchr.c: Likewise.
28915         * modules/unistr/u8-chr: Depend on memchr.
28916
28917         unistr/u*-strchr: add tests
28918         * modules/unistr/u8-strchr-tests: New file.
28919         * modules/unistr/u16-strchr-tests: New file.
28920         * modules/unistr/u32-strchr-tests: New file.
28921         * tests/unistr/test-strchr.h: New file.
28922         * tests/unistr/test-u8-strchr.c: New file.
28923         * tests/unistr/test-u16-strchr.c: New file.
28924         * tests/unistr/test-u32-strchr.c: New file.
28925
28926         unistr/u*-chr: test multibyte sequences more
28927         * tests/unistr/test-chr.h: Do complete testing of the characters in the
28928         test vector.
28929         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
28930         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
28931         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
28932
28933         unistr/u*-chr: test multibyte sequences
28934         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
28935
28936         unistr/u*-chr: prepare for multibyte tests
28937         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
28938         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
28939         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
28940         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
28941         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
28942         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
28943
28944 2010-07-18  Bruno Haible  <bruno@clisp.org>
28945
28946         unistr/u8-strchr: Optimize non-ASCII argument case.
28947         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
28948         because the first byte often matches anyway.
28949         Reported by Pádraig Brady <P@draigbrady.com>.
28950
28951 2010-07-15  Karl Berry  <karl@gnu.org>
28952
28953         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
28954
28955 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
28956
28957         getcwd: on Solaris, work better if ancestors are inaccessible
28958         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
28959         buffer and size, try again with a large buffer.  This works better
28960         on Solaris, since its getcwd succeeds even if the path to the root
28961         is inaccessible, and this is helpful in common cases such as .zfs
28962         hidden directories.  Problem reported by J Chapman Flack in
28963         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
28964         Use system getcwd if it's declared, not merely if it's partly
28965         working; use the partly-working test only to avoid needless effort
28966         if the system getcwd fails.
28967         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
28968         comment that was already obsolete and is now even more obsolete.
28969         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
28970         now might call strdup.
28971
28972 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
28973
28974         pthread: Add enough so that coreutils/src/sort.c compiles.
28975         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
28976         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
28977         gnulib. Include <sched.h> and <time.h>, as per POSIX.
28978         Include <sys/types.h>, in case it defines pthread_t.
28979         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
28980         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
28981         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
28982         (pthread_rwlockattr_t, pthread_spinlock_t):
28983         New typedefs, if HAVE_PTHREAD_T is not defined.
28984         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
28985         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
28986         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
28987         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
28988         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
28989         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
28990         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
28991         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
28992         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
28993         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
28994         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
28995         New macros.
28996         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
28997         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
28998         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
28999         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
29000         (pthread_spin_unlock): New dummy functions.
29001         (pthread_create): Return EAGAIN; don't set errno.
29002         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
29003         require AC_C_INLINE.
29004         * modules/pthread (Depends-on): Add sched, time.
29005         (pthread.h): Use AM_V_GEN.
29006
29007 2010-07-13  Bruno Haible  <bruno@clisp.org>
29008
29009         striconveh: Don't malloc memory if the result buffer is sufficient.
29010         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
29011         buffer if its size is sufficient.
29012         Reported by Ludovic Courtès <ludo@gnu.org>.
29013
29014 2010-07-13  Bruno Haible  <bruno@clisp.org>
29015
29016         strtod: Add safety check.
29017         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
29018
29019 2010-07-12  Bruno Haible  <bruno@clisp.org>
29020
29021         Unify tests that set gl_cv_func_ldexpl_no_libm.
29022         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
29023         gl_FUNC_LDEXPL.
29024         (gl_FUNC_LDEXPL): Invoke it.
29025         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29026
29027 2010-07-12  Bruno Haible  <bruno@clisp.org>
29028
29029         Unify tests that set gl_cv_func_ldexp_no_libm.
29030         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
29031         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
29032         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
29033         (configure.ac): Simply invoke gl_FUNC_LDEXP.
29034         * modules/strtod (Files): Add m4/ldexp.m4.
29035
29036 2010-07-12  Bruno Haible  <bruno@clisp.org>
29037
29038         Unify tests that set gl_cv_func_frexpl_no_libm.
29039         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
29040         gl_FUNC_FREXPL_NO_LIBM.
29041         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
29042         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29043
29044 2010-07-12  Bruno Haible  <bruno@clisp.org>
29045
29046         Unify tests that set gl_cv_func_frexp_no_libm.
29047         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
29048         gl_FUNC_FREXP_NO_LIBM.
29049         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
29050         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
29051
29052 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29053
29054         memcoll: clarify sizes versus lengths, document better, and tweak perf
29055         * lib/memcoll.c (strcoll_loop, memcoll0):
29056         Improve quality of descriptive comments.  Name variables
29057         consistently as to whether they are lengths (which do not include
29058         terminating null) versus sizes (which do).
29059         * lib/xmemcoll.c (xmemcoll0): Likewise.
29060         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
29061         returned when s1size == 0; this is easier to compile and saves
29062         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
29063
29064 2010-07-12  Bruno Haible  <bruno@clisp.org>
29065
29066         Tests for module '_Exit'.
29067         * modules/_Exit-tests: New file.
29068         * tests/test-_Exit.sh: New file.
29069         * tests/test-_Exit.c: New file.
29070
29071         New module '_Exit'.
29072         * lib/stdlib.in.h (__attribute__): New macro.
29073         (_Exit): New declaration.
29074         * lib/_Exit.c: New file.
29075         * m4/_Exit.m4: New file.
29076         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
29077         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
29078         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
29079         * modules/_Exit: New file.
29080         * tests/test-stdlib-c++.cc (_Exit): Check signature.
29081         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
29082
29083 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29084
29085         strtod: make it more-accurate typically, and don't require libm
29086         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
29087         Include limits.h.  Don't include string.h.
29088         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
29089         (locale_isspace): New function, so that no casts are needed to
29090         check whether *s is a space.
29091         (ldexp): Provide an unused dummy if not available.
29092         (scale_radix_exp, parse_number, underlying_strtod): New functions.
29093         (strtod): Use them.  This implementation prefers to use the
29094         underlying strtod if available, falling back on our own code
29095         only to fix known bugs.  This is more likely to produce an
29096         accurate result.  Also, it avoids the use of libm functions.
29097         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
29098         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
29099         was absent, but it caused a test failure with coreutils.
29100         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
29101         with libm.
29102         * modules/strtod (Makefile.am, Link): libm is no longer needed.
29103         * modules/strtod-tests (Makefile.am): Likewise.
29104
29105 2010-07-11  Pádraig Brady  <P@draigBrady.com>
29106             Bruno Haible  <bruno@clisp.org>
29107
29108         unistr/u8-strchr: Optimize ASCII argument case.
29109         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
29110
29111 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29112
29113         (x)memcoll: minor tweaks
29114         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
29115         is after the type that it qualifies.
29116         (memcoll0): Likewise.
29117         * lib/memcoll.h (memcoll0): Likewise.
29118         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
29119         * lib/xmemcoll.h (xmemcoll0): Likewise.
29120         * lib/memcoll.c (memcoll0): Correct the comment.  This function
29121         differs from memcoll in that the NUL byte is part of the argument.
29122         Omit the abort-checks, as performance is a real issue here.  Plus,
29123         the checks were wrong anyway (an off-by-one error).  Omit local
29124         variable 'diff', as it's a bit clearer that way.
29125         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
29126         no longer needed.
29127
29128 2010-07-08  Chen Guo <chenguo4@yahoo.com>
29129
29130         (x)memcoll: speedup when input is known to be NUL delimited
29131         * lib/memcoll.c: Include stdlib.
29132         (memcoll0): New function.
29133         (strcoll_loop): New function, refactored for use in both memcoll
29134         and memcoll0.
29135         * lib/memcoll.h (memcoll0): Add prototype.
29136         * lib/xmemcoll.c (xmemcoll0): New function.
29137         (collate_error): New function, refactored for use in both xmemcoll
29138         and xmemcoll0.
29139         * lib/xmemcoll.h (xmemcoll0): Add prototype.
29140         * m4/memcoll.m4: add inline invocation.
29141
29142 2010-07-06  Pádraig Brady  <P@draigBrady.com>
29143
29144         * build-aux/bootstrap: Remove any local translations
29145         from the translation project synchronization directory,
29146         so that local only translations are not distributed.
29147
29148 2010-07-04  Bruno Haible  <bruno@clisp.org>
29149
29150         fsusage: Clarify which code applies to which platforms.
29151         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
29152         platform.
29153         * lib/fsusage.c (get_fs_usage): Likewise.
29154
29155 2010-07-04  Bruno Haible  <bruno@clisp.org>
29156
29157         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
29158         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
29159         Reported by Martin Lambers <marlam@marlam.de>.
29160
29161 2010-07-04  Jim Meyering  <meyering@redhat.com>
29162
29163         hash: once again explicitly disallow insertion of NULL
29164         * lib/hash.c (hash_insert0): Reinstate just-removed test:
29165         inserting a NULL pointer cannot work with these functions.
29166         Add a comment with details.
29167         This reverts part of the 2010-07-01 commit, 5bef1a35
29168         "hash: extend module to deal with non-pointer keys".
29169
29170 2010-07-01  Bruno Haible  <bruno@clisp.org>
29171
29172         stdbool: Update doc.
29173         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
29174         Info from Christian Weisgerber <naddy@mips.inka.de>.
29175
29176 2010-07-01  Jim Meyering  <meyering@redhat.com>
29177
29178         hash: extend module to deal with non-pointer keys
29179         * lib/hash.c (hash_insert0): New interface, much like hash_insert
29180         but that allows insertion of non-pointer entries.
29181         Do not disallow an ENTRY value of NULL.
29182         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
29183         * lib/hash.h (hash_insert0): Declare.
29184
29185 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29186
29187         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
29188         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
29189         not present (i.e. with autoconf 2.59 and when using gettextize, not
29190         gnulib), require AC_GNU_SOURCE instead.
29191
29192 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
29193
29194         idpriv-drop: Fix tests.
29195         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
29196         not to the test-idpriv-droptemp program.
29197
29198 2010-06-29  Bruno Haible  <bruno@clisp.org>
29199
29200         string: Fix syntax error with g++ 2.96.
29201         * lib/string.in.h (__pure__): Remove definition.
29202         (_GL_ATTRIBUTE_PURE): New macro.
29203         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
29204         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
29205         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29206
29207 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
29208
29209         unitypes: Fix bug introduced on 2010-05-18.
29210         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
29211
29212 2010-06-22  Eric Blake  <eblake@redhat.com>
29213
29214         memmem: slight optimization
29215         * lib/str-two-way.h (critical_factorization): Update comments.
29216         Reduce work during factorization phase.
29217         Reported by Carlos Bueno <carlos@bueno.org>.
29218
29219 2010-06-21  Bruno Haible  <bruno@clisp.org>
29220
29221         Fix HAVE_CALLOC_POSIX misnomer.
29222         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
29223         !HAVE_CALLOC_POSIX.
29224         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
29225         HAVE_CALLOC_POSIX.
29226         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
29227         instead of HAVE_CALLOC_POSIX.
29228         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
29229         HAVE_CALLOC_POSIX.
29230
29231         Use modern idiom for calloc() replacement.
29232         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
29233         AC_FUNC_CALLOC.
29234         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
29235         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
29236         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29237         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
29238         (gl_REPLACE_CALLOC): New macro.
29239
29240 2010-06-21  Bruno Haible  <bruno@clisp.org>
29241
29242         Fix HAVE_REALLOC_POSIX misnomer.
29243         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
29244         !HAVE_REALLOC_POSIX.
29245         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
29246         HAVE_REALLOC_POSIX.
29247         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
29248         instead of HAVE_REALLOC_POSIX.
29249         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
29250         HAVE_REALLOC_POSIX.
29251
29252         Use modern idiom for realloc() replacement.
29253         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
29254         AC_FUNC_REALLOC.
29255         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
29256         Autoconf's AC_FUNC_REALLOC.
29257         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29258         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
29259         (gl_REPLACE_REALLOC): New macro.
29260         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29261
29262 2010-06-21  Bruno Haible  <bruno@clisp.org>
29263
29264         Fix HAVE_MALLOC_POSIX misnomer.
29265         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
29266         !HAVE_MALLOC_POSIX.
29267         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
29268         HAVE_MALLOC_POSIX.
29269         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
29270         instead of HAVE_MALLOC_POSIX.
29271         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
29272         HAVE_MALLOC_POSIX.
29273
29274         Use modern idiom for malloc() replacement.
29275         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
29276         AC_FUNC_MALLOC.
29277         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
29278         Autoconf's AC_FUNC_MALLOC.
29279         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29280         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
29281         (gl_REPLACE_MALLOC): New macro.
29282         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29283
29284 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
29285
29286         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
29287         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
29288         This macro takes 3 arguments, not 4.
29289
29290 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
29291
29292         ipv6: fix detection under mingw
29293         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
29294         in6_addr.
29295
29296 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
29297
29298         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
29299         that strtod() works when cross-compiling to a glibc version known
29300         to work.
29301
29302 2010-06-15  Bruno Haible  <bruno@clisp.org>
29303
29304         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
29305
29306 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
29307
29308         select: Correct timeout.
29309         * lib/select.c (rpl_select): Compute wait_timeout correctly.
29310
29311 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29312
29313         git-version-gen: init shell var to avoid env var influence
29314         * build-aux/git-version-gen (v): Init shell var to empty.
29315
29316 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
29317
29318         priv-set: Don't assume that priv.h exists merely because getppriv does.
29319         See Jan Andersen's bug report about AIX 5L in
29320         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
29321         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
29322         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
29323         * lib/priv-set.h: Likewise.
29324         * tests/test-priv-set.c: Likewise.
29325
29326 2010-06-13  Bruno Haible  <bruno@clisp.org>
29327
29328         relocatable: Make it easier to test whether to install wrappers.
29329         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
29330         RELOCATABLE_VIA_WRAPPER.
29331
29332 2010-06-13  Bruno Haible  <bruno@clisp.org>
29333
29334         gnulib-tool: Display specified modules and dependencies differently.
29335         * gnulib-tool (func_show_module_list): New function.
29336         (func_import, func_create_testdir): Invoke it.
29337         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29338
29339 2010-06-13  Bruno Haible  <bruno@clisp.org>
29340
29341         gnulib-tool: Align code of func_import and func_create_testdir.
29342         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
29343         specified_modules.
29344
29345 2010-06-12  Jim Meyering  <meyering@redhat.com>
29346
29347         test-inttostr: avoid spurious failure on Solaris 9
29348         * tests/test-inttostr.c (main): Skip the test when snprintf fails
29349         to accept "%ju".  Reported by Bruno Haible.
29350
29351 2010-06-11  Jim Meyering  <meyering@redhat.com>
29352
29353         test-sys_socket: mark variables as used more readably
29354         * tests/test-sys_socket.c (main): Mark otherwise unused variables
29355         as "used" explicitly via (void) statement casts.  This is more
29356         readable than using them in an artificial return expression.
29357         Suggestion from Bruno Haible.
29358
29359 2010-06-11  Bruno Haible  <bruno@clisp.org>
29360
29361         Avoid some more warnings from "gcc -Wwrite-strings".
29362         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
29363         to 'const char *'.
29364         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
29365         * tests/test-c-strcasestr.c (main): Likewise.
29366         * tests/test-mbscasestr1.c (main): Likewise.
29367         * tests/test-mbscasestr2.c (main): Likewise.
29368         * tests/test-memmem.c (main): Likewise.
29369         * tests/test-strstr.c (main): Likewise.
29370         * tests/test-strcasestr.c (main): Likewise.
29371
29372 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29373
29374         init.sh: change framework_failure_ to fail with status 99, not 1
29375         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
29376         automake's parallel-tests rule that this is an unexpected failure,
29377         even if the test is listed in XFAIL_TESTS.
29378
29379 2010-06-11  Jim Meyering  <meyering@redhat.com>
29380
29381         test-inttostr: avoid warnings about 4-6KB literal strings
29382         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
29383         Include "macros.h", for its definition of ASSERT.
29384         (CK): s/assert/ASSERT/
29385         * modules/inttostr-tests (Files): Add macros.h.
29386
29387         init.sh: don't use $ME_ or skip_ before they are defined
29388         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
29389         their first uses.  Also hoist their companions: warn_, fail_,
29390         framework_failure_, $stderr_fileno.  Prompted by a patch from
29391         Stefano Lattarini.
29392
29393         test-sys_socket: avoid set-but-not-used warnings from gcc
29394         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
29395         avoid warning about set-but-not-used variables.
29396
29397         test-xvasprintf: avoid 'const' discard warnings
29398         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
29399         "const" when assigning from literal strings.
29400         (test_xasprintf): Add "void" in function argument list to placate
29401         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
29402
29403         tests: avoid compilation warnings in argmatch and exclude tests...
29404         in packages that define ARGMATCH_DIE_DECL, like coreutils.
29405         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
29406         Since it always exits, declare with the "noreturn" attribute.
29407         * tests/test-argmatch.c: Likewise.
29408
29409         tests: avoid 'const' discard warnings in mbsstr tests
29410         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
29411         * tests/test-mbsstr2.c (main): Likewise.
29412
29413         test-verify: avoid warning from gcc's -Wmissing-declarations
29414         * tests/test-verify.c (function): Declare to be static.
29415
29416         test-inttostr.c: include <string.h> for use of strcmp
29417         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
29418
29419         test-linkat: avoid failed assertion on "other" architectures
29420         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
29421         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
29422         sparc: https://bugs.launchpad.net/bugs/591968
29423
29424 2010-06-11  Jim Meyering  <meyering@redhat.com>
29425
29426         printf.m4: avoid autoconf's "Expanded Before Required" warning
29427         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
29428         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
29429         autoconf warning.
29430
29431 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
29432
29433         Replacement header templates are now named with ".in", not "_".
29434         * doc/gnulib-intro.texi: Correct.
29435
29436 2010-06-10  Jim Meyering  <meyering@redhat.com>
29437
29438         inttostr-tests: depend on snprintf, not snprintf-posix
29439         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
29440         snprintf-posix, to avoid this aclocal failure:
29441           missing file gnulib-tests/vasnprintf.c
29442           configure.ac:45: error: expected source file, required through \
29443           AC_LIBSOURCES, not found
29444
29445 2010-06-10  Jim Meyering  <meyering@redhat.com>
29446
29447         inttostr: add a new function, inttostr, and tests
29448         The namesake function was not available.  The existence of the
29449         template file, inttostr.c makes its addition nontrivial.
29450         * lib/anytostr.c: Rename from inttostr.c.
29451         (anytostr): Rename from inttostr.
29452         * lib/inttostr.c: New file.
29453         * modules/inttostr (Files): Add anytostr.c.
29454         (Makefile.am): Set lib_SOURCES instead of ...
29455         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
29456         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
29457         * lib/offtostr.c: Likewise.
29458         * lib/uinttostr.c: Likewise.
29459         * lib/umaxtostr.c: Likewise.
29460         * modules/inttostr-tests: New file.
29461         * tests/test-inttostr.c: New file.  Test these functions.
29462
29463 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
29464             Bruno Haible  <bruno@clisp.org>
29465
29466         Add "Extending Gnulib" chapter to manual.
29467         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
29468         chapter.
29469         (Extending Gnulib): New chapter.
29470         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
29471         chapter.
29472
29473 2010-06-09  Bruno Haible  <bruno@clisp.org>
29474
29475         Avoid relocwrapper link errors due to gnulib replacement functions.
29476         * lib/areadlink.c: Use the system's malloc, realloc functions.
29477         (areadlink): Set errno to ENOMEM explicitly.
29478         * modules/areadlink (Depends-on): Remove malloc-posix.
29479         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29480
29481 2010-06-09  Bruno Haible  <bruno@clisp.org>
29482
29483         Avoid relocwrapper link errors due to gnulib replacement functions.
29484         * lib/canonicalize-lgpl.c: Use the system's malloc function.
29485         * lib/malloca.c: Likewise.
29486         * lib/relocatable.c: Likewise.
29487         * lib/progreloc.c: Use the system's malloc, sprintf functions.
29488         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
29489         * lib/setenv.c: Use the system's malloc, realloc functions.
29490         * lib/strerror.c: Use the system's sprintf function.
29491         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29492
29493 2010-06-04  Bruno Haible  <bruno@clisp.org>
29494
29495         Prefer documented low-level autoconf macro names.
29496         * m4/lib-link.m4: Use m4_translit instead of translit.
29497         * m4/environ.m4: Likewise.
29498         * m4/mathfunc.m4: Likewise.
29499         * m4/onceonly.m4: Likewise.
29500         * m4/stdint.m4: Likewise.
29501         Suggested by Eric Blake.
29502
29503 2010-06-04  Martin Lambers  <marlam@marlam.de>
29504             Bruno Haible  <bruno@clisp.org>
29505
29506         havelib: Allow library names with '+' characters.
29507         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29508         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
29509
29510 2010-06-09  Bruno Haible  <bruno@clisp.org>
29511
29512         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
29513         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
29514         realloc failed.
29515
29516 2010-06-08  Peter Simons  <simons@cryp.to>
29517
29518         maint.mk: make the news-check rule more configurable
29519         * top/maint.mk (news-check-lines-spec): New variable.
29520         (news-check): Use "sed -n 1,10p" in place of "head".
29521
29522 2010-06-07  Jim Meyering  <meyering@redhat.com>
29523
29524         do-release-commit-and-tag: fix typo in --help
29525         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
29526
29527         regex: avoid new dead-code warning with gcc-4.6.0
29528         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
29529         if-block containing a while-loop.  It's been unused for at least
29530         5 years.
29531
29532 2010-06-05  Bruno Haible  <bruno@clisp.org>
29533
29534         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
29535         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
29536
29537 2010-06-04  Bruno Haible  <bruno@clisp.org>
29538
29539         Update to GNU gettext 0.18.1.
29540         * modules/gettext (configure.ac): Require gettext infrastructure from
29541         version 0.18.1.
29542
29543 2010-06-03  Bruno Haible  <bruno@clisp.org>
29544
29545         Don't use AC_LIBOBJ with file names in subdirectories.
29546         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
29547         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
29548         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
29549         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
29550         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
29551         gl_LIBUNISTRING_LIBSOURCE.
29552         (Makefile.am): Augment lib_SOURCES here, conditionally.
29553         * NEWS: Drop requirement for Automake option 'subdir-objects'.
29554
29555 2010-06-03  Bruno Haible  <bruno@clisp.org>
29556
29557         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
29558         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
29559         expansion does not end with a newline.
29560         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
29561         unnecessary newline.
29562
29563 2010-06-03  Bruno Haible  <bruno@clisp.org>
29564
29565         Reduce dependencies.
29566         * tests/test-quotearg.h: New file, extracted from
29567         tests/test-quotearg.c.
29568         * tests/test-quotearg-simple.c: New file, extracted from
29569         tests/test-quotearg.c.
29570         * tests/test-quotearg.c: Don't include <ctype.h>.
29571         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
29572         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
29573         use_quote_double_quotes, use_quotearg_colon): Moved to
29574         tests/test-quotearg.h.
29575         (results_g, flag_results, custom_quotes, custom_results): Moved
29576         to tests/test-quotearg-simple.c.
29577         (main): Moved the part that does not depend on gettext to
29578         tests/test-quotearg-simple.c. Return 77 if the test cannot be
29579         performed.
29580         * modules/quotearg-simple: New file.
29581         * modules/quotearg-simple-tests: New file.
29582         * modules/quotearg (Depends-on): Add quotearg-simple.
29583         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
29584         (Files): Add tests/test-quotearg.h.
29585         Reported by Paolo Bonzini.
29586
29587 2010-06-03  Bruno Haible  <bruno@clisp.org>
29588
29589         Reduce dependencies.
29590         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
29591
29592 2010-06-03  Bruno Haible  <bruno@clisp.org>
29593
29594         time: Undefine more broken macros.
29595         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
29596         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
29597         Reported by Eric Blake.
29598
29599 2010-06-03  Bruno Haible  <bruno@clisp.org>
29600
29601         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
29602         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
29603         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
29604         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
29605         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
29606         Reported by Ludovic Courtès <ludo@gnu.org>.
29607
29608 2010-06-02  Eric Blake  <eblake@redhat.com>
29609
29610         time: work with mingw + pthreads-win32 library
29611         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
29612         if timespec is defined only in pthread.h.
29613         * modules/time (Makefile.am): Substitute it.
29614         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
29615         <pthread.h>, when needed.
29616         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
29617         from the library.
29618
29619 2010-05-31  Bruno Haible  <bruno@clisp.org>
29620
29621         Avoid expanding two macros in the wrong order.
29622         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
29623         gl_LIBUNISTRING if it is defined.
29624         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
29625         autoconf >= 2.64.
29626         Reported by Ludovic Courtès <ludo@gnu.org>.
29627
29628 2010-05-27  Jim Meyering  <meyering@redhat.com>
29629
29630         maint.mk: also prohibit "#undef" of always-defined symbols
29631         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
29632         Allow more than one space before the symbol name.
29633         (sc_prohibit_always-defined_macros): Use grep's -E, now that
29634         the regexp uses alternation.
29635
29636 2010-05-26  Eric Blake  <eblake@redhat.com>
29637
29638         maint.mk: avoid echo -e
29639         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
29640         Convert all uses of echo -* to printf.
29641         Reported by Matthias Bolte.
29642
29643 2010-05-25  Bruno Haible  <bruno@clisp.org>
29644
29645         Update to GNU gettext 0.18, part 2.
29646         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
29647         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
29648
29649 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29650
29651         Add missing include in test-pwrite.c.
29652         * tests/test-pwrite.c: Include string.h, for strcmp.
29653
29654 2010-05-24  Bruno Haible  <bruno@clisp.org>
29655
29656         * NEWS: Mention requirement for Automake option 'subdir-objects'.
29657
29658 2010-05-24  Bruno Haible  <bruno@clisp.org>
29659
29660         Don't use conversion with transliteration in u{8,16,32}_strcoll.
29661         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
29662         iconveh_error argument.
29663         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
29664         U_STRCONV_TO_LOCALE.
29665         * lib/unistr/u16-strcoll.c: Likewise.
29666         * lib/unistr/u32-strcoll.c: Likewise.
29667         * modules/unistr/u8-strcoll (Depends-on): Add
29668         uniconv/u8-strconv-to-enc, localcharset. Remove
29669         uniconv/u8-strconv-to-locale.
29670         (configure.ac): Bump version number.
29671         * modules/unistr/u16-strcoll (Depends-on): Add
29672         uniconv/u16-strconv-to-enc, localcharset. Remove
29673         uniconv/u16-strconv-to-locale.
29674         (configure.ac): Bump version number.
29675         * modules/unistr/u32-strcoll (Depends-on): Add
29676         uniconv/u32-strconv-to-enc, localcharset. Remove
29677         uniconv/u32-strconv-to-locale.
29678         (configure.ac): Bump version number.
29679
29680 2010-05-24  Bruno Haible  <bruno@clisp.org>
29681
29682         Avoid a test failure on NetBSD 5.0.
29683         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
29684         an iconv() bug.
29685
29686 2010-05-24  Bruno Haible  <bruno@clisp.org>
29687
29688         Adjust #include directive style.
29689         * modules/regex (Includes): Recommend to write <regex.h>.
29690
29691 2010-05-24  Bruno Haible  <bruno@clisp.org>
29692
29693         regex: Don't require alloca.
29694         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
29695         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
29696         only inside if (0).
29697
29698 2010-05-23  Jim Meyering  <meyering@redhat.com>
29699
29700         test-renameat.c: include <sys/stat.h>
29701         * tests/test-renameat.c: Include <sys/stat.h>; required for
29702         definition of S_IS* macros.
29703
29704 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
29705
29706         Update maintainer documentation for 'relocatable-prog' module.
29707         * doc/relocatable-maint.texi: Update.
29708         Comments by Bruno Haible.
29709
29710 2010-05-23  Bruno Haible  <bruno@clisp.org>
29711
29712         git-merge-changelog: Enable --split-merged-entry by default.
29713         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
29714         (usage): Don't mention this option any more.
29715         Reported by Ralf Wildenhues.
29716
29717 2010-05-23  Jim Meyering  <meyering@redhat.com>
29718
29719         test-pwrite: do not leave behind a test file named "out"
29720         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
29721         The trivial-looking use of init.sh is really necessary.
29722         It ensures that the temporary file, "out", is created in
29723         a temporary directory, and removed upon termination.
29724         * tests/test-pwrite.sh: Re-add file.
29725         * modules/pwrite-tests: Reference it.
29726
29727 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29728
29729         Fix output redirection buglet in init.sh.
29730         * tests/init.sh: Fix redirection of stderr.
29731
29732 2010-05-20  Simon Josefsson  <simon@josefsson.org>
29733
29734         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
29735
29736 2010-05-17  Simon Josefsson  <simon@josefsson.org>
29737
29738         * modules/valgrind-tests: New file.
29739         * m4/valgrind-tests.m4: New file.
29740         * doc/valgrind-tests.texi: New file.
29741         * doc/gnulib.texi (Running self-tests under valgrind): New
29742         section.
29743
29744 2010-05-19  Bruno Haible  <bruno@clisp.org>
29745
29746         Clean up dead code in recent commit.
29747         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
29748         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
29749         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
29750         Suggested by Paolo Bonzini.
29751
29752 2010-05-19  Bruno Haible  <bruno@clisp.org>
29753
29754         Avoid valgrind error reports from libunistring.
29755         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
29756         * modules/libunistring (Files): Add it.
29757         * modules/libunistring-optional (Files): Likewise.
29758
29759 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
29760             Bruno Haible  <bruno@clisp.org>
29761
29762         New module 'libunistring-optional'.
29763         * modules/libunistring-optional: New file.
29764         * m4/libunistring-base.m4: New file.
29765         * m4/libunistring-optional.m4: New file.
29766         * lib/unicase.in.h: Renamed from lib/unicase.h.
29767         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
29768         * lib/unictype.in.h: Renamed from lib/unictype.h.
29769         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
29770         * lib/uniname.in.h: Renamed from lib/uniname.h.
29771         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
29772         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
29773         * lib/unistr.in.h: Renamed from lib/unistr.h.
29774         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
29775         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
29776         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
29777         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
29778         gl_LIBUNISTRING. If the library was found, determine the installed
29779         version and set LIBUNISTRING_VERSION.
29780         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
29781         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
29782         handle a configuration option --with-included-libunistring.
29783         * modules/libunistring (Files): Add m4/absolute-header.m4.
29784         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
29785         Add m4/libunistring-base.m4.
29786         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29787         (Makefile.am): Build unicase.h from unicase.in.h.
29788         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
29789         Add m4/libunistring-base.m4.
29790         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29791         (Makefile.am): Build uniconv.h from uniconv.in.h.
29792         * modules/unictype/base (Files): Use unictype.in.h instead of
29793         unictype.h. Add m4/libunistring-base.m4.
29794         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29795         (Makefile.am): Build unictype.h from unictype.in.h.
29796         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
29797         Add m4/libunistring-base.m4.
29798         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29799         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
29800         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
29801         Add m4/libunistring-base.m4.
29802         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29803         (Makefile.am): Build uniname.h from uniname.in.h.
29804         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
29805         Add m4/libunistring-base.m4.
29806         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29807         (Makefile.am): Build uninorm.h from uninorm.in.h.
29808         * modules/unistdio/base (Files): Use unistdio.in.h instead of
29809         unistdio.h. Add m4/libunistring-base.m4.
29810         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29811         (Makefile.am): Build unistdio.h from unistdio.in.h.
29812         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
29813         Add m4/libunistring-base.m4.
29814         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29815         (Makefile.am): Build unistr.h from unistr.in.h.
29816         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
29817         Add m4/libunistring-base.m4.
29818         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29819         (Makefile.am): Build unitypes.h from unitypes.in.h.
29820         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
29821         Add m4/libunistring-base.m4.
29822         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29823         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
29824         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
29825         uniwidth.h. Add m4/libunistring-base.m4.
29826         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29827         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
29828         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
29829         instead of augmenting lib_SOURCES.
29830         * modules/unicase/empty-suffix-context: Likewise.
29831         * modules/unicase/locale-language: Likewise.
29832         * modules/unicase/tolower: Likewise.
29833         * modules/unicase/totitle: Likewise.
29834         * modules/unicase/toupper: Likewise.
29835         * modules/unicase/u8-casecmp: Likewise.
29836         * modules/unicase/u8-casecoll: Likewise.
29837         * modules/unicase/u8-casefold: Likewise.
29838         * modules/unicase/u8-casexfrm: Likewise.
29839         * modules/unicase/u8-ct-casefold: Likewise.
29840         * modules/unicase/u8-ct-tolower: Likewise.
29841         * modules/unicase/u8-ct-totitle: Likewise.
29842         * modules/unicase/u8-ct-toupper: Likewise.
29843         * modules/unicase/u8-is-cased: Likewise.
29844         * modules/unicase/u8-is-casefolded: Likewise.
29845         * modules/unicase/u8-is-lowercase: Likewise.
29846         * modules/unicase/u8-is-titlecase: Likewise.
29847         * modules/unicase/u8-is-uppercase: Likewise.
29848         * modules/unicase/u8-prefix-context: Likewise.
29849         * modules/unicase/u8-suffix-context: Likewise.
29850         * modules/unicase/u8-tolower: Likewise.
29851         * modules/unicase/u8-totitle: Likewise.
29852         * modules/unicase/u8-toupper: Likewise.
29853         * modules/unicase/u16-casecmp: Likewise.
29854         * modules/unicase/u16-casecoll: Likewise.
29855         * modules/unicase/u16-casefold: Likewise.
29856         * modules/unicase/u16-casexfrm: Likewise.
29857         * modules/unicase/u16-ct-casefold: Likewise.
29858         * modules/unicase/u16-ct-tolower: Likewise.
29859         * modules/unicase/u16-ct-totitle: Likewise.
29860         * modules/unicase/u16-ct-toupper: Likewise.
29861         * modules/unicase/u16-is-cased: Likewise.
29862         * modules/unicase/u16-is-casefolded: Likewise.
29863         * modules/unicase/u16-is-lowercase: Likewise.
29864         * modules/unicase/u16-is-titlecase: Likewise.
29865         * modules/unicase/u16-is-uppercase: Likewise.
29866         * modules/unicase/u16-prefix-context: Likewise.
29867         * modules/unicase/u16-suffix-context: Likewise.
29868         * modules/unicase/u16-tolower: Likewise.
29869         * modules/unicase/u16-totitle: Likewise.
29870         * modules/unicase/u16-toupper: Likewise.
29871         * modules/unicase/u32-casecmp: Likewise.
29872         * modules/unicase/u32-casecoll: Likewise.
29873         * modules/unicase/u32-casefold: Likewise.
29874         * modules/unicase/u32-casexfrm: Likewise.
29875         * modules/unicase/u32-ct-casefold: Likewise.
29876         * modules/unicase/u32-ct-tolower: Likewise.
29877         * modules/unicase/u32-ct-totitle: Likewise.
29878         * modules/unicase/u32-ct-toupper: Likewise.
29879         * modules/unicase/u32-is-cased: Likewise.
29880         * modules/unicase/u32-is-casefolded: Likewise.
29881         * modules/unicase/u32-is-lowercase: Likewise.
29882         * modules/unicase/u32-is-titlecase: Likewise.
29883         * modules/unicase/u32-is-uppercase: Likewise.
29884         * modules/unicase/u32-prefix-context: Likewise.
29885         * modules/unicase/u32-suffix-context: Likewise.
29886         * modules/unicase/u32-tolower: Likewise.
29887         * modules/unicase/u32-totitle: Likewise.
29888         * modules/unicase/u32-toupper: Likewise.
29889         * modules/unicase/ulc-casecmp: Likewise.
29890         * modules/unicase/ulc-casecoll: Likewise.
29891         * modules/unicase/ulc-casexfrm: Likewise.
29892         * modules/uniconv/u8-conv-from-enc: Likewise.
29893         * modules/uniconv/u8-conv-to-enc: Likewise.
29894         * modules/uniconv/u8-strconv-from-enc: Likewise.
29895         * modules/uniconv/u8-strconv-from-locale: Likewise.
29896         * modules/uniconv/u8-strconv-to-enc: Likewise.
29897         * modules/uniconv/u8-strconv-to-locale: Likewise.
29898         * modules/uniconv/u16-conv-from-enc: Likewise.
29899         * modules/uniconv/u16-conv-to-enc: Likewise.
29900         * modules/uniconv/u16-strconv-from-enc: Likewise.
29901         * modules/uniconv/u16-strconv-from-locale: Likewise.
29902         * modules/uniconv/u16-strconv-to-enc: Likewise.
29903         * modules/uniconv/u16-strconv-to-locale: Likewise.
29904         * modules/uniconv/u32-conv-from-enc: Likewise.
29905         * modules/uniconv/u32-conv-to-enc: Likewise.
29906         * modules/uniconv/u32-strconv-from-enc: Likewise.
29907         * modules/uniconv/u32-strconv-from-locale: Likewise.
29908         * modules/uniconv/u32-strconv-to-enc: Likewise.
29909         * modules/uniconv/u32-strconv-to-locale: Likewise.
29910         * modules/unictype/bidicategory-byname: Likewise.
29911         * modules/unictype/bidicategory-name: Likewise.
29912         * modules/unictype/bidicategory-of: Likewise.
29913         * modules/unictype/bidicategory-test: Likewise.
29914         * modules/unictype/block-list: Likewise.
29915         * modules/unictype/block-test: Likewise.
29916         * modules/unictype/category-C: Likewise.
29917         * modules/unictype/category-Cc: Likewise.
29918         * modules/unictype/category-Cf: Likewise.
29919         * modules/unictype/category-Cn: Likewise.
29920         * modules/unictype/category-Co: Likewise.
29921         * modules/unictype/category-Cs: Likewise.
29922         * modules/unictype/category-L: Likewise.
29923         * modules/unictype/category-Ll: Likewise.
29924         * modules/unictype/category-Lm: Likewise.
29925         * modules/unictype/category-Lo: Likewise.
29926         * modules/unictype/category-Lt: Likewise.
29927         * modules/unictype/category-Lu: Likewise.
29928         * modules/unictype/category-M: Likewise.
29929         * modules/unictype/category-Mc: Likewise.
29930         * modules/unictype/category-Me: Likewise.
29931         * modules/unictype/category-Mn: Likewise.
29932         * modules/unictype/category-N: Likewise.
29933         * modules/unictype/category-Nd: Likewise.
29934         * modules/unictype/category-Nl: Likewise.
29935         * modules/unictype/category-No: Likewise.
29936         * modules/unictype/category-P: Likewise.
29937         * modules/unictype/category-Pc: Likewise.
29938         * modules/unictype/category-Pd: Likewise.
29939         * modules/unictype/category-Pe: Likewise.
29940         * modules/unictype/category-Pf: Likewise.
29941         * modules/unictype/category-Pi: Likewise.
29942         * modules/unictype/category-Po: Likewise.
29943         * modules/unictype/category-Ps: Likewise.
29944         * modules/unictype/category-S: Likewise.
29945         * modules/unictype/category-Sc: Likewise.
29946         * modules/unictype/category-Sk: Likewise.
29947         * modules/unictype/category-Sm: Likewise.
29948         * modules/unictype/category-So: Likewise.
29949         * modules/unictype/category-Z: Likewise.
29950         * modules/unictype/category-Zl: Likewise.
29951         * modules/unictype/category-Zp: Likewise.
29952         * modules/unictype/category-Zs: Likewise.
29953         * modules/unictype/category-and: Likewise.
29954         * modules/unictype/category-and-not: Likewise.
29955         * modules/unictype/category-byname: Likewise.
29956         * modules/unictype/category-name: Likewise.
29957         * modules/unictype/category-none: Likewise.
29958         * modules/unictype/category-of: Likewise.
29959         * modules/unictype/category-or: Likewise.
29960         * modules/unictype/category-test: Likewise.
29961         * modules/unictype/combining-class: Likewise.
29962         * modules/unictype/ctype-alnum: Likewise.
29963         * modules/unictype/ctype-alpha: Likewise.
29964         * modules/unictype/ctype-blank: Likewise.
29965         * modules/unictype/ctype-cntrl: Likewise.
29966         * modules/unictype/ctype-digit: Likewise.
29967         * modules/unictype/ctype-graph: Likewise.
29968         * modules/unictype/ctype-lower: Likewise.
29969         * modules/unictype/ctype-print: Likewise.
29970         * modules/unictype/ctype-punct: Likewise.
29971         * modules/unictype/ctype-space: Likewise.
29972         * modules/unictype/ctype-upper: Likewise.
29973         * modules/unictype/ctype-xdigit: Likewise.
29974         * modules/unictype/decimal-digit: Likewise.
29975         * modules/unictype/digit: Likewise.
29976         * modules/unictype/mirror: Likewise.
29977         * modules/unictype/numeric: Likewise.
29978         * modules/unictype/property-alphabetic: Likewise.
29979         * modules/unictype/property-ascii-hex-digit: Likewise.
29980         * modules/unictype/property-bidi-arabic-digit: Likewise.
29981         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
29982         * modules/unictype/property-bidi-block-separator: Likewise.
29983         * modules/unictype/property-bidi-boundary-neutral: Likewise.
29984         * modules/unictype/property-bidi-common-separator: Likewise.
29985         * modules/unictype/property-bidi-control: Likewise.
29986         * modules/unictype/property-bidi-embedding-or-override: Likewise.
29987         * modules/unictype/property-bidi-eur-num-separator: Likewise.
29988         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
29989         * modules/unictype/property-bidi-european-digit: Likewise.
29990         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
29991         * modules/unictype/property-bidi-left-to-right: Likewise.
29992         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
29993         * modules/unictype/property-bidi-other-neutral: Likewise.
29994         * modules/unictype/property-bidi-pdf: Likewise.
29995         * modules/unictype/property-bidi-segment-separator: Likewise.
29996         * modules/unictype/property-bidi-whitespace: Likewise.
29997         * modules/unictype/property-byname: Likewise.
29998         * modules/unictype/property-combining: Likewise.
29999         * modules/unictype/property-composite: Likewise.
30000         * modules/unictype/property-currency-symbol: Likewise.
30001         * modules/unictype/property-dash: Likewise.
30002         * modules/unictype/property-decimal-digit: Likewise.
30003         * modules/unictype/property-default-ignorable-code-point: Likewise.
30004         * modules/unictype/property-deprecated: Likewise.
30005         * modules/unictype/property-diacritic: Likewise.
30006         * modules/unictype/property-extender: Likewise.
30007         * modules/unictype/property-format-control: Likewise.
30008         * modules/unictype/property-grapheme-base: Likewise.
30009         * modules/unictype/property-grapheme-extend: Likewise.
30010         * modules/unictype/property-grapheme-link: Likewise.
30011         * modules/unictype/property-hex-digit: Likewise.
30012         * modules/unictype/property-hyphen: Likewise.
30013         * modules/unictype/property-id-continue: Likewise.
30014         * modules/unictype/property-id-start: Likewise.
30015         * modules/unictype/property-ideographic: Likewise.
30016         * modules/unictype/property-ids-binary-operator: Likewise.
30017         * modules/unictype/property-ids-trinary-operator: Likewise.
30018         * modules/unictype/property-ignorable-control: Likewise.
30019         * modules/unictype/property-iso-control: Likewise.
30020         * modules/unictype/property-join-control: Likewise.
30021         * modules/unictype/property-left-of-pair: Likewise.
30022         * modules/unictype/property-line-separator: Likewise.
30023         * modules/unictype/property-logical-order-exception: Likewise.
30024         * modules/unictype/property-lowercase: Likewise.
30025         * modules/unictype/property-math: Likewise.
30026         * modules/unictype/property-non-break: Likewise.
30027         * modules/unictype/property-not-a-character: Likewise.
30028         * modules/unictype/property-numeric: Likewise.
30029         * modules/unictype/property-other-alphabetic: Likewise.
30030         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
30031         * modules/unictype/property-other-grapheme-extend: Likewise.
30032         * modules/unictype/property-other-id-continue: Likewise.
30033         * modules/unictype/property-other-id-start: Likewise.
30034         * modules/unictype/property-other-lowercase: Likewise.
30035         * modules/unictype/property-other-math: Likewise.
30036         * modules/unictype/property-other-uppercase: Likewise.
30037         * modules/unictype/property-paired-punctuation: Likewise.
30038         * modules/unictype/property-paragraph-separator: Likewise.
30039         * modules/unictype/property-pattern-syntax: Likewise.
30040         * modules/unictype/property-pattern-white-space: Likewise.
30041         * modules/unictype/property-private-use: Likewise.
30042         * modules/unictype/property-punctuation: Likewise.
30043         * modules/unictype/property-quotation-mark: Likewise.
30044         * modules/unictype/property-radical: Likewise.
30045         * modules/unictype/property-sentence-terminal: Likewise.
30046         * modules/unictype/property-soft-dotted: Likewise.
30047         * modules/unictype/property-space: Likewise.
30048         * modules/unictype/property-terminal-punctuation: Likewise.
30049         * modules/unictype/property-test: Likewise.
30050         * modules/unictype/property-titlecase: Likewise.
30051         * modules/unictype/property-unassigned-code-value: Likewise.
30052         * modules/unictype/property-unified-ideograph: Likewise.
30053         * modules/unictype/property-uppercase: Likewise.
30054         * modules/unictype/property-variation-selector: Likewise.
30055         * modules/unictype/property-white-space: Likewise.
30056         * modules/unictype/property-xid-continue: Likewise.
30057         * modules/unictype/property-xid-start: Likewise.
30058         * modules/unictype/property-zero-width: Likewise.
30059         * modules/unictype/scripts: Likewise.
30060         * modules/unictype/syntax-c-ident: Likewise.
30061         * modules/unictype/syntax-c-whitespace: Likewise.
30062         * modules/unictype/syntax-java-ident: Likewise.
30063         * modules/unictype/syntax-java-whitespace: Likewise.
30064         * modules/unilbrk/u8-possible-linebreaks: Likewise.
30065         * modules/unilbrk/u8-width-linebreaks: Likewise.
30066         * modules/unilbrk/u16-possible-linebreaks: Likewise.
30067         * modules/unilbrk/u16-width-linebreaks: Likewise.
30068         * modules/unilbrk/u32-possible-linebreaks: Likewise.
30069         * modules/unilbrk/u32-width-linebreaks: Likewise.
30070         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
30071         * modules/unilbrk/ulc-width-linebreaks: Likewise.
30072         * modules/uniname/uniname: Likewise.
30073         * modules/uninorm/canonical-decomposition: Likewise.
30074         * modules/uninorm/composition: Likewise.
30075         * modules/uninorm/decomposing-form: Likewise.
30076         * modules/uninorm/decomposition: Likewise.
30077         * modules/uninorm/filter: Likewise.
30078         * modules/uninorm/nfc: Likewise.
30079         * modules/uninorm/nfd: Likewise.
30080         * modules/uninorm/nfkc: Likewise.
30081         * modules/uninorm/nfkd: Likewise.
30082         * modules/uninorm/u8-normalize: Likewise.
30083         * modules/uninorm/u8-normcmp: Likewise.
30084         * modules/uninorm/u8-normcoll: Likewise.
30085         * modules/uninorm/u8-normxfrm: Likewise.
30086         * modules/uninorm/u16-normalize: Likewise.
30087         * modules/uninorm/u16-normcmp: Likewise.
30088         * modules/uninorm/u16-normcoll: Likewise.
30089         * modules/uninorm/u16-normxfrm: Likewise.
30090         * modules/uninorm/u32-normalize: Likewise.
30091         * modules/uninorm/u32-normcmp: Likewise.
30092         * modules/uninorm/u32-normcoll: Likewise.
30093         * modules/uninorm/u32-normxfrm: Likewise.
30094         * modules/unistdio/u8-asnprintf: Likewise.
30095         * modules/unistdio/u8-asprintf: Likewise.
30096         * modules/unistdio/u8-snprintf: Likewise.
30097         * modules/unistdio/u8-sprintf: Likewise.
30098         * modules/unistdio/u8-u8-asnprintf: Likewise.
30099         * modules/unistdio/u8-u8-asprintf: Likewise.
30100         * modules/unistdio/u8-u8-snprintf: Likewise.
30101         * modules/unistdio/u8-u8-sprintf: Likewise.
30102         * modules/unistdio/u8-u8-vasnprintf: Likewise.
30103         * modules/unistdio/u8-u8-vasprintf: Likewise.
30104         * modules/unistdio/u8-u8-vsnprintf: Likewise.
30105         * modules/unistdio/u8-u8-vsprintf: Likewise.
30106         * modules/unistdio/u8-vasnprintf: Likewise.
30107         * modules/unistdio/u8-vasprintf: Likewise.
30108         * modules/unistdio/u8-vsnprintf: Likewise.
30109         * modules/unistdio/u8-vsprintf: Likewise.
30110         * modules/unistdio/u16-asnprintf: Likewise.
30111         * modules/unistdio/u16-asprintf: Likewise.
30112         * modules/unistdio/u16-snprintf: Likewise.
30113         * modules/unistdio/u16-sprintf: Likewise.
30114         * modules/unistdio/u16-u16-asnprintf: Likewise.
30115         * modules/unistdio/u16-u16-asprintf: Likewise.
30116         * modules/unistdio/u16-u16-snprintf: Likewise.
30117         * modules/unistdio/u16-u16-sprintf: Likewise.
30118         * modules/unistdio/u16-u16-vasnprintf: Likewise.
30119         * modules/unistdio/u16-u16-vasprintf: Likewise.
30120         * modules/unistdio/u16-u16-vsnprintf: Likewise.
30121         * modules/unistdio/u16-u16-vsprintf: Likewise.
30122         * modules/unistdio/u16-vasnprintf: Likewise.
30123         * modules/unistdio/u16-vasprintf: Likewise.
30124         * modules/unistdio/u16-vsnprintf: Likewise.
30125         * modules/unistdio/u16-vsprintf: Likewise.
30126         * modules/unistdio/u32-asnprintf: Likewise.
30127         * modules/unistdio/u32-asprintf: Likewise.
30128         * modules/unistdio/u32-snprintf: Likewise.
30129         * modules/unistdio/u32-sprintf: Likewise.
30130         * modules/unistdio/u32-u32-asnprintf: Likewise.
30131         * modules/unistdio/u32-u32-asprintf: Likewise.
30132         * modules/unistdio/u32-u32-snprintf: Likewise.
30133         * modules/unistdio/u32-u32-sprintf: Likewise.
30134         * modules/unistdio/u32-u32-vasnprintf: Likewise.
30135         * modules/unistdio/u32-u32-vasprintf: Likewise.
30136         * modules/unistdio/u32-u32-vsnprintf: Likewise.
30137         * modules/unistdio/u32-u32-vsprintf: Likewise.
30138         * modules/unistdio/u32-vasnprintf: Likewise.
30139         * modules/unistdio/u32-vasprintf: Likewise.
30140         * modules/unistdio/u32-vsnprintf: Likewise.
30141         * modules/unistdio/u32-vsprintf: Likewise.
30142         * modules/unistdio/ulc-asnprintf: Likewise.
30143         * modules/unistdio/ulc-asprintf: Likewise.
30144         * modules/unistdio/ulc-fprintf: Likewise.
30145         * modules/unistdio/ulc-snprintf: Likewise.
30146         * modules/unistdio/ulc-sprintf: Likewise.
30147         * modules/unistdio/ulc-vasnprintf: Likewise.
30148         * modules/unistdio/ulc-vasprintf: Likewise.
30149         * modules/unistdio/ulc-vfprintf: Likewise.
30150         * modules/unistdio/ulc-vsnprintf: Likewise.
30151         * modules/unistdio/ulc-vsprintf: Likewise.
30152         * modules/unistr/u8-check: Likewise.
30153         * modules/unistr/u8-chr: Likewise.
30154         * modules/unistr/u8-cmp: Likewise.
30155         * modules/unistr/u8-cmp2: Likewise.
30156         * modules/unistr/u8-cpy: Likewise.
30157         * modules/unistr/u8-cpy-alloc: Likewise.
30158         * modules/unistr/u8-endswith: Likewise.
30159         * modules/unistr/u8-mblen: Likewise.
30160         * modules/unistr/u8-mbsnlen: Likewise.
30161         * modules/unistr/u8-mbtouc: Likewise.
30162         * modules/unistr/u8-mbtouc-unsafe: Likewise.
30163         * modules/unistr/u8-mbtoucr: Likewise.
30164         * modules/unistr/u8-move: Likewise.
30165         * modules/unistr/u8-next: Likewise.
30166         * modules/unistr/u8-prev: Likewise.
30167         * modules/unistr/u8-set: Likewise.
30168         * modules/unistr/u8-startswith: Likewise.
30169         * modules/unistr/u8-stpcpy: Likewise.
30170         * modules/unistr/u8-stpncpy: Likewise.
30171         * modules/unistr/u8-strcat: Likewise.
30172         * modules/unistr/u8-strchr: Likewise.
30173         * modules/unistr/u8-strcmp: Likewise.
30174         * modules/unistr/u8-strcoll: Likewise.
30175         * modules/unistr/u8-strcpy: Likewise.
30176         * modules/unistr/u8-strcspn: Likewise.
30177         * modules/unistr/u8-strdup: Likewise.
30178         * modules/unistr/u8-strlen: Likewise.
30179         * modules/unistr/u8-strmblen: Likewise.
30180         * modules/unistr/u8-strmbtouc: Likewise.
30181         * modules/unistr/u8-strncat: Likewise.
30182         * modules/unistr/u8-strncmp: Likewise.
30183         * modules/unistr/u8-strncpy: Likewise.
30184         * modules/unistr/u8-strnlen: Likewise.
30185         * modules/unistr/u8-strpbrk: Likewise.
30186         * modules/unistr/u8-strrchr: Likewise.
30187         * modules/unistr/u8-strspn: Likewise.
30188         * modules/unistr/u8-strstr: Likewise.
30189         * modules/unistr/u8-strtok: Likewise.
30190         * modules/unistr/u8-to-u16: Likewise.
30191         * modules/unistr/u8-to-u32: Likewise.
30192         * modules/unistr/u8-uctomb: Likewise.
30193         * modules/unistr/u16-check: Likewise.
30194         * modules/unistr/u16-chr: Likewise.
30195         * modules/unistr/u16-cmp: Likewise.
30196         * modules/unistr/u16-cmp2: Likewise.
30197         * modules/unistr/u16-cpy: Likewise.
30198         * modules/unistr/u16-cpy-alloc: Likewise.
30199         * modules/unistr/u16-endswith: Likewise.
30200         * modules/unistr/u16-mblen: Likewise.
30201         * modules/unistr/u16-mbsnlen: Likewise.
30202         * modules/unistr/u16-mbtouc: Likewise.
30203         * modules/unistr/u16-mbtouc-unsafe: Likewise.
30204         * modules/unistr/u16-mbtoucr: Likewise.
30205         * modules/unistr/u16-move: Likewise.
30206         * modules/unistr/u16-next: Likewise.
30207         * modules/unistr/u16-prev: Likewise.
30208         * modules/unistr/u16-set: Likewise.
30209         * modules/unistr/u16-startswith: Likewise.
30210         * modules/unistr/u16-stpcpy: Likewise.
30211         * modules/unistr/u16-stpncpy: Likewise.
30212         * modules/unistr/u16-strcat: Likewise.
30213         * modules/unistr/u16-strchr: Likewise.
30214         * modules/unistr/u16-strcmp: Likewise.
30215         * modules/unistr/u16-strcoll: Likewise.
30216         * modules/unistr/u16-strcpy: Likewise.
30217         * modules/unistr/u16-strcspn: Likewise.
30218         * modules/unistr/u16-strdup: Likewise.
30219         * modules/unistr/u16-strlen: Likewise.
30220         * modules/unistr/u16-strmblen: Likewise.
30221         * modules/unistr/u16-strmbtouc: Likewise.
30222         * modules/unistr/u16-strncat: Likewise.
30223         * modules/unistr/u16-strncmp: Likewise.
30224         * modules/unistr/u16-strncpy: Likewise.
30225         * modules/unistr/u16-strnlen: Likewise.
30226         * modules/unistr/u16-strpbrk: Likewise.
30227         * modules/unistr/u16-strrchr: Likewise.
30228         * modules/unistr/u16-strspn: Likewise.
30229         * modules/unistr/u16-strstr: Likewise.
30230         * modules/unistr/u16-strtok: Likewise.
30231         * modules/unistr/u16-to-u32: Likewise.
30232         * modules/unistr/u16-to-u8: Likewise.
30233         * modules/unistr/u16-uctomb: Likewise.
30234         * modules/unistr/u32-check: Likewise.
30235         * modules/unistr/u32-chr: Likewise.
30236         * modules/unistr/u32-cmp: Likewise.
30237         * modules/unistr/u32-cmp2: Likewise.
30238         * modules/unistr/u32-cpy: Likewise.
30239         * modules/unistr/u32-cpy-alloc: Likewise.
30240         * modules/unistr/u32-endswith: Likewise.
30241         * modules/unistr/u32-mblen: Likewise.
30242         * modules/unistr/u32-mbsnlen: Likewise.
30243         * modules/unistr/u32-mbtouc: Likewise.
30244         * modules/unistr/u32-mbtouc-unsafe: Likewise.
30245         * modules/unistr/u32-mbtoucr: Likewise.
30246         * modules/unistr/u32-move: Likewise.
30247         * modules/unistr/u32-next: Likewise.
30248         * modules/unistr/u32-prev: Likewise.
30249         * modules/unistr/u32-set: Likewise.
30250         * modules/unistr/u32-startswith: Likewise.
30251         * modules/unistr/u32-stpcpy: Likewise.
30252         * modules/unistr/u32-stpncpy: Likewise.
30253         * modules/unistr/u32-strcat: Likewise.
30254         * modules/unistr/u32-strchr: Likewise.
30255         * modules/unistr/u32-strcmp: Likewise.
30256         * modules/unistr/u32-strcoll: Likewise.
30257         * modules/unistr/u32-strcpy: Likewise.
30258         * modules/unistr/u32-strcspn: Likewise.
30259         * modules/unistr/u32-strdup: Likewise.
30260         * modules/unistr/u32-strlen: Likewise.
30261         * modules/unistr/u32-strmblen: Likewise.
30262         * modules/unistr/u32-strmbtouc: Likewise.
30263         * modules/unistr/u32-strncat: Likewise.
30264         * modules/unistr/u32-strncmp: Likewise.
30265         * modules/unistr/u32-strncpy: Likewise.
30266         * modules/unistr/u32-strnlen: Likewise.
30267         * modules/unistr/u32-strpbrk: Likewise.
30268         * modules/unistr/u32-strrchr: Likewise.
30269         * modules/unistr/u32-strspn: Likewise.
30270         * modules/unistr/u32-strstr: Likewise.
30271         * modules/unistr/u32-strtok: Likewise.
30272         * modules/unistr/u32-to-u16: Likewise.
30273         * modules/unistr/u32-to-u8: Likewise.
30274         * modules/unistr/u32-uctomb: Likewise.
30275         * modules/uniwbrk/u8-wordbreaks: Likewise.
30276         * modules/uniwbrk/u16-wordbreaks: Likewise.
30277         * modules/uniwbrk/u32-wordbreaks: Likewise.
30278         * modules/uniwbrk/ulc-wordbreaks: Likewise.
30279         * modules/uniwbrk/wordbreak-property: Likewise.
30280         * modules/uniwidth/u8-strwidth: Likewise.
30281         * modules/uniwidth/u8-width: Likewise.
30282         * modules/uniwidth/u16-strwidth: Likewise.
30283         * modules/uniwidth/u16-width: Likewise.
30284         * modules/uniwidth/u32-strwidth: Likewise.
30285         * modules/uniwidth/u32-width: Likewise.
30286         * modules/uniwidth/width: Likewise.
30287         * modules/unicase/cased-tests (Makefile.am): Link all test programs
30288         with $(LIBUNISTRING).
30289         * modules/unicase/ignorable-tests: Likewise.
30290         * modules/unicase/locale-language-tests: Likewise.
30291         * modules/unicase/tolower-tests: Likewise.
30292         * modules/unicase/totitle-tests: Likewise.
30293         * modules/unicase/toupper-tests: Likewise.
30294         * modules/unicase/u8-casecmp-tests: Likewise.
30295         * modules/unicase/u8-casecoll-tests: Likewise.
30296         * modules/unicase/u8-casefold-tests: Likewise.
30297         * modules/unicase/u8-is-cased-tests: Likewise.
30298         * modules/unicase/u8-is-casefolded-tests: Likewise.
30299         * modules/unicase/u8-is-lowercase-tests: Likewise.
30300         * modules/unicase/u8-is-titlecase-tests: Likewise.
30301         * modules/unicase/u8-is-uppercase-tests: Likewise.
30302         * modules/unicase/u8-tolower-tests: Likewise.
30303         * modules/unicase/u8-totitle-tests: Likewise.
30304         * modules/unicase/u8-toupper-tests: Likewise.
30305         * modules/unicase/u16-casecmp-tests: Likewise.
30306         * modules/unicase/u16-casecoll-tests: Likewise.
30307         * modules/unicase/u16-casefold-tests: Likewise.
30308         * modules/unicase/u16-is-cased-tests: Likewise.
30309         * modules/unicase/u16-is-casefolded-tests: Likewise.
30310         * modules/unicase/u16-is-lowercase-tests: Likewise.
30311         * modules/unicase/u16-is-titlecase-tests: Likewise.
30312         * modules/unicase/u16-is-uppercase-tests: Likewise.
30313         * modules/unicase/u16-tolower-tests: Likewise.
30314         * modules/unicase/u16-totitle-tests: Likewise.
30315         * modules/unicase/u16-toupper-tests: Likewise.
30316         * modules/unicase/u32-casecmp-tests: Likewise.
30317         * modules/unicase/u32-casecoll-tests: Likewise.
30318         * modules/unicase/u32-casefold-tests: Likewise.
30319         * modules/unicase/u32-is-cased-tests: Likewise.
30320         * modules/unicase/u32-is-casefolded-tests: Likewise.
30321         * modules/unicase/u32-is-lowercase-tests: Likewise.
30322         * modules/unicase/u32-is-titlecase-tests: Likewise.
30323         * modules/unicase/u32-is-uppercase-tests: Likewise.
30324         * modules/unicase/u32-tolower-tests: Likewise.
30325         * modules/unicase/u32-totitle-tests: Likewise.
30326         * modules/unicase/u32-toupper-tests: Likewise.
30327         * modules/unicase/ulc-casecmp-tests: Likewise.
30328         * modules/unicase/ulc-casecoll-tests: Likewise.
30329         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
30330         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
30331         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
30332         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
30333         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
30334         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
30335         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
30336         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
30337         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
30338         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
30339         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
30340         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
30341         * modules/unictype/bidicategory-byname-tests: Likewise.
30342         * modules/unictype/bidicategory-name-tests: Likewise.
30343         * modules/unictype/bidicategory-of-tests: Likewise.
30344         * modules/unictype/bidicategory-test-tests: Likewise.
30345         * modules/unictype/block-list-tests: Likewise.
30346         * modules/unictype/block-of-tests: Likewise.
30347         * modules/unictype/block-test-tests: Likewise.
30348         * modules/unictype/category-C-tests: Likewise.
30349         * modules/unictype/category-Cc-tests: Likewise.
30350         * modules/unictype/category-Cf-tests: Likewise.
30351         * modules/unictype/category-Cn-tests: Likewise.
30352         * modules/unictype/category-Co-tests: Likewise.
30353         * modules/unictype/category-Cs-tests: Likewise.
30354         * modules/unictype/category-L-tests: Likewise.
30355         * modules/unictype/category-Ll-tests: Likewise.
30356         * modules/unictype/category-Lm-tests: Likewise.
30357         * modules/unictype/category-Lo-tests: Likewise.
30358         * modules/unictype/category-Lt-tests: Likewise.
30359         * modules/unictype/category-Lu-tests: Likewise.
30360         * modules/unictype/category-M-tests: Likewise.
30361         * modules/unictype/category-Mc-tests: Likewise.
30362         * modules/unictype/category-Me-tests: Likewise.
30363         * modules/unictype/category-Mn-tests: Likewise.
30364         * modules/unictype/category-N-tests: Likewise.
30365         * modules/unictype/category-Nd-tests: Likewise.
30366         * modules/unictype/category-Nl-tests: Likewise.
30367         * modules/unictype/category-No-tests: Likewise.
30368         * modules/unictype/category-P-tests: Likewise.
30369         * modules/unictype/category-Pc-tests: Likewise.
30370         * modules/unictype/category-Pd-tests: Likewise.
30371         * modules/unictype/category-Pe-tests: Likewise.
30372         * modules/unictype/category-Pf-tests: Likewise.
30373         * modules/unictype/category-Pi-tests: Likewise.
30374         * modules/unictype/category-Po-tests: Likewise.
30375         * modules/unictype/category-Ps-tests: Likewise.
30376         * modules/unictype/category-S-tests: Likewise.
30377         * modules/unictype/category-Sc-tests: Likewise.
30378         * modules/unictype/category-Sk-tests: Likewise.
30379         * modules/unictype/category-Sm-tests: Likewise.
30380         * modules/unictype/category-So-tests: Likewise.
30381         * modules/unictype/category-Z-tests: Likewise.
30382         * modules/unictype/category-Zl-tests: Likewise.
30383         * modules/unictype/category-Zp-tests: Likewise.
30384         * modules/unictype/category-Zs-tests: Likewise.
30385         * modules/unictype/category-and-not-tests: Likewise.
30386         * modules/unictype/category-and-tests: Likewise.
30387         * modules/unictype/category-byname-tests: Likewise.
30388         * modules/unictype/category-name-tests: Likewise.
30389         * modules/unictype/category-none-tests: Likewise.
30390         * modules/unictype/category-of-tests: Likewise.
30391         * modules/unictype/category-or-tests: Likewise.
30392         * modules/unictype/category-test-withtable-tests: Likewise.
30393         * modules/unictype/combining-class-tests: Likewise.
30394         * modules/unictype/ctype-alnum-tests: Likewise.
30395         * modules/unictype/ctype-alpha-tests: Likewise.
30396         * modules/unictype/ctype-blank-tests: Likewise.
30397         * modules/unictype/ctype-cntrl-tests: Likewise.
30398         * modules/unictype/ctype-digit-tests: Likewise.
30399         * modules/unictype/ctype-graph-tests: Likewise.
30400         * modules/unictype/ctype-lower-tests: Likewise.
30401         * modules/unictype/ctype-print-tests: Likewise.
30402         * modules/unictype/ctype-punct-tests: Likewise.
30403         * modules/unictype/ctype-space-tests: Likewise.
30404         * modules/unictype/ctype-upper-tests: Likewise.
30405         * modules/unictype/ctype-xdigit-tests: Likewise.
30406         * modules/unictype/decimal-digit-tests: Likewise.
30407         * modules/unictype/digit-tests: Likewise.
30408         * modules/unictype/mirror-tests: Likewise.
30409         * modules/unictype/numeric-tests: Likewise.
30410         * modules/unictype/property-alphabetic-tests: Likewise.
30411         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
30412         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
30413         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
30414         * modules/unictype/property-bidi-block-separator-tests: Likewise.
30415         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
30416         * modules/unictype/property-bidi-common-separator-tests: Likewise.
30417         * modules/unictype/property-bidi-control-tests: Likewise.
30418         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
30419         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
30420         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
30421         * modules/unictype/property-bidi-european-digit-tests: Likewise.
30422         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
30423         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
30424         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
30425         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
30426         * modules/unictype/property-bidi-pdf-tests: Likewise.
30427         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
30428         * modules/unictype/property-bidi-whitespace-tests: Likewise.
30429         * modules/unictype/property-byname-tests: Likewise.
30430         * modules/unictype/property-combining-tests: Likewise.
30431         * modules/unictype/property-composite-tests: Likewise.
30432         * modules/unictype/property-currency-symbol-tests: Likewise.
30433         * modules/unictype/property-dash-tests: Likewise.
30434         * modules/unictype/property-decimal-digit-tests: Likewise.
30435         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
30436         * modules/unictype/property-deprecated-tests: Likewise.
30437         * modules/unictype/property-diacritic-tests: Likewise.
30438         * modules/unictype/property-extender-tests: Likewise.
30439         * modules/unictype/property-format-control-tests: Likewise.
30440         * modules/unictype/property-grapheme-base-tests: Likewise.
30441         * modules/unictype/property-grapheme-extend-tests: Likewise.
30442         * modules/unictype/property-grapheme-link-tests: Likewise.
30443         * modules/unictype/property-hex-digit-tests: Likewise.
30444         * modules/unictype/property-hyphen-tests: Likewise.
30445         * modules/unictype/property-id-continue-tests: Likewise.
30446         * modules/unictype/property-id-start-tests: Likewise.
30447         * modules/unictype/property-ideographic-tests: Likewise.
30448         * modules/unictype/property-ids-binary-operator-tests: Likewise.
30449         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
30450         * modules/unictype/property-ignorable-control-tests: Likewise.
30451         * modules/unictype/property-iso-control-tests: Likewise.
30452         * modules/unictype/property-join-control-tests: Likewise.
30453         * modules/unictype/property-left-of-pair-tests: Likewise.
30454         * modules/unictype/property-line-separator-tests: Likewise.
30455         * modules/unictype/property-logical-order-exception-tests: Likewise.
30456         * modules/unictype/property-lowercase-tests: Likewise.
30457         * modules/unictype/property-math-tests: Likewise.
30458         * modules/unictype/property-non-break-tests: Likewise.
30459         * modules/unictype/property-not-a-character-tests: Likewise.
30460         * modules/unictype/property-numeric-tests: Likewise.
30461         * modules/unictype/property-other-alphabetic-tests: Likewise.
30462         * modules/unictype/property-other-default-ignorable-code-point-tests:
30463         Likewise.
30464         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
30465         * modules/unictype/property-other-id-continue-tests: Likewise.
30466         * modules/unictype/property-other-id-start-tests: Likewise.
30467         * modules/unictype/property-other-lowercase-tests: Likewise.
30468         * modules/unictype/property-other-math-tests: Likewise.
30469         * modules/unictype/property-other-uppercase-tests: Likewise.
30470         * modules/unictype/property-paired-punctuation-tests: Likewise.
30471         * modules/unictype/property-paragraph-separator-tests: Likewise.
30472         * modules/unictype/property-pattern-syntax-tests: Likewise.
30473         * modules/unictype/property-pattern-white-space-tests: Likewise.
30474         * modules/unictype/property-private-use-tests: Likewise.
30475         * modules/unictype/property-punctuation-tests: Likewise.
30476         * modules/unictype/property-quotation-mark-tests: Likewise.
30477         * modules/unictype/property-radical-tests: Likewise.
30478         * modules/unictype/property-sentence-terminal-tests: Likewise.
30479         * modules/unictype/property-soft-dotted-tests: Likewise.
30480         * modules/unictype/property-space-tests: Likewise.
30481         * modules/unictype/property-terminal-punctuation-tests: Likewise.
30482         * modules/unictype/property-test-tests: Likewise.
30483         * modules/unictype/property-titlecase-tests: Likewise.
30484         * modules/unictype/property-unassigned-code-value-tests: Likewise.
30485         * modules/unictype/property-unified-ideograph-tests: Likewise.
30486         * modules/unictype/property-uppercase-tests: Likewise.
30487         * modules/unictype/property-variation-selector-tests: Likewise.
30488         * modules/unictype/property-white-space-tests: Likewise.
30489         * modules/unictype/property-xid-continue-tests: Likewise.
30490         * modules/unictype/property-xid-start-tests: Likewise.
30491         * modules/unictype/property-zero-width-tests: Likewise.
30492         * modules/unictype/scripts-tests: Likewise.
30493         * modules/unictype/syntax-c-ident-tests: Likewise.
30494         * modules/unictype/syntax-c-whitespace-tests: Likewise.
30495         * modules/unictype/syntax-java-ident-tests: Likewise.
30496         * modules/unictype/syntax-java-whitespace-tests: Likewise.
30497         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
30498         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
30499         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
30500         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
30501         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
30502         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
30503         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
30504         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
30505         * modules/uniname/uniname-tests: Likewise.
30506         * modules/uninorm/canonical-decomposition-tests: Likewise.
30507         * modules/uninorm/compat-decomposition-tests: Likewise.
30508         * modules/uninorm/composition-tests: Likewise.
30509         * modules/uninorm/decomposing-form-tests: Likewise.
30510         * modules/uninorm/decomposition-tests: Likewise.
30511         * modules/uninorm/filter-tests: Likewise.
30512         * modules/uninorm/nfc-tests: Likewise.
30513         * modules/uninorm/nfd-tests: Likewise.
30514         * modules/uninorm/nfkc-tests: Likewise.
30515         * modules/uninorm/nfkd-tests: Likewise.
30516         * modules/uninorm/u8-normcmp-tests: Likewise.
30517         * modules/uninorm/u8-normcoll-tests: Likewise.
30518         * modules/uninorm/u16-normcmp-tests: Likewise.
30519         * modules/uninorm/u16-normcoll-tests: Likewise.
30520         * modules/uninorm/u32-normcmp-tests: Likewise.
30521         * modules/uninorm/u32-normcoll-tests: Likewise.
30522         * modules/unistdio/u8-asnprintf-tests: Likewise.
30523         * modules/unistdio/u8-vasnprintf-tests: Likewise.
30524         * modules/unistdio/u8-vasprintf-tests: Likewise.
30525         * modules/unistdio/u8-vsnprintf-tests: Likewise.
30526         * modules/unistdio/u8-vsprintf-tests: Likewise.
30527         * modules/unistdio/u16-asnprintf-tests: Likewise.
30528         * modules/unistdio/u16-vasnprintf-tests: Likewise.
30529         * modules/unistdio/u16-vasprintf-tests: Likewise.
30530         * modules/unistdio/u16-vsnprintf-tests: Likewise.
30531         * modules/unistdio/u16-vsprintf-tests: Likewise.
30532         * modules/unistdio/u32-asnprintf-tests: Likewise.
30533         * modules/unistdio/u32-vasnprintf-tests: Likewise.
30534         * modules/unistdio/u32-vasprintf-tests: Likewise.
30535         * modules/unistdio/u32-vsnprintf-tests: Likewise.
30536         * modules/unistdio/u32-vsprintf-tests: Likewise.
30537         * modules/unistdio/ulc-asnprintf-tests: Likewise.
30538         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
30539         * modules/unistdio/ulc-vasprintf-tests: Likewise.
30540         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
30541         * modules/unistdio/ulc-vsprintf-tests: Likewise.
30542         * modules/unistr/u8-check-tests: Likewise.
30543         * modules/unistr/u8-chr-tests: Likewise.
30544         * modules/unistr/u8-cmp-tests: Likewise.
30545         * modules/unistr/u8-cmp2-tests: Likewise.
30546         * modules/unistr/u8-cpy-alloc-tests: Likewise.
30547         * modules/unistr/u8-cpy-tests: Likewise.
30548         * modules/unistr/u8-mblen-tests: Likewise.
30549         * modules/unistr/u8-mbsnlen-tests: Likewise.
30550         * modules/unistr/u8-mbtouc-tests: Likewise.
30551         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
30552         * modules/unistr/u8-mbtoucr-tests: Likewise.
30553         * modules/unistr/u8-move-tests: Likewise.
30554         * modules/unistr/u8-next-tests: Likewise.
30555         * modules/unistr/u8-prev-tests: Likewise.
30556         * modules/unistr/u8-set-tests: Likewise.
30557         * modules/unistr/u8-stpcpy-tests: Likewise.
30558         * modules/unistr/u8-stpncpy-tests: Likewise.
30559         * modules/unistr/u8-strcat-tests: Likewise.
30560         * modules/unistr/u8-strcmp-tests: Likewise.
30561         * modules/unistr/u8-strcoll-tests: Likewise.
30562         * modules/unistr/u8-strcpy-tests: Likewise.
30563         * modules/unistr/u8-strdup-tests: Likewise.
30564         * modules/unistr/u8-strlen-tests: Likewise.
30565         * modules/unistr/u8-strmblen-tests: Likewise.
30566         * modules/unistr/u8-strmbtouc-tests: Likewise.
30567         * modules/unistr/u8-strncat-tests: Likewise.
30568         * modules/unistr/u8-strncmp-tests: Likewise.
30569         * modules/unistr/u8-strncpy-tests: Likewise.
30570         * modules/unistr/u8-strnlen-tests: Likewise.
30571         * modules/unistr/u8-to-u16-tests: Likewise.
30572         * modules/unistr/u8-to-u32-tests: Likewise.
30573         * modules/unistr/u8-uctomb-tests: Likewise.
30574         * modules/unistr/u16-check-tests: Likewise.
30575         * modules/unistr/u16-chr-tests: Likewise.
30576         * modules/unistr/u16-cmp-tests: Likewise.
30577         * modules/unistr/u16-cmp2-tests: Likewise.
30578         * modules/unistr/u16-cpy-alloc-tests: Likewise.
30579         * modules/unistr/u16-cpy-tests: Likewise.
30580         * modules/unistr/u16-mblen-tests: Likewise.
30581         * modules/unistr/u16-mbsnlen-tests: Likewise.
30582         * modules/unistr/u16-mbtouc-tests: Likewise.
30583         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
30584         * modules/unistr/u16-mbtoucr-tests: Likewise.
30585         * modules/unistr/u16-move-tests: Likewise.
30586         * modules/unistr/u16-next-tests: Likewise.
30587         * modules/unistr/u16-prev-tests: Likewise.
30588         * modules/unistr/u16-set-tests: Likewise.
30589         * modules/unistr/u16-stpcpy-tests: Likewise.
30590         * modules/unistr/u16-stpncpy-tests: Likewise.
30591         * modules/unistr/u16-strcat-tests: Likewise.
30592         * modules/unistr/u16-strcmp-tests: Likewise.
30593         * modules/unistr/u16-strcoll-tests: Likewise.
30594         * modules/unistr/u16-strcpy-tests: Likewise.
30595         * modules/unistr/u16-strdup-tests: Likewise.
30596         * modules/unistr/u16-strlen-tests: Likewise.
30597         * modules/unistr/u16-strmblen-tests: Likewise.
30598         * modules/unistr/u16-strmbtouc-tests: Likewise.
30599         * modules/unistr/u16-strncat-tests: Likewise.
30600         * modules/unistr/u16-strncmp-tests: Likewise.
30601         * modules/unistr/u16-strncpy-tests: Likewise.
30602         * modules/unistr/u16-strnlen-tests: Likewise.
30603         * modules/unistr/u16-to-u32-tests: Likewise.
30604         * modules/unistr/u16-to-u8-tests: Likewise.
30605         * modules/unistr/u16-uctomb-tests: Likewise.
30606         * modules/unistr/u32-check-tests: Likewise.
30607         * modules/unistr/u32-chr-tests: Likewise.
30608         * modules/unistr/u32-cmp-tests: Likewise.
30609         * modules/unistr/u32-cmp2-tests: Likewise.
30610         * modules/unistr/u32-cpy-alloc-tests: Likewise.
30611         * modules/unistr/u32-cpy-tests: Likewise.
30612         * modules/unistr/u32-mblen-tests: Likewise.
30613         * modules/unistr/u32-mbsnlen-tests: Likewise.
30614         * modules/unistr/u32-mbtouc-tests: Likewise.
30615         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
30616         * modules/unistr/u32-mbtoucr-tests: Likewise.
30617         * modules/unistr/u32-move-tests: Likewise.
30618         * modules/unistr/u32-next-tests: Likewise.
30619         * modules/unistr/u32-prev-tests: Likewise.
30620         * modules/unistr/u32-set-tests: Likewise.
30621         * modules/unistr/u32-stpcpy-tests: Likewise.
30622         * modules/unistr/u32-stpncpy-tests: Likewise.
30623         * modules/unistr/u32-strcat-tests: Likewise.
30624         * modules/unistr/u32-strcmp-tests: Likewise.
30625         * modules/unistr/u32-strcoll-tests: Likewise.
30626         * modules/unistr/u32-strcpy-tests: Likewise.
30627         * modules/unistr/u32-strdup-tests: Likewise.
30628         * modules/unistr/u32-strlen-tests: Likewise.
30629         * modules/unistr/u32-strmblen-tests: Likewise.
30630         * modules/unistr/u32-strmbtouc-tests: Likewise.
30631         * modules/unistr/u32-strncat-tests: Likewise.
30632         * modules/unistr/u32-strncmp-tests: Likewise.
30633         * modules/unistr/u32-strncpy-tests: Likewise.
30634         * modules/unistr/u32-strnlen-tests: Likewise.
30635         * modules/unistr/u32-to-u16-tests: Likewise.
30636         * modules/unistr/u32-to-u8-tests: Likewise.
30637         * modules/unistr/u32-uctomb-tests: Likewise.
30638         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
30639         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
30640         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
30641         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
30642         * modules/uniwidth/u8-strwidth-tests: Likewise.
30643         * modules/uniwidth/u8-width-tests: Likewise.
30644         * modules/uniwidth/u16-strwidth-tests: Likewise.
30645         * modules/uniwidth/u16-width-tests: Likewise.
30646         * modules/uniwidth/u32-strwidth-tests: Likewise.
30647         * modules/uniwidth/u32-width-tests: Likewise.
30648         * modules/uniwidth/width-tests: Likewise.
30649
30650 2010-05-18  Richard Jones  <rjones@redhat.com>
30651
30652         doc: users.txt: list hivex
30653         * users.txt: Add hivex.
30654
30655 2010-05-18  Richard Jones  <rjones@redhat.com>
30656
30657         doc: users.txt: list febootstrap
30658         * users.txt: Add febootstrap.
30659
30660 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
30661
30662         bootstrap: fix an error when gnulib is not used as a git submodule
30663         * build-aux/bootstrap (gnulib_path): If its length is zero then
30664         assign "gnulib" to it.
30665         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
30666
30667 2010-05-16  Bruno Haible  <bruno@clisp.org>
30668
30669         Avoid autoconf warnings about AM_ICONV.
30670         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
30671         2.64.
30672
30673 2010-05-16  Bruno Haible  <bruno@clisp.org>
30674
30675         absolute-header: Make the macro usable in more situations.
30676         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
30677         from gl_ABSOLUTE_HEADER.
30678         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
30679
30680 2010-05-16  James Youngman  <jay@gnu.org>
30681
30682         doc: update users.txt
30683         * users.txt: Add CSSC.
30684
30685 2010-05-16  Jim Meyering  <meyering@redhat.com>
30686
30687         init.sh: fix an error in the previous change; add more comments
30688         * tests/init.sh: Compare exit code in loop against 9, not 2.
30689         Patch by Bruno Haible.
30690         Make the two tests more similar by adding an empty "then" clause.
30691         Add comments.
30692
30693         init.sh: avoid unnecessary shell re-exec
30694         * tests/init.sh: Improve the re-exec-required check to first test the
30695         current shell.  If it passes the test, do not search for a shell that
30696         does pass, and do not re-exec.  This test is particularly contorted to
30697         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
30698         of $(...) evokes a syntax error and causes immediate shell exit with
30699         status 2.  Bruno Haible reported that the re-exec made it impossible
30700         to single-step through any init.sh-using script.
30701
30702 2010-05-16  Bruno Haible  <bruno@clisp.org>
30703
30704         Fix collision between gnulib's and libintl's printf replacements.
30705         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
30706         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
30707         (printf): When using GNU C, map the __printf__ function to rpl_printf
30708         via __asm__. When not using GNU C, define rpl_printf instead of
30709         __printf__.
30710         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
30711         commit.
30712         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
30713         commit.
30714         * m4/asm-underscore.m4: New file.
30715         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
30716         * modules/stdio (Files): Add m4/asm-underscore.m4.
30717         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
30718         Reported by Ben Pfaff.
30719
30720 2010-05-16  Bruno Haible  <bruno@clisp.org>
30721
30722         verify: Avoid skipping the test on openSUSE 11.0.
30723         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
30724
30725 2010-05-13  Bruno Haible  <bruno@clisp.org>
30726
30727         Avoid useless warnings from G++.
30728         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
30729         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
30730         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30731
30732 2010-05-11  Jim Meyering  <meyering@redhat.com>
30733
30734         maint.mk: tweak preceding change
30735         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
30736         regexps tighter by anchoring at EOL, and make the new group "shy"
30737         for slightly decreased overhead.
30738
30739 2010-05-11  Eric Blake  <eblake@redhat.com>
30740
30741         maint.mk: gnulib doesn't guarantee NSIG
30742         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
30743
30744 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30745
30746         test-pwrite.c: Remove unused variable declaration.
30747         * tests/test-pwrite.c (main): Remove read_buf declaration.
30748
30749         Remove useless test-pwrite.sh file.
30750         * tests/test-pwrite.sh: Delete file.
30751         * modules/pwrite-tests: Remove references.
30752         Reported by Bruno Haible.
30753
30754 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30755
30756         init.sh: fix a typo
30757         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
30758
30759 2010-05-10  Jim Meyering  <meyering@redhat.com>
30760
30761         maint.mk: avoid using a temporary file in the always-defined-macros check
30762         * top/maint.mk (.re-defmac): Remove rule.
30763         (gl_trap_): Remove definition.
30764         (sc_prohibit_always-defined_macros): Rewrite not to create and
30765         depend on a temporary file.  Instead, depend on GNU grep's ability
30766         to read a list of regular expressions from stdin when given "-f -".
30767
30768 2010-05-09  Bruno Haible  <bruno@clisp.org>
30769
30770         Update to GNU gettext 0.18, part 1.
30771         * m4/gettext.m4: Update to GNU gettext 0.18.
30772         * m4/intl.m4: Likewise.
30773         * m4/po.m4: Likewise.
30774         * modules/gettext (Files): Add m4/fcntl-o.m4.
30775         (configure.ac): Require gettext infrastructure from version 0.18.
30776
30777 2010-05-09  Jim Meyering  <meyering@redhat.com>
30778
30779         init.sh: enable MALLOC_PERTURB_
30780         * tests/init.sh: Enable glibc's malloc-perturbing option.
30781
30782         maint.mk: improve sc_cross_check_PATH_usage_in_tests
30783         With my recent change in init.sh from the two-line form:
30784             -#   : ${srcdir=.}
30785             -#   . "$srcdir/init.sh"; path_prepend_ .
30786             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
30787         I noticed that using the one-line form would cause this test
30788         to fail with a false-positive, or to stop working altogether,
30789         depending on whether help-version changed or all the tests did.
30790         * top/maint.mk (_hv_regex): Remove this definition.
30791         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
30792         (_hv_regex_strong): Use a stronger regex to check for conformance.
30793         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
30794         Give a separate diagnostic for lack of conforming use.
30795
30796         maint.mk: prohibit definition of symbols defined by gnulib
30797         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
30798         definition of symbols defined by gnulib.
30799
30800 2010-05-09  Bruno Haible  <bruno@clisp.org>
30801
30802         acl: Avoid test failure on Cygwin-hosted mingw.
30803         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
30804
30805 2010-05-09  Bruno Haible  <bruno@clisp.org>
30806
30807         error: Use system's fcntl function.
30808         * lib/error.c (fcntl): Undefine.
30809
30810 2010-05-09  Jim Meyering  <meyering@redhat.com>
30811
30812         verify: adjust formatting to be more consistent
30813         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
30814         argument-list '('s, and after one comma.
30815
30816 2010-05-09  Bruno Haible  <bruno@clisp.org>
30817
30818         error: More reliable output on mingw.
30819         * lib/error.c: Include <windows.h>.
30820         (is_open): New function.
30821         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
30822         defined.
30823
30824 2010-05-09  Bruno Haible  <bruno@clisp.org>
30825
30826         vasnprintf: Fix syntax errors in libintl build on mingw.
30827         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
30828         pad_ourselves and prec_ourselves after use.
30829
30830 2010-05-08  Bruno Haible  <bruno@clisp.org>
30831
30832         * lib/config.charset: Update comments for Cygwin 1.7.
30833         * lib/localcharset.c: Likewise.
30834
30835 2010-05-07  Jim Meyering  <meyering@redhat.com>
30836
30837         init.sh: improve comments
30838         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
30839         . "${srcdir=.}/init.sh"; path_prepend_ .
30840         Add a note about path_prepend_ and the alternative of using
30841         TESTS_ENVIRONMENT.
30842
30843 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30844
30845         exclude: Unescape hashed patterns in wildcard mode.
30846         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
30847         to the hash list.
30848         * tests/test-exclude8.sh: New test case.
30849         * modules/exclude-tests: Add new test.
30850
30851 2010-05-05  Eric Blake  <eblake@redhat.com>
30852
30853         verify: automate tests
30854         * modules/verify-tests: New module.
30855         * tests/test-verify.sh: New file.
30856         * tests/test-verify.c: Guard each negative test with a unique id.
30857         Also avoid warning about unused left hand of comma expressions.
30858
30859 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
30860
30861         Further improvements to verify.h, suggested by Eric Blake.
30862         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
30863         the GL_* versions, to avoid collision with OpenGL.
30864         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
30865         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
30866         than testing merely whether it's defined.
30867
30868         Modify verify.h to pacify gcc -Wredundant_decls.
30869         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
30870         These use the prefix "GL_" since they're likely to be useful elsewhere.
30871         We may need to break them out into a different .h file.
30872         (__COUNTER__): Define to 0 if the compiler doesn't support it.
30873         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
30874         of verify_function__.
30875
30876 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30877
30878         Tests for module pwrite.
30879         * modules/pwrite-tests: New file.
30880         * tests/test-pwrite.sh: New file.
30881         * tests/test-pwrite.c: New file.
30882
30883         New module pwrite.
30884         * lib/unistd.in.h (pwrite): New declaration.
30885         * lib/pwrite.c: New file, from glibc with modifications.
30886         * m4/pwrite.m4: New file.
30887         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
30888         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
30889         REPLACE_PWRITE.
30890         * modules/pwrite: New file.
30891         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
30892         REPLACE_PWRITE.
30893         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
30894         * doc/posix-functions/pwrite.texi: Mention the new module.
30895
30896 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30897
30898         pread: Update documentation.
30899         * doc/posix-functions/pread.texi: Mention the 'pread' module.
30900
30901 2010-05-04  Eric Blake  <eblake@redhat.com>
30902
30903         docs: update cygwin progress
30904         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
30905         this bug.
30906         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
30907         Added in cygwin 1.7.2.
30908         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
30909         Likewise.
30910         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
30911         Likewise.
30912         * doc/glibc-functions/dup3.texi (dup3): Likewise.
30913         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
30914         * doc/glibc-functions/accept4.texi (accept4): Likewise.
30915         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
30916         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
30917         Mention nproc module.
30918         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
30919         bug in cygwin 1.7.5 addition.
30920         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
30921         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
30922         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
30923         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
30924         1.7.5.
30925         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
30926         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
30927         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
30928         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
30929         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
30930         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
30931         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
30932         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
30933         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
30934         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
30935         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
30936         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
30937         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
30938         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
30939         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
30940         Likewise.
30941         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
30942         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
30943         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
30944         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
30945         Likewise.
30946         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
30947         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
30948         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
30949         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
30950         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
30951         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
30952         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
30953         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
30954         Likewise.
30955         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
30956         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
30957         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
30958         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
30959         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
30960         Likewise.
30961         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
30962         Likewise.
30963         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
30964         Likewise.
30965         * doc/glibc-functions/xdrrec_endofrecord.texi
30966         (xdrrec_endofrecord): Likewise.
30967         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
30968         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
30969         Likewise.
30970         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
30971         Likewise.
30972
30973 2010-05-04  Jim Meyering  <meyering@redhat.com>
30974
30975         gendocs.sh: make its "-s FILE" option more useful
30976         * build-aux/gendocs.sh: When honoring the -s FILE option, update
30977         $PACKAGE to reflect the probably-different basename of "FILE".
30978
30979 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30980
30981         bootstrap: don't ignore download_po_files failure
30982         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
30983         failure.
30984
30985 2010-05-03  Jim Meyering  <meyering@redhat.com>
30986
30987         maint.mk: allow to pass options to gendocs.sh
30988         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
30989         (gendocs_options_): New overridable variable.
30990
30991         gnu-web-doc-update: don't ignore configure or build failure
30992         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
30993
30994         announce-gen: backslash-escape '@'s in --help output
30995         * build-aux/announce-gen: Fix syntax errors.
30996
30997         maint.mk, announce-gen: allow project-specific announcement mail headers
30998         * top/maint.mk (translation_project_): Define default.
30999         (announcement_Cc_, announcement_mail_headers_): Likewise.
31000         (announcement): Invoke announce-gen with new --mail-headers option.
31001         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
31002
31003         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
31004         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
31005         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
31006         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
31007         line in the "err2" output file when running "make check" in verbose
31008         mode (i.e., with set -x enabled).
31009
31010 2010-05-03  Bruno Haible  <bruno@clisp.org>
31011
31012         wctob: Fix for weird platforms.
31013         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
31014         argument value.
31015
31016 2010-05-03  Jim Meyering  <meyering@redhat.com>
31017
31018         maint.mk: prohibit unwarranted use of <strings.h>
31019         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
31020         strings.h in a file that does not also use strcasecmp, strncasecmp,
31021         ffs or ffsll.
31022
31023         maint.mk: remove obsolete comments
31024         * top/maint.mk: Remove stale, commented-out rules.
31025
31026 2010-05-02  Bruno Haible  <bruno@clisp.org>
31027
31028         wcwidth: Declare also when it's aliased.
31029         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
31030         macro.
31031
31032 2010-05-02  Bruno Haible  <bruno@clisp.org>
31033
31034         Fix regression from 2010-04-25.
31035         * gnulib-tool (func_modules_transitive_closure): Check the status of
31036         all modules, not only of the tests that are of the form foo-tests where
31037         foo is a module.
31038
31039 2010-05-02  Bruno Haible  <bruno@clisp.org>
31040
31041         wctob: Work around nasty Cygwin 1.7.2 bug.
31042         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
31043         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
31044
31045 2010-05-01  Bruno Haible  <bruno@clisp.org>
31046
31047         fpurge: Sharper test.
31048         * tests/test-fpurge.c (main): Add one more ftell check.
31049         * modules/fpurge-tests (Depends-on): Add ftell.
31050         Suggested by Eric Blake.
31051
31052 2010-05-01  Bruno Haible  <bruno@clisp.org>
31053
31054         ftello: Another test.
31055         * tests/test-ftello3.c: New file.
31056         * modules/ftello-tests (Files): Add it.
31057         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31058         MOSTLYCLEANFILES.
31059
31060         ftell: Another test.
31061         * tests/test-ftell3.c: New file.
31062         * modules/ftell-tests (Files): Add it.
31063         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31064         MOSTLYCLEANFILES.
31065
31066 2010-05-01  Bruno Haible  <bruno@clisp.org>
31067
31068         ftell, ftello: Work around Solaris bug.
31069         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
31070         * lib/ftello.c: Include stdio-impl.h.
31071         (ftello): On Solaris, when _IOWRT is set, compute the result without
31072         looking at _IOREAD.
31073         * modules/ftello (Files): Add lib/stdio-impl.h.
31074         * doc/posix-functions/ftell.texi: Mention Solaris bug.
31075         * doc/posix-functions/ftello.texi: Likewise.
31076         Reported by Eric Blake.
31077
31078 2010-05-01  Bruno Haible  <bruno@clisp.org>
31079
31080         freading: Adapt to special meaning of _IOREAD flag on Solaris.
31081         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
31082         the _IOWRT flag is also set.
31083
31084 2010-05-01  Bruno Haible  <bruno@clisp.org>
31085
31086         Fix doc about a HP-UX stdio bug.
31087         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
31088         * doc/posix-functions/ftello.texi: Likewise.
31089
31090 2010-05-01  Bruno Haible  <bruno@clisp.org>
31091
31092         lseek test: Fix failure on Solaris.
31093         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
31094         output.
31095
31096 2010-04-30  Jim Meyering  <meyering@redhat.com>
31097
31098         bootstrap: don't ignore failure to generate po*/Makevars
31099         * build-aux/bootstrap (with_gettext): Don't ignore failure
31100         to create po/Makevars or runtime-po/Makevars.
31101
31102 2010-04-29  Eric Blake  <eblake@redhat.com>
31103
31104         headers: relax license to LGPLv2+
31105         * modules/fcntl-h (License): Relax license.
31106         * modules/getopt-posix (License): Likewise.
31107         * modules/locale (License): Likewise.
31108         * modules/math (License): Likewise.
31109         * modules/pty (License): Likewise.
31110         * modules/sched (License): Likewise.
31111         * modules/search (License): Likewise.
31112         * modules/spawn (License): Likewise.
31113         * modules/stdarg (License): Likewise.
31114         * modules/sysexits (License): Likewise.
31115
31116 2010-04-29  Jim Meyering  <meyering@redhat.com>
31117
31118         inttypes: relax license to LGPLv2+
31119         * modules/inttypes (License): Relax license.
31120
31121 2010-04-29  Simon Josefsson  <simon@josefsson.org>
31122
31123         * top/maint.mk (indent): Run twice to produce idempotent results.
31124
31125 2010-04-28  Bruno Haible  <bruno@clisp.org>
31126
31127         getdate: Generate getdate.c in the source directory.
31128         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
31129         MOSTLYCLEANFILES.
31130         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
31131
31132 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
31133
31134         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
31135         is not declared as a const *; avoid warnings in that case.
31136
31137 2010-04-28  Eric Blake  <eblake@redhat.com>
31138
31139         canonicalize-lgpl: avoid compiler warning
31140         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
31141         declaration' / 'extraneous semicolon' warning with some compilers.
31142         Reported by Andreas Gruenbacher.
31143
31144 2010-04-28  Jim Meyering  <meyering@redhat.com>
31145
31146         init.sh: ensure a more reliable exit status when exiting via trap
31147         * tests/init.sh (setup_): Don't rely on $? in signal handler.
31148         Inspired by patches from Dmitry V. Levin.
31149         Also trap on signal 3 (SIGQUIT).
31150
31151 2010-04-27  Bruno Haible  <bruno@clisp.org>
31152
31153         Update doc about utimes().
31154         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
31155         'utimens' module.
31156         Reported by Andreas Gruenbacher <agruen@suse.de>.
31157
31158 2010-04-27  Eric Blake  <eblake@redhat.com>
31159
31160         full-read, full-write: relax license
31161         * modules/full-read (License): Drop to LGPLv2+.
31162         * modules/full-write (License): Likewise.
31163         * modules/safe-read (License): Likewise.
31164         * modules/safe-write (License): Likewise.
31165
31166         pthread: mention library for linking
31167         * modules/pthread (Link): Mention $(LIB_PTHREAD).
31168
31169 2010-04-27  Jim Meyering  <meyering@redhat.com>
31170
31171         maint.mk: fix a bug introduced in last change
31172         * top/maint.mk (gl_assured_headers_): Now that all names are on
31173         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
31174         is not anchored to end of word, it should be adequate.
31175
31176         maint.mk: avoid side-effect in latest syntax-check
31177         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
31178         to run commands via $(shell...), and hence to incur cost only when
31179         the new rule is actually run.
31180
31181         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
31182         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
31183         and use that to create a regexp used to detect all #if HAVE_..._H uses.
31184         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
31185         (gl_assured_headers_, az_, AZ_): Define.
31186         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
31187
31188 2010-04-26  Jim Meyering  <jim@meyering.net>
31189             Bruno Haible  <bruno@clisp.org>
31190
31191         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
31192         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
31193         Prompted by an exchange with Gilles Espinasse.
31194
31195 2010-04-26  Jim Meyering  <meyering@redhat.com>
31196
31197         git-version-gen: aesthetic tweak
31198         * build-aux/git-version-gen: Use "$nl" rather than a literal,
31199         so that the command remains on a single line.
31200
31201 2010-04-26  Eric Blake  <eblake@redhat.com>
31202
31203         git-version-gen: allow use on EBCDIC hosts
31204         * build-aux/git-version-gen (dirty): Use literal rather than tying
31205         ourselves to ascii.
31206         Reported by Steve Goetze.
31207
31208 2010-04-25  Bruno Haible  <bruno@clisp.org>
31209
31210         netdb: Add support for GNULIB_POSIXCHECK.
31211         * lib/netdb.in.h: Include warn-on-use.h.
31212         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
31213         functions are used when GNULIB_POSIXCHECK is defined and the
31214         getaddrinfo module is not in use.
31215         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
31216         freeaddrinfo, gai_strerror, getnameinfo are declared.
31217         * modules/netdb (Depends-on): Add warn-on-use.
31218         (Makefile.am): Include warn-on-use.h in netdb.h.
31219
31220 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
31221
31222         build: avoid "make check" failure without .git/ directory
31223         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
31224         there is no .git/ directory.
31225
31226 2010-04-25  Bruno Haible  <bruno@clisp.org>
31227
31228         ptsname: Fix misuse of ttyname_r.
31229         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
31230         of errno.
31231
31232 2010-04-25  Bruno Haible  <bruno@clisp.org>
31233
31234         ttyname_r: Make it work on Solaris 10.
31235         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
31236         if the system function has the POSIX declaration. Test whether the
31237         function fails if the buffer is less than 128 bytes large.
31238         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
31239         system's ttyname_r function. Provide a reasonably large buffer.
31240         * modules/ttyname_r (Depends-on): Add extensions.
31241         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
31242
31243 2010-04-25  Bruno Haible  <bruno@clisp.org>
31244
31245         Use the 'extensions' module for some more functions on Solaris.
31246         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
31247         module.
31248         * doc/posix-functions/ctime_r.texi: Likewise.
31249         * doc/posix-functions/getgrgid_r.texi: Likewise.
31250         * doc/posix-functions/getgrnam_r.texi: Likewise.
31251         * doc/posix-functions/getpwnam_r.texi: Likewise.
31252         * doc/posix-functions/getpwuid_r.texi: Likewise.
31253         * doc/posix-functions/readdir_r.texi: Likewise.
31254         * doc/posix-functions/sigwait.texi: Likewise.
31255         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
31256         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
31257
31258 2010-04-25  Bruno Haible  <bruno@clisp.org>
31259
31260         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
31261         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
31262         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
31263         * lib/ttyname_r.c: Include <limits.h>.
31264         (ttyname_r): Define using the system's ttyname_r function, if it exists
31265         and not on Solaris.
31266         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
31267         set.
31268         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
31269         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
31270         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
31271         Reported by Simon Josefsson.
31272
31273 2010-04-25  Bruno Haible  <bruno@clisp.org>
31274
31275         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
31276         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
31277         * doc/posix-functions/ctime_r.texi: Likewise.
31278         * doc/posix-functions/getgrgid_r.texi: Likewise.
31279         * doc/posix-functions/getgrnam_r.texi: Likewise.
31280         * doc/posix-functions/getlogin_r.texi: Likewise.
31281         * doc/posix-functions/getpwnam_r.texi: Likewise.
31282         * doc/posix-functions/getpwuid_r.texi: Likewise.
31283         * doc/posix-functions/readdir_r.texi: Likewise.
31284         * doc/posix-functions/sigwait.texi: Likewise.
31285         * doc/posix-functions/ttyname_r.texi: Likewise.
31286         Reported by Simon Josefsson.
31287
31288 2010-04-25  Bruno Haible  <bruno@clisp.org>
31289
31290         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
31291         * gnulib-tool (func_usage): Document that --with-*-tests options apply
31292         also to --create-testdir.
31293         (func_acceptable): Don't consider the status of *-tests modules here.
31294         (func_modules_transitive_closure): Consider it here, before including a
31295         test module.
31296         (func_import, func_create_testdir): Set inc_all_direct_tests,
31297         inc_all_indirect_tests.
31298         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
31299         --create-testdir and --create-megatestdir.
31300
31301 2010-04-25  Bruno Haible  <bruno@clisp.org>
31302
31303         gnulib-tool: Add --without-*-tests options.
31304         * gnulib-tool (func_usage): Document the --without-*-tests options.
31305         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
31306         excl_unportable_tests): New variables.
31307         Fail if they are specified with --import or --update.
31308         (func_acceptable): Respect the excl_*_tests variables.
31309         (func_import): Set the excl_*_tests variables to empty.
31310
31311 2010-04-25  Simon Josefsson  <simon@josefsson.org>
31312             Bruno Haible  <bruno@clisp.org>
31313
31314         Work around a MacOS X 10.4 bug with openpty.
31315         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
31316         * tests/test-openpty.c (main): Close the master side explicitly.
31317
31318 2010-04-25  Bruno Haible  <bruno@clisp.org>
31319
31320         strnlen: Fix a C++ test error on MacOS X and Solaris.
31321         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
31322         the function is not declared.
31323         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
31324         Simon Josefsson.
31325
31326 2010-04-24  Bruno Haible  <bruno@clisp.org>
31327
31328         Avoid a gcc warning.
31329         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
31330         of correct type for %08lx directive.
31331         Reported by Eric Blake.
31332
31333 2010-04-24  Bruno Haible  <bruno@clisp.org>
31334
31335         vasnprintf: Correct errno value in case of out-of-memory.
31336         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
31337         or sprintf. Use the errno value from SNPRINTF or sprintf.
31338         Reported by Ian Beckwith <ianb@erislabs.net>.
31339
31340 2010-04-24  Bruno Haible  <bruno@clisp.org>
31341
31342         ansi-c++-opt: Find correct compiler when cross-compiling.
31343         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
31344         AC_CHECK_PROGS.
31345         Reported by Simon Josefsson.
31346
31347 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
31348
31349         vc-list-files: Add support for subversion
31350         * build-aux/vc-list-files: Use "svn list" to generate the list of
31351         files controlled by subversion.
31352
31353 2010-04-23  Jim Meyering  <meyering@redhat.com>
31354
31355         vc-list-files tests: convert to use init.sh
31356         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
31357         path_prepend_.
31358         Use Exit, not exit.
31359         Use skip_ rather than open coding it.
31360         Remove trap set-up and compare definitions.
31361         * tests/test-vc-list-files-git.sh: Likewise.
31362         * modules/vc-list-files-tests (Files): Add tests/init.sh.
31363
31364 2010-04-22  Simon Josefsson  <simon@josefsson.org>
31365
31366         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
31367         backup files.
31368
31369 2010-04-21  Simon Josefsson  <simon@josefsson.org>
31370
31371         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
31372
31373 2010-04-20  Eric Blake  <eblake@redhat.com>
31374
31375         tests: be robust to ignored SIGPIPE
31376         * tests/test-select-in.sh: Consume all output.
31377         * tests/test-lseek.sh: Check correct exit status, while avoiding
31378         EPIPE.
31379
31380 2010-04-20  Simon Josefsson  <simon@josefsson.org>
31381             Bruno Haible  <bruno@clisp.org>
31382
31383         visibility: Don't use -fvisibility if it leads to a warning.
31384         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
31385         yes, don't pretend that visibility works if it leads to a warning.
31386         Reported by Mike Gran <spk121@yahoo.com>.
31387
31388 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
31389
31390         * build-aux/bootstrap: Use "git -h" for testing for supported options
31391         instead of "git --help".  The short-form option only shows a summary,
31392         and doesn't layout the full man page.  Grep for the full option name
31393         in the summary, too.
31394
31395 2010-04-19  Bruno Haible  <bruno@clisp.org>
31396
31397         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
31398         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
31399         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
31400         mention of RELOCATABLE_STRIP.
31401         Reported by Sylvain Beucler <beuc@beuc.net>.
31402
31403 2010-04-19  Bruno Haible  <bruno@clisp.org>
31404
31405         * lib/diffseq.h: Fix typo in comment.
31406         Reported by Eric Blake.
31407
31408 2010-04-19  Bruno Haible  <bruno@clisp.org>
31409
31410         ioctl: Move autoconf macro to a .m4 file.
31411         * m4/ioctl.m4: New file, extracted from modules/ioctl.
31412         * modules/ioctl (Files): Add it.
31413         (configure.ac): Simply invoke gl_FUNC_IOCTL.
31414         Reported by Ian Beckwith <ianb@erislabs.net>.
31415
31416 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
31417             Bruno Haible  <bruno@clisp.org>
31418
31419         diffseq: Accommodate use-case with abstract arrays.
31420         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
31421         is not defined.
31422         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
31423         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
31424
31425 2010-04-18  Bruno Haible  <bruno@clisp.org>
31426
31427         * doc/posix-headers/stdbool.texi: More precise wording.
31428
31429 2010-04-17  Jim Meyering  <meyering@redhat.com>
31430
31431         maint.mk: use gnu-style indentation in an embedded perl script
31432         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
31433         Rename variable: s/two/last_two_bytes/
31434
31435 2010-04-16  Eric Blake  <eblake@redhat.com>
31436
31437         test-stdbool: skip test that fails with Solaris CC
31438         * tests/test-stdbool.c (f): Skip test that causes compilation
31439         error under buggy C++ compiler.
31440         * lib/stdbool.in.h: Document the limitation.
31441         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
31442
31443         setenv: allow compilation with C++
31444         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
31445         register keyword.
31446
31447         stdint: allow test to pass with C++
31448         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
31449
31450         getopt: allow compilation with C++
31451         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
31452         struct.
31453         * lib/getopt.c (_getopt_internal_r): Use correct type.
31454         Reported by Dagobert Michelson, via Joel E. Denny.
31455
31456 2010-04-16  Bruno Haible  <bruno@clisp.org>
31457
31458         Override netdb.h always.
31459         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
31460         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
31461         Reported by Ludovic Courtès <ludo@gnu.org>.
31462
31463 2010-04-15  Bruno Haible  <bruno@clisp.org>
31464
31465         openpty: Fix mistake from 2010-03-21.
31466         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
31467         Reported by Simon Josefsson.
31468
31469 2010-04-15  Eric Blake  <eblake@redhat.com>
31470
31471         test-forkpty: fix expected signature
31472         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
31473         Reported by Simon Josefsson.
31474
31475 2010-04-15  Jim Meyering  <meyering@redhat.com>
31476
31477         maint.mk: texinfo_suffix_re_: correct the default regexp
31478         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
31479
31480         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
31481         make it configurable via texinfo_suffix_re_.
31482
31483 2010-04-14  Eric Blake  <eblake@redhat.com>
31484
31485         strtok_r: relax license to LGPLv2+
31486         * modules/strtok_r (License): Relax license.
31487         Reported by Matthias Bolte.
31488
31489 2010-04-14  Simon Josefsson  <simon@josefsson.org>
31490
31491         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
31492         version 1.4.4 by default instead of requiring the libgcrypt
31493         version used during build.  This makes it possible to use the
31494         application with older but still binary compatible libgcrypt
31495         versions.
31496
31497 2010-04-13  Eric Blake  <eblake@redhat.com>
31498
31499         getopt-gnu: match recent glibc fixes and posix ruling
31500         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
31501         '+' handling, when requesting extensions.
31502         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
31503         'W;' handling.
31504         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
31505         * doc/posix-functions/getopt.texi (getopt): Document this.
31506         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31507         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31508         Likewise.
31509
31510         getopt: merge bug fixes from glibc
31511         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
31512         diagnostics.  Honor '+:' correctly.  Reject ';'.
31513
31514         getopt-posix: detect MacOS bug
31515         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
31516         optind when missing a required argument.
31517         * doc/posix-functions/getopt.texi (getopt): Document the bug.
31518         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31519         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31520         Likewise.
31521
31522         getopt-posix: avoid spurious failure on Solaris
31523         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
31524         an indicator that setting optind=1 is sufficient for reset.
31525
31526         getopt-posix: avoid spurious failure on FreeBSD
31527         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
31528         in POSIX mode, since the m4 test uses it.
31529
31530         gnulib-tool: silence warning on BSD sh
31531         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
31532
31533 2010-04-13  Jim Meyering  <meyering@redhat.com>
31534
31535         doc: users.txt: GNU patch now uses gnulib
31536         * users.txt: Add patch.
31537
31538 2010-04-12  Jim Meyering  <meyering@redhat.com>
31539
31540         maint.mk: generate more concise timing data for syntax-check rules
31541         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
31542         " done" from each line that reports a syntax-check test duration.
31543
31544 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
31545
31546         git-version-gen: use "git update-index..." rather than "git status"
31547         * build-aux/git-version-gen: Use git update-index --refresh, not
31548         "git status".  With some versions of git, "git status" would fail
31549         to update the index and result in an unwarranted "-dirty" suffix.
31550
31551 2010-04-11  Jim Meyering  <meyering@redhat.com>
31552
31553         openat: correct formatting (no semantic change)
31554         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
31555         Suggested by Bruno Haible.
31556
31557 2010-04-11  Bruno Haible  <bruno@clisp.org>
31558
31559         Stricter declaration checking in testdirs.
31560         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31561         If for_tests is true, augment AM_CPPFLAGS to define
31562         GNULIB_STRICT_CHECKING.
31563         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
31564         GNULIB_STRICT_CHECKING is defined, verify that the function is
31565         declared.
31566
31567 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
31568             Bruno Haible  <bruno@clisp.org>
31569
31570         libunistring: Improve configure output.
31571         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
31572         Don't say "consider installing GNU libunistring" when checking again
31573         with libiconv.
31574
31575 2010-04-11  Bruno Haible  <bruno@clisp.org>
31576
31577         libunistring: Correct value of $LTLIBUNISTRING.
31578         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
31579         correct the value of $LTLIBUNISTRING.
31580
31581 2010-04-11  Bruno Haible  <bruno@clisp.org>
31582
31583         havelib: Add static libraries to LIBS in the right order.
31584         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
31585         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
31586
31587 2010-04-11  Bruno Haible  <bruno@clisp.org>
31588
31589         libunistring: Detect libunistring also when it depends on libiconv.
31590         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
31591         the second AC_LIB_HAVE_LINKFLAGS invocation.
31592
31593 2010-04-11  James Youngman  <jay@gnu.org>
31594
31595         close-stream: declare local scalars to be "const"
31596         * lib/close-stream.c (close_stream): Make boolean variables const
31597         to document the fact that we set but do not change them.
31598
31599 2010-04-11  Bruno Haible  <bruno@clisp.org>
31600
31601         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
31602
31603 2010-04-11  Jim Meyering  <meyering@redhat.com>
31604
31605         maint.mk: don't include dist-check.mk
31606         * top/maint.mk: Remove bogus include directive.
31607
31608         maint.mk: improve empty-line-at-EOF check
31609         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
31610         solution, rather than tail+Perl-based one.  The latter would read
31611         a few kilobytes from the end of each file, and did not handle empty
31612         files properly.
31613
31614         maint.mk: print the elapsed time for each syntax-check rule
31615         * top/maint.mk (sc_m_rules_): Save start time in a file.
31616         (sc_z_rules_): New rules: remove temp file and print elapsed time.
31617         (local-check): Interpose the .z rules
31618
31619 2010-04-11  Jim Meyering  <meyering@redhat.com>
31620
31621         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
31622         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
31623         empty file with one that ends in an empty line.
31624
31625 2010-04-10  Bruno Haible  <bruno@clisp.org>
31626
31627         mkdir: Make it work on mingw64.
31628         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
31629         * lib/mkdir.c: Update comment.
31630         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
31631
31632 2010-04-10  Bruno Haible  <bruno@clisp.org>
31633
31634         Don't override improved macro from newer autoconf.
31635         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
31636         autoconf >= 2.62.
31637         Reported by Joel E. Denny <jdenny@clemson.edu>.
31638
31639 2010-04-10  Jim Meyering  <meyering@redhat.com>
31640
31641         maint.mk: new syntax-check rule: prohibit empty lines at end of file
31642         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
31643
31644         maint.mk: correct a diagnostic
31645         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
31646         in diagnostic; now use $prohibit.
31647
31648 2010-04-10  Bruno Haible  <address@hidden>
31649
31650         fchownat: Fix a C++ test error on Solaris 8.
31651         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
31652         the function does not exist.
31653
31654 2010-04-10  Bruno Haible  <bruno@clisp.org>
31655
31656         vasnprintf: Add more tests.
31657         * tests/test-vasnprintf-posix.c: Include <errno.h>.
31658         (test_function): Test converting an invalid wide string.
31659
31660         vasnprintf: Correct handling of unconvertible wide string arguments.
31661         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
31662         VASNPRINTF.
31663         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
31664         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
31665         smaller than the expected maximum need for the directive. Set errno to
31666         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
31667         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
31668         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
31669         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
31670         * modules/vasnprintf (Files): Add m4/printf.m4.
31671         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31672
31673 2010-04-10  Bruno Haible  <bruno@clisp.org>
31674
31675         vasnprintf: Fix crash in %ls directive.
31676         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
31677         string is passed as argument to %ls, with no precision and no width.
31678         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31679
31680 2010-04-10  Bruno Haible  <bruno@clisp.org>
31681
31682         vasnprintf: Fix multiple test failures on mingw.
31683         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
31684         _snprintf, or snwprintf, not _snwprintf.
31685
31686 2010-04-10  Bruno Haible  <bruno@clisp.org>
31687
31688         write: Fix a C++ test error on mingw.
31689         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
31690
31691 2010-04-10  Bruno Haible  <bruno@clisp.org>
31692
31693         vasnprintf test: Reduce code duplication.
31694         * tests/test-vasnprintf.c (test_function): New function, extracted from
31695         test_vasnprintf.
31696         (test_vasnprintf, test_asnprintf): Invoke it.
31697
31698 2010-04-10  Bruno Haible  <bruno@clisp.org>
31699
31700         strnlen: Fix warning in C++ mode on MacOS X.
31701         * lib/string.in.h (strnlen): Use the modern idiom.
31702         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
31703         defining strnlen as a macro already in <config.h>.
31704         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31705         REPLACE_STRNLEN.
31706         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
31707         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31708
31709 2010-04-08  James Youngman  <jay@gnu.org>
31710
31711         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
31712         the example.
31713
31714 2010-04-09  Jim Meyering  <meyering@redhat.com>
31715
31716         maint.mk: print better diagnostic when there is no $(_hv_file)
31717         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
31718         announce that when $(_hv_file) (aka help-version) does not exist.
31719
31720         init.sh: run tr in the "C" locale to avoid multibyte interpretation
31721         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
31722         not try to interpret its random input bytes.  Jarno Rajahalme reported
31723         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
31724         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
31725         (mktempd_): Likewise, just in case.
31726
31727         ftruncate: add two years to projected module removal date: 2012
31728         * m4/ftruncate.m4: Adjust comments.
31729
31730         ftruncate: mark module as obsolete; even MinGW provides it, now
31731         * modules/ftruncate (Status): Obsolete.
31732         (Notice): Say that.
31733         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
31734         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
31735
31736 2010-04-08  Bruno Haible  <bruno@clisp.org>
31737
31738         Fix side effects from tests-related modules.
31739         * modules/dprintf-posix (Comment): New section.
31740         * modules/fprintf-posix (Comment): Likewise.
31741         * modules/obstack-printf-posix (Comment): Likewise.
31742         * modules/printf-posix (Comment): Likewise.
31743         * modules/snprintf-posix (Comment): Likewise.
31744         * modules/sprintf-posix (Comment): Likewise.
31745         * modules/vasnprintf-posix (Comment): Likewise.
31746         * modules/vasprintf-posix (Comment): Likewise.
31747         * modules/vdprintf-posix (Comment): Likewise.
31748         * modules/vfprintf-posix (Comment): Likewise.
31749         * modules/vprintf-posix (Comment): Likewise.
31750         * modules/vsnprintf-posix (Comment): Likewise.
31751         * modules/vsprintf-posix (Comment): Likewise.
31752         * modules/xprintf-posix (Comment): Likewise.
31753         * modules/xvasprintf-posix (Comment): Likewise.
31754         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
31755         * modules/floorf-tests (Depends-on): Likewise.
31756         * modules/round-tests (Depends-on): Likewise.
31757         * modules/roundf-tests (Depends-on): Likewise.
31758         * modules/trunc-tests (Depends-on): Likewise.
31759         * modules/truncf-tests (Depends-on): Likewise.
31760         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
31761         'fprintf-posix' module is not present.
31762         * tests/test-floorf2.c (check): Likewise.
31763         * tests/test-trunc2.c (check): Likewise.
31764         * tests/test-truncf2.c (check): Likewise.
31765         * tests/test-round2.c (equal): Likewise.
31766         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31767
31768 2010-04-07  Karl Berry  <karl@gnu.org>
31769
31770         * config/srclist.txt,
31771         * config/srclistvars.sh,
31772         * config/srclist-update: doc fixes.
31773
31774 2010-04-07  Jim Meyering  <meyering@redhat.com>
31775
31776         maint.mk: add a PATH crosschecking syntax-check rule
31777         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
31778         Useful if you use a test like the one in help-version (coreutils,
31779         diffutils, grep, gzip) that ensures $(VERSION) matches what is
31780         printed by prog --version.
31781
31782 2010-04-06  Bruno Haible  <bruno@clisp.org>
31783
31784         Fix link error on mingw.
31785         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
31786         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
31787
31788 2010-04-06  Bruno Haible  <bruno@clisp.org>
31789
31790         Assume rmdir exists.
31791         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
31792
31793 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
31794
31795         doc: update users.txt
31796         * users.txt: Add gcal.
31797
31798 2010-04-06  Jim Meyering  <meyering@redhat.com>
31799
31800         init.sh: simply unset TMPDIR rather than risking env -i
31801         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
31802         although it probably works fine on all Unix-based systems, some
31803         systems (Cygwin?) cannot tolerate a totally cleared environment.
31804         Suggestion from Eric Blake.
31805
31806 2010-04-06  Jim Meyering  <meyering@redhat.com>
31807
31808         init.sh: portability fix: use env's POSIX-specified -i option not -u
31809         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
31810         than unportable env -u.  Solaris 5.11's env lacks support for -u.
31811
31812 2010-04-05  Bruno Haible  <bruno@clisp.org>
31813
31814         btowc: Work around Cygwin 1.7.2 bug.
31815         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
31816         does not map NUL to 0.
31817         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
31818
31819 2010-04-05  Bruno Haible  <bruno@clisp.org>
31820
31821         Make the multithread modules work on Cygwin 1.7.2.
31822         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
31823         imported symbols can be declared weak, so that it returns "no" on
31824         Cygwin 1.7.2.
31825
31826 2010-04-05  Bruno Haible  <bruno@clisp.org>
31827
31828         Use the module 'strncat'.
31829         * modules/unistr/u8-strncat (Depends-on): Add strncat.
31830
31831         Tests for module 'strncat'.
31832         * modules/strncat-tests: New file.
31833         * tests/test-strncat.c: New file.
31834
31835         New module 'strncat'.
31836         * lib/string.in.h (strncat): New declaration.
31837         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
31838         * m4/strncat.m4: New file, based on m4/memchr.m4.
31839         * modules/strncat: New file.
31840         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
31841         is declared.
31842         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
31843         REPLACE_STRNCAT.
31844         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
31845         REPLACE_STRNCAT.
31846         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
31847         module.
31848         * tests/test-string-c++.cc: Check signature of strncat.
31849
31850 2010-04-05  Jim Meyering  <meyering@redhat.com>
31851
31852         xstrtoumax-tests: convert to use init.sh
31853         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
31854         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31855         Use Exit, not exit.
31856         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31857
31858         xstrtoimax-tests: convert to use init.sh
31859         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
31860         * tests/test-xstrtoimax.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 2010-04-05  Bruno Haible  <bruno@clisp.org>
31865
31866         sys_socket: Avoid #define replacements in C++ mode.
31867         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
31868         warning to the function if possible, rather than #defining the symbol
31869         to a dysfunctional alias.
31870
31871 2010-04-05  Bruno Haible  <bruno@clisp.org>
31872
31873         fseeko: Fix C++ test error on mingw.
31874         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
31875         gl_FUNC_FSEEKO.
31876         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
31877         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
31878         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
31879         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
31880
31881 2010-04-05  Bruno Haible  <bruno@clisp.org>
31882
31883         duplocale: Improve test output.
31884         * tests/test-duplocale.c (main): Print reason for skipped test.
31885
31886 2010-04-05  Bruno Haible  <bruno@clisp.org>
31887
31888         Assume rmdir exists.
31889         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
31890         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
31891
31892 2010-04-05  Bruno Haible  <bruno@clisp.org>
31893
31894         Fix link error on Solaris 8 with cc.
31895         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
31896
31897 2010-04-05  Bruno Haible  <bruno@clisp.org>
31898
31899         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31900         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
31901
31902 2010-04-05  Bruno Haible  <bruno@clisp.org>
31903
31904         vasprintf: Update documentation.
31905         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
31906
31907 2010-04-05  Bruno Haible  <bruno@clisp.org>
31908
31909         ptsname: Improve test.
31910         * tests/test-ptsname.c (main): Also try the various master names of BSD
31911         systems.
31912
31913 2010-04-05  Bruno Haible  <bruno@clisp.org>
31914
31915         memchr: Avoid a possible C++ test error.
31916         * lib/string.in.h (memchr): Provide declaration if function is missing.
31917         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
31918         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
31919         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
31920         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
31921
31922 2010-04-05  Bruno Haible  <bruno@clisp.org>
31923
31924         strtok_r: Improve idiom.
31925         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
31926         AC_LIBOBJ is used.
31927
31928 2010-04-05  Bruno Haible  <bruno@clisp.org>
31929
31930         strdup: Improve idiom.
31931         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
31932         AC_LIBOBJ is used.
31933         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
31934         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
31935         when AC_LIBOBJ is used.
31936
31937 2010-04-05  Bruno Haible  <bruno@clisp.org>
31938
31939         mbsinit, mbrtowc, wcrtomb: Improve idioms.
31940         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
31941         don't set REPLACE_MBSINIT to 1.
31942         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
31943         don't set REPLACE_MBRTOWC to 1.
31944         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
31945         exist, don't set REPLACE_MBSRTOWCS to 1.
31946         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
31947         exist, don't set REPLACE_MBSNRTOWCS to 1.
31948         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
31949         don't set REPLACE_WCRTOMB to 1.
31950         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
31951         exist, don't set REPLACE_WCSRTOMBS to 1.
31952         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
31953         exist, don't set REPLACE_WCSNRTOMBS to 1.
31954
31955 2010-04-05  Bruno Haible  <bruno@clisp.org>
31956
31957         ldexpl: Improve idiom.
31958         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
31959         make sure to set HAVE_DECL_LDEXPL to 0.
31960
31961 2010-04-05  Jim Meyering  <meyering@redhat.com>
31962
31963         xstrtol-tests: convert to use init.sh
31964         * modules/xstrtol-tests (Files): Add tests/init.sh.
31965         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31966         Use Exit, not exit.
31967         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31968
31969         atexit-tests: convert to use init.sh
31970         * modules/atexit-tests (Files): Add tests/init.sh.
31971         * tests/test-atexit.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         init.sh: fix typo
31976         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
31977
31978         init.sh: make it easier for a test script to write to the tty, ...
31979         when using automake's parallel-tests mode.
31980         * tests/init.sh (stderr_fileno_): Define overridable variable.
31981         (warn_): New function, to use it.
31982         (fail_, skip_, framework_failure_): Use warn_.
31983
31984 2010-04-04  Bruno Haible  <bruno@clisp.org>
31985
31986         btowc: Avoid warning.
31987         * lib/btowc.c: Include <stdlib.h>.
31988         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
31989
31990 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31991             Bruno Haible  <bruno@clisp.org>
31992
31993         wchar: Port to NetBSD 1.5.
31994         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
31995         * lib/wctype.in.h (WEOF): Likewise.
31996
31997 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31998             Bruno Haible  <bruno@clisp.org>
31999
32000         Port extended stdio to NetBSD 1.5.
32001         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
32002         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
32003         older.
32004
32005 2010-04-04  Bruno Haible  <bruno@clisp.org>
32006
32007         string: Remove unused substitution.
32008         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
32009         HAVE_DECL_STRERROR.
32010         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
32011
32012 2010-04-04  Bruno Haible  <bruno@clisp.org>
32013
32014         strtod: Avoid a possible C++ test error.
32015         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
32016         set REPLACE_STRTOD.
32017
32018 2010-04-04  Bruno Haible  <bruno@clisp.org>
32019
32020         strerror: Update documentation.
32021         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
32022
32023 2010-04-04  Bruno Haible  <bruno@clisp.org>
32024
32025         stdio: Fix some C++ test errors on Solaris 8 with GCC.
32026         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
32027         _GL_CXXALIAS_SYS_CAST.
32028
32029 2010-04-04  Bruno Haible  <bruno@clisp.org>
32030
32031         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32032         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
32033         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
32034         REPLACE_FREXPL to 1.
32035         * doc/posix-functions/frexpl.texi: Update documentation.
32036
32037 2010-04-04  Bruno Haible  <bruno@clisp.org>
32038
32039         math: Fix some C++ test errors on Solaris 8 and Cygwin.
32040         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
32041
32042 2010-04-04  Bruno Haible  <bruno@clisp.org>
32043
32044         Implement nanosleep for native Windows.
32045         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
32046
32047 2010-04-04  Bruno Haible  <bruno@clisp.org>
32048
32049         math: Fix some C++ test errors on Solaris 8.
32050         * lib/math.in.h (truncf, trunc): Use simpler idiom.
32051
32052 2010-04-04  Bruno Haible  <bruno@clisp.org>
32053
32054         math: Fix some C++ test errors on Cygwin.
32055         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
32056         truncl): Provide declaration if the system does not have it.
32057         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
32058         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
32059         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
32060         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
32061         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
32062         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
32063         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
32064         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
32065         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
32066         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
32067         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
32068         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
32069         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
32070         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
32071         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
32072         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
32073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
32074         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32075         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32076         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
32077         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32078         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32079
32080 2010-04-04  Bruno Haible  <bruno@clisp.org>
32081
32082         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
32083         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32084         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32085         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32086         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32087         * m4/isinf.m4 (gl_ISINF): Likewise.
32088         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32089
32090 2010-04-04  Bruno Haible  <bruno@clisp.org>
32091
32092         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
32093         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32094
32095 2010-04-04  Bruno Haible  <bruno@clisp.org>
32096
32097         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
32098         * modules/tmpfile (configure.ac): Update.
32099
32100         tmpfile: Fix C++ test error on mingw.
32101         * lib/stdio.in.h (tmpfile): New declaration.
32102         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
32103         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
32104         * modules/tmpfile (Depends-on): Add stdio.
32105         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
32106         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
32107         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
32108         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
32109         REPLACE_TMPFILE.
32110         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
32111
32112 2010-04-04  Bruno Haible  <bruno@clisp.org>
32113
32114         ioctl: Fix C++ test error on mingw.
32115         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
32116         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
32117         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
32118
32119 2010-04-03  Bruno Haible  <bruno@clisp.org>
32120
32121         wcwidth: Fix C++ test error on mingw.
32122         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
32123         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
32124         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
32125
32126 2010-04-03  Bruno Haible  <bruno@clisp.org>
32127
32128         nanosleep: Fix C++ test error on mingw.
32129         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
32130         * lib/time.in.h (nanosleep): Use modern idiom.
32131         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
32132         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
32133         REPLACE_NANOSLEEP to 1.
32134         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
32135         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
32136
32137 2010-04-03  Bruno Haible  <bruno@clisp.org>
32138
32139         strptime: Fix C++ test error on mingw.
32140         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
32141         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
32142         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
32143         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
32144         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
32145         not REPLACE_STRPTIME.
32146         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
32147         REPLACE_STRPTIME.
32148
32149 2010-04-03  Bruno Haible  <bruno@clisp.org>
32150
32151         timegm: Fix C++ test error on mingw.
32152         * lib/time.in.h (timegm): Use modern idiom.
32153         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
32154         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
32155         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
32156         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
32157
32158 2010-04-03  Bruno Haible  <bruno@clisp.org>
32159
32160         timegm: Assume declaration if function exists.
32161         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
32162         if it exists. Don't clobber ac_cv_func_timegm.
32163
32164 2010-04-03  Bruno Haible  <bruno@clisp.org>
32165
32166         time_r: Fix C++ test error on mingw.
32167         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
32168         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
32169         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
32170         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
32171         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
32172
32173 2010-04-03  Bruno Haible  <bruno@clisp.org>
32174
32175         time_r: Minor updates.
32176         * modules/time_r (Description): Mention the provided functions.
32177         * lib/time_r.c: Don't include <string.h>.
32178         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
32179         * doc/posix-functions/localtime_r.texi: Likewise.
32180
32181 2010-04-03  Bruno Haible  <bruno@clisp.org>
32182
32183         time: Fix regression introduced on 2010-03-08.
32184         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
32185         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
32186
32187 2010-04-03  Jim Meyering  <meyering@redhat.com>
32188
32189         maint.mk: don't silently disable project-specific syntax-check rules
32190         * top/maint.mk (_prohibit_regexp): Define, to help people realize
32191         that they need to convert their project-specific syntax-check rules
32192         to use the new _sc_search_regexp.
32193
32194 2010-04-03  Bruno Haible  <bruno@clisp.org>
32195
32196         fchdir: Fix regression introduced on 2010-03-08.
32197         * lib/unistd.in.h (fchdir): Fix declaration.
32198         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
32199         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
32200         REPLACE_FCHDIR.
32201         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
32202         REPLACE_FCHDIR.
32203
32204 2010-04-03  Bruno Haible  <bruno@clisp.org>
32205
32206         getpagesize: Fix C++ test error on mingw.
32207         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
32208         system does not declare the function.
32209         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
32210         declared.
32211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32212         HAVE_DECL_GETPAGESIZE.
32213         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
32214
32215 2010-04-03  Bruno Haible  <bruno@clisp.org>
32216
32217         stdio: Make C++ tests work on mingw.
32218         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
32219         does not declare the function.
32220
32221 2010-04-03  Bruno Haible  <bruno@clisp.org>
32222
32223         ftello: Fix C++ test error on mingw.
32224         * lib/stdio.in.h (ftello): Use modern idiom.
32225         * lib/ftello.c (ftello): Renamed from rpl_ftello.
32226         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
32227         is missing and that it needs to be replaced.
32228         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
32229         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
32230         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
32231
32232 2010-04-03  Bruno Haible  <bruno@clisp.org>
32233
32234         fseeko: Fix C++ test error on mingw.
32235         * lib/stdio.in.h (fseeko): Use modern idiom.
32236         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
32237         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
32238         is missing and that it needs to be replaced.
32239         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
32240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
32241         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
32242
32243 2010-04-03  Bruno Haible  <bruno@clisp.org>
32244
32245         mkstemp: Fix C++ test error on mingw.
32246         * lib/stdlib.in.h (mkstemp): Use modern idiom.
32247         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
32248         function is missing and that it needs to be replaced.
32249         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
32250         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
32251
32252 2010-04-03  Bruno Haible  <bruno@clisp.org>
32253
32254         stpncpy: Fix C++ test error on mingw.
32255         * lib/string.in.h (stpncpy): Use modern idiom.
32256         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
32257         function is missing and that it needs to be replaced.
32258         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32259         REPLACE_STPNCPY.
32260         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
32261
32262 2010-04-03  Bruno Haible  <bruno@clisp.org>
32263
32264         sys_stat: Fix C++ test error on mingw.
32265         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
32266         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
32267
32268 2010-04-03  Bruno Haible  <bruno@clisp.org>
32269
32270         pty: Update doc.
32271         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
32272
32273 2010-04-03  Bruno Haible  <bruno@clisp.org>
32274
32275         unistd: Fix C++ test error on mingw.
32276         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
32277
32278 2010-04-03  Bruno Haible  <bruno@clisp.org>
32279
32280         Update doc regarding mingw.
32281         * doc/glibc-functions/openpty.texi: Update regarding mingw.
32282         * doc/glibc-functions/login_tty.texi: Likewise.
32283         * doc/glibc-functions/forkpty.texi: Likewise.
32284
32285 2010-04-03  Bruno Haible  <bruno@clisp.org>
32286
32287         stdlib: Avoid compilation failure of c-strtold on mingw.
32288         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
32289
32290 2010-04-03  Bruno Haible  <bruno@clisp.org>
32291
32292         locale: Make C++ tests work on Cygwin and mingw.
32293         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
32294         cannot provide the function.
32295         Reported by Simon Josefsson.
32296
32297 2010-04-03  Bruno Haible  <bruno@clisp.org>
32298
32299         localename: Port to MacOS X 10.6.
32300         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
32301         memory layout of the locales in MacOS X 10.6 as well.
32302         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
32303
32304 2010-04-02  Bruno Haible  <bruno@clisp.org>
32305
32306         gnulib-tool: Ensure that long-running tests are executed last.
32307         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
32308         running tests after the one for the other tests.
32309
32310 2010-04-02  Bruno Haible  <bruno@clisp.org>
32311
32312         gnulib-tool: Ensure the tests in the main directory are executed first.
32313         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
32314         start with the current directory.
32315
32316 2010-04-02  Bruno Haible  <bruno@clisp.org>
32317
32318         Tests for module 'havelib', moved here from GNU gettext.
32319         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
32320         modifications.
32321         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
32322         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
32323         with modifications.
32324         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
32325         modifications.
32326         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
32327         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
32328         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
32329         with modifications.
32330         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
32331         with modifications.
32332         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
32333         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
32334         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
32335         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
32336         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
32337         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
32338         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
32339         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
32340         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
32341         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
32342         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
32343         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
32344         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
32345         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
32346         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
32347         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
32348         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
32349         with modifications.
32350         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
32351         with modifications.
32352         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
32353         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
32354         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
32355         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
32356         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
32357         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
32358         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
32359         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
32360         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
32361         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
32362         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
32363         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
32364         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
32365         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
32366         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
32367         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
32368         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
32369         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
32370         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
32371         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
32372         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
32373         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
32374         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
32375         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
32376         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
32377         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
32378         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
32379         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
32380         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
32381         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
32382         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
32383         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
32384         * tests/havelib/rpathx/rpathx.c: New file, from
32385         gettext/autoconf-lib-link.
32386         * tests/havelib/rpathx/Makefile.am: New file, from
32387         gettext/autoconf-lib-link.
32388         * tests/havelib/rpathx/configure.ac: New file, from
32389         gettext/autoconf-lib-link with modifications.
32390         * tests/havelib/rpathy/rpathy.c: New file, from
32391         gettext/autoconf-lib-link.
32392         * tests/havelib/rpathy/Makefile.am: New file, from
32393         gettext/autoconf-lib-link.
32394         * tests/havelib/rpathy/configure.ac: New file, from
32395         gettext/autoconf-lib-link with modifications.
32396         * tests/havelib/rpathz/rpathz.c: New file, from
32397         gettext/autoconf-lib-link.
32398         * tests/havelib/rpathz/Makefile.am: New file, from
32399         gettext/autoconf-lib-link.
32400         * tests/havelib/rpathz/configure.ac: New file, from
32401         gettext/autoconf-lib-link with modifications.
32402         * tests/havelib/rpathlx/usex.c: New file, from
32403         gettext/autoconf-lib-link.
32404         * tests/havelib/rpathlx/Makefile.am: New file, from
32405         gettext/autoconf-lib-link.
32406         * tests/havelib/rpathlx/configure.ac: New file, from
32407         gettext/autoconf-lib-link with modifications.
32408         * tests/havelib/rpathly/usey.c: New file, from
32409         gettext/autoconf-lib-link.
32410         * tests/havelib/rpathly/Makefile.am: New file, from
32411         gettext/autoconf-lib-link.
32412         * tests/havelib/rpathly/configure.ac: New file, from
32413         gettext/autoconf-lib-link with modifications.
32414         * tests/havelib/rpathlz/usez.c: New file, from
32415         gettext/autoconf-lib-link.
32416         * tests/havelib/rpathlz/Makefile.am: New file, from
32417         gettext/autoconf-lib-link.
32418         * tests/havelib/rpathlz/configure.ac: New file, from
32419         gettext/autoconf-lib-link with modifications.
32420         * tests/havelib/rpathlyx/usey.c: New file, from
32421         gettext/autoconf-lib-link.
32422         * tests/havelib/rpathlyx/Makefile.am: New file, from
32423         gettext/autoconf-lib-link.
32424         * tests/havelib/rpathlyx/configure.ac: New file, from
32425         gettext/autoconf-lib-link with modifications.
32426         * tests/havelib/rpathlzyx/usez.c: New file, from
32427         gettext/autoconf-lib-link.
32428         * tests/havelib/rpathlzyx/Makefile.am: New file, from
32429         gettext/autoconf-lib-link.
32430         * tests/havelib/rpathlzyx/configure.ac: New file, from
32431         gettext/autoconf-lib-link with modifications.
32432         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
32433         with modifications.
32434
32435 2010-04-02  Bruno Haible  <bruno@clisp.org>
32436
32437         gnulib-tool: Create distributed built sources also for the tests.
32438         * gnulib-tool (func_create_testdir): Also generate distributed built
32439         sources in the tests directory.
32440
32441 2010-04-02  Bruno Haible  <bruno@clisp.org>
32442
32443         gnulib-tool: Obey user's environment variables.
32444         * gnulib-tool (func_create_testdir): When creating built sources,
32445         respect the environment variables for autoconf, automake, etc. given by
32446         the user.
32447
32448 2010-04-02  Bruno Haible  <bruno@clisp.org>
32449
32450         gnulib-tool: Provide the value of --m4-base to modules.
32451         * gnulib-tool (func_import, func_create_testdir): Emit a definition
32452         of gl_m4_base.
32453
32454 2010-04-02  Eric Blake  <eblake@redhat.com>
32455
32456         maint.mk: fix some fallout
32457         * NEWS: Document the incompatible change, and its effect on cfg.mk.
32458         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
32459
32460 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32461
32462         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
32463         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
32464         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
32465         (sc_cast_of_x_alloc_return_value): Likewise.
32466         (sc_cast_of_alloca_return_value): Likewise.
32467         (sc_space_tab): Likewise.
32468         (sc_prohibit_atoi_atof): Likewise.
32469         (sc_prohibit_magic_number_exit): Likewise.
32470         (sc_error_exit_success): Likewise.
32471         (sc_file_system): Likewise.
32472         (sc_prohibit_have_config_h): Likewise.
32473         (sc_require_config_h): Likewise.
32474         (sc_prohibit_HAVE_MBRTOWC): Likewise.
32475         (sc_obsolete_symbols): Likewise.
32476         (sc_changelog): Likewise.
32477         (sc_program_name): Likewise.
32478         (sc_the_the): Likewise.
32479         (sc_trailing_blank): Likewise.
32480         (sc_two_space_separator_in_usage): Likewise.
32481         (sc_useless_cpp_parens): Likewise.
32482         (sc_GPL_version): Likewise.
32483         (sc_GFDL_version): Likewise.
32484         (sc_texinfo_acronym): Likewise.
32485         (sc_prohibit_cvs_keyword): Likewise.
32486         (sc_prohibit_stat_st_blocks): Likewise.
32487         (sc_prohibit_S_IS_definition): Likewise.
32488         (sc_redundant_const): Likewise.
32489         (sc_makefile_TAB_only_indentation): Likewise.
32490         (sc_m4_quote_check): Likewise.
32491         (sc_makefile_path_separator_check): Likewise.
32492         (sc_copyright_check): Likewise.
32493         (sc_Wundef_boolean): Likewise.
32494         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
32495
32496         maint.mk: match 0 or more whitespace-before-function-call '('
32497         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
32498         that have zero or two-and-more spaces between the function name
32499         and the open parenthesis.
32500         (sc_error_message_warn_fatal): Likewise.
32501         (sc_error_message_uppercase): Likewise.
32502         (sc_error_message_period): Likewise.
32503
32504 2010-03-31  Eric Blake  <eblake@redhat.com>
32505
32506         maint.mk: check for [ as well as test
32507         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
32508         Based on a libvirt report by Matthias Bolte.
32509
32510         gnumakefile: don't squelch _version output
32511         * top/GNUmakefile (_version): Create one-shot dependency rather
32512         than using $(shell) when version must be regenerated.
32513         (_autoreconf): Run verbosely, by default.
32514
32515         sys_time: avoid compiler warnings
32516         * lib/sys_time.in.h (includes): Ensure gcc pragma is
32517         unconditional, fixing regression from 2010-03-29.
32518         Reported by Simon Josefsson.
32519
32520 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32521
32522         maint.mk: s/_header_without_use/_sc_header_without_use/
32523         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
32524         (sc_prohibit_assert_without_use): Use the new name.
32525         (sc_prohibit_close_stream_without_use): Likewise.
32526         (sc_prohibit_getopt_without_use): Likewise.
32527         (sc_prohibit_quotearg_without_use): Likewise.
32528         (sc_prohibit_quote_without_use): Likewise.
32529         (sc_prohibit_long_options_without_use): Likewise.
32530         (sc_prohibit_inttostr_without_use): Likewise.
32531         (sc_prohibit_ignore_value_without_use): Likewise.
32532         (sc_prohibit_error_without_use): Likewise.
32533         (sc_prohibit_xalloc_without_use): Likewise.
32534         (sc_prohibit_hash_without_use): Likewise.
32535         (sc_prohibit_hash_pjw_without_use): Likewise.
32536         (sc_prohibit_safe_read_without_use): Likewise.
32537         (sc_prohibit_argmatch_without_use): Likewise.
32538         (sc_prohibit_canonicalize_without_use): Likewise.
32539         (sc_prohibit_root_dev_ino_without_use): Likewise.
32540         (sc_prohibit_openat_without_use): Likewise.
32541         (sc_prohibit_c_ctype_without_use): Likewise.
32542         (sc_prohibit_signal_without_use): Likewise.
32543         (sc_prohibit_intprops_without_use): Likewise.
32544
32545 2010-03-30  Eric Blake  <eblake@redhat.com>
32546
32547         maint: improve module indicators
32548         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
32549         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
32550         columns, and avoid extra macro expansion.
32551
32552         fdopendir: work around FreeBSD bug
32553         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
32554         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
32555         * modules/dirent (Makefile.am): Substitute it.
32556         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
32557         declaration.
32558         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
32559         fix.
32560         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32561
32562 2010-03-29  Bruno Haible  <bruno@clisp.org>
32563
32564         Emit #pragma system_header after the inclusion guard, not before.
32565         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
32566         guard that spans the entire file, not before. This enables an
32567         optimization in GCC's preprocessor.
32568         * lib/ctype.in.h: Likewise.
32569         * lib/dirent.in.h: Likewise.
32570         * lib/errno.in.h: Likewise.
32571         * lib/float.in.h: Likewise.
32572         * lib/getopt.in.h: Likewise.
32573         * lib/iconv.in.h: Likewise.
32574         * lib/langinfo.in.h: Likewise.
32575         * lib/locale.in.h: Likewise.
32576         * lib/math.in.h: Likewise.
32577         * lib/netdb.in.h: Likewise.
32578         * lib/netinet_in.in.h: Likewise.
32579         * lib/pty.in.h: Likewise.
32580         * lib/sched.in.h: Likewise.
32581         * lib/se-selinux.in.h: Likewise.
32582         * lib/search.in.h: Likewise.
32583         * lib/spawn.in.h: Likewise.
32584         * lib/stdarg.in.h: Likewise.
32585         * lib/stdint.in.h: Likewise.
32586         * lib/string.in.h: Likewise.
32587         * lib/strings.in.h: Likewise.
32588         * lib/sys_file.in.h: Likewise.
32589         * lib/sys_ioctl.in.h: Likewise.
32590         * lib/sys_time.in.h: Likewise.
32591         * lib/sys_times.in.h: Likewise.
32592         * lib/sys_utsname.in.h: Likewise.
32593         * lib/sys_wait.in.h: Likewise.
32594         * lib/sysexits.in.h: Likewise.
32595         * lib/wctype.in.h: Likewise.
32596
32597 2010-03-28  James Youngman  <jay@gnu.org>
32598
32599         save-cwd: don't leak a file descriptor when the caller execs.
32600         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
32601         saved file descriptor.
32602         * modules/save-cwd (Depends-on): Depend on cloexec.
32603
32604 2010-03-29  Bruno Haible  <bruno@clisp.org>
32605
32606         Remove vestiges of fts-lgpl module.
32607         * lib/fts_.h: Assume GNULIB_FTS is 1.
32608         * lib/fts.c: Likewise.
32609         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32610
32611 2010-03-28  Bruno Haible  <bruno@clisp.org>
32612
32613         Fix definition of tests witness macro.
32614         * gnulib-tool (func_import): Fix definition of witness macro.
32615
32616 2010-03-28  Bruno Haible  <bruno@clisp.org>
32617
32618         Fix ioctl's protoype on glibc systems.
32619         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
32620         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
32621         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
32622         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
32623         signature. If not, arrange to replace the ioctl function.
32624         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32625         REPLACE_IOCTL.
32626         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
32627         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
32628         Reported by Ludovic Courtès <ludo@gnu.org>.
32629
32630 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
32631
32632         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
32633         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
32634         made it so grep -r --include=GLOB* ... did not work.
32635
32636 2010-03-26  Jim Meyering  <meyering@redhat.com>
32637             Eric Blake  <eblake@redhat.com>
32638
32639         maint.mk: prohibit use of test's -o and -a operators
32640         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
32641
32642 2010-03-28  Bruno Haible  <bruno@clisp.org>
32643
32644         Remove unused GNULIB_XYZ macro definitions.
32645         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
32646         invocation.
32647
32648 2010-03-28  Bruno Haible  <bruno@clisp.org>
32649
32650         Mark privileged tests modules.
32651         * modules/idpriv-drop-tests (Status): New section.
32652         * modules/idpriv-droptemp-tests (Status): New section.
32653
32654 2010-03-28  Bruno Haible  <bruno@clisp.org>
32655
32656         Split C++ tests into separate tests modules.
32657         * modules/dirent-c++-tests: New file, extracted from
32658         modules/dirent-tests.
32659         * modules/dirent-tests: Depend on it.
32660         * modules/fcntl-h-c++-tests: New file, extracted from
32661         modules/fcntl-h-tests.
32662         * modules/fcntl-h-tests: Depend on it.
32663         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
32664         * modules/glob-tests: Depend on it.
32665         * modules/iconv-h-c++-tests: New file, extracted from
32666         modules/iconv-h-tests.
32667         * modules/iconv-h-tests: Depend on it.
32668         * modules/langinfo-c++-tests: New file, extracted from
32669         modules/langinfo-tests.
32670         * modules/langinfo-tests: Depend on it.
32671         * modules/locale-c++-tests: New file, extracted from
32672         modules/locale-tests.
32673         * modules/locale-tests: Depend on it.
32674         * modules/math-c++-tests: New file, extracted from modules/math-tests.
32675         * modules/math-tests: Depend on it.
32676         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
32677         * modules/pty-tests: Depend on it.
32678         * modules/search-c++-tests: New file, extracted from
32679         modules/search-tests.
32680         * modules/search-tests: Depend on it.
32681         * modules/signal-c++-tests: New file, extracted from
32682         modules/signal-tests.
32683         * modules/signal-tests: Depend on it.
32684         * modules/spawn-c++-tests: New file, extracted from
32685         modules/spawn-tests.
32686         * modules/spawn-tests: Depend on it.
32687         * modules/stdio-c++-tests: New file, extracted from
32688         modules/stdio-tests.
32689         * modules/stdio-tests: Depend on it.
32690         * modules/stdlib-c++-tests: New file, extracted from
32691         modules/stdlib-tests.
32692         * modules/stdlib-tests: Depend on it.
32693         * modules/string-c++-tests: New file, extracted from
32694         modules/string-tests.
32695         * modules/string-tests: Depend on it.
32696         * modules/sys_ioctl-c++-tests: New file, extracted from
32697         modules/sys_ioctl-tests.
32698         * modules/sys_ioctl-tests: Depend on it.
32699         * modules/sys_select-c++-tests: New file, extracted from
32700         modules/sys_select-tests.
32701         * modules/sys_select-tests: Depend on it.
32702         * modules/sys_socket-c++-tests: New file, extracted from
32703         modules/sys_socket-tests.
32704         * modules/sys_socket-tests: Depend on it.
32705         * modules/sys_stat-c++-tests: New file, extracted from
32706         modules/sys_stat-tests.
32707         * modules/sys_stat-tests: Depend on it.
32708         * modules/sys_time-c++-tests: New file, extracted from
32709         modules/sys_time-tests.
32710         * modules/sys_time-tests: Depend on it.
32711         * modules/time-c++-tests: New file, extracted from modules/time-tests.
32712         * modules/time-tests: Depend on it.
32713         * modules/unistd-c++-tests: New file, extracted from
32714         modules/unistd-tests.
32715         * modules/unistd-tests: Depend on it.
32716         * modules/wchar-c++-tests: New file, extracted from
32717         modules/wchar-tests.
32718         * modules/wchar-tests: Depend on it.
32719         * modules/wctype-c++-tests: New file, extracted from
32720         modules/wctype-tests.
32721         * modules/wctype-tests: Depend on it.
32722         Reported by Simon Josefsson.
32723
32724 2010-03-28  Bruno Haible  <bruno@clisp.org>
32725
32726         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
32727         * gnulib-tool (func_exists_module): New function, extracted from
32728         func_verify_module.
32729         (func_verify_module): Use it.
32730         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
32731         'foo' only if 'foo' exists.
32732         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
32733         module.
32734
32735 2010-03-28  Bruno Haible  <bruno@clisp.org>
32736
32737         gnulib-tool: Add support for special categories of tests.
32738         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
32739         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
32740         (func_usage): Document them.
32741         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
32742         inc_unportable_tests, inc_all_tests): New variables.
32743         (func_acceptable): Consider these variables.
32744         (func_modules_transitive_closure): Make it work when the 'Status' field
32745         consists of multiple words.
32746         (func_import): Store and restore the values of inc_cxx_tests,
32747         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
32748         inc_all_tests in gnulib-comp.m4.
32749         (func_create_testdir): Set inc_all_tests to true.
32750         * doc/gnulib.texi (Extra tests modules): New section.
32751         Suggested by Jim Meyering.
32752
32753 2010-03-28  Bruno Haible  <bruno@clisp.org>
32754
32755         ansi-c++-opt: Allow turning off the C++ build by default.
32756         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
32757         gl_CXX_CHOICE_DEFAULT_NO is defined.
32758         Requested by Eric Blake.
32759
32760 2010-03-28  Bruno Haible  <bruno@clisp.org>
32761
32762         unistd: Avoid #define replacements in C++ mode.
32763         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
32764         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
32765         setsockopt, shutdown, select): In C++, attach a warning to the function
32766         if possible, rather than #defining the symbol to a dysfunctional alias.
32767         Reported by John W. Eaton <jwe@gnu.org>.
32768
32769 2010-03-28  Bruno Haible  <bruno@clisp.org>
32770
32771         Fix link errors on mingw.
32772         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
32773         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
32774         $(LIBSOCKET).
32775         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
32776         $(LIBSOCKET).
32777
32778 2010-03-28  Bruno Haible  <bruno@clisp.org>
32779             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32780
32781         lib-ignore: Determine different options for different compilers.
32782         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
32783         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
32784         Add comments.
32785         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
32786         * NEWS: Mention the change.
32787
32788 2010-03-27  Bruno Haible  <bruno@clisp.org>
32789
32790         Remove unused GNULIB_XYZ macro definitions.
32791         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32792         * modules/fseek (configure.ac): Likewise.
32793         * modules/ioctl (configure.ac): Likewise.
32794         * modules/open (configure.ac): Likewise.
32795         * modules/stdlib-safer (configure.ac): Likewise.
32796
32797 2010-03-27  Bruno Haible  <bruno@clisp.org>
32798
32799         Add a remark about certain modules.
32800         * modules/malloc (Comment): New section.
32801         * modules/realloc (Comment): Likewise.
32802         * modules/sigpipe (Comment): Likewise.
32803
32804 2010-03-27  Bruno Haible  <bruno@clisp.org>
32805
32806         Resolve conflict between the two kinds of module indicators.
32807         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
32808         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
32809         * modules/canonicalize (configure.ac): Invoke
32810         gl_MODULE_INDICATOR_FOR_TESTS.
32811         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
32812         GNULIB_XYZ.
32813         * tests/test-dirent-c++.cc: Likewise.
32814         * tests/test-dirent-safer.c: Likewise.
32815         * tests/test-dup2.c: Likewise.
32816         * tests/test-fchdir.c: Likewise.
32817         * tests/test-fcntl-h-c++.cc: Likewise.
32818         * tests/test-getopt.c: Likewise.
32819         * tests/test-getopt.h: Likewise.
32820         * tests/test-langinfo-c++.cc: Likewise.
32821         * tests/test-locale-c++.cc: Likewise.
32822         * tests/test-math-c++.cc: Likewise.
32823         * tests/test-pty-c++.cc: Likewise.
32824         * tests/test-search-c++.cc: Likewise.
32825         * tests/test-signal-c++.cc: Likewise.
32826         * tests/test-spawn-c++.cc: Likewise.
32827         * tests/test-stdio-c++.cc: Likewise.
32828         * tests/test-stdlib-c++.cc: Likewise.
32829         * tests/test-string-c++.cc: Likewise.
32830         * tests/test-sys_ioctl-c++.cc: Likewise.
32831         * tests/test-sys_select-c++.cc: Likewise.
32832         * tests/test-sys_socket-c++.cc: Likewise.
32833         * tests/test-sys_stat-c++.cc: Likewise.
32834         * tests/test-sys_time-c++.cc: Likewise.
32835         * tests/test-time-c++.cc: Likewise.
32836         * tests/test-unistd-c++.cc: Likewise.
32837         * tests/test-wchar-c++.cc: Likewise.
32838         * tests/uninorm/test-u8-nfc.c: Likewise.
32839         * tests/uninorm/test-u8-nfd.c: Likewise.
32840         * tests/uninorm/test-u8-nfkc.c: Likewise.
32841         * tests/uninorm/test-u8-nfkd.c: Likewise.
32842         * tests/uninorm/test-u16-nfc.c: Likewise.
32843         * tests/uninorm/test-u16-nfd.c: Likewise.
32844         * tests/uninorm/test-u16-nfkc.c: Likewise.
32845         * tests/uninorm/test-u16-nfkd.c: Likewise.
32846         * tests/uninorm/test-u32-nfc.c: Likewise.
32847         * tests/uninorm/test-u32-nfc-big.c: Likewise.
32848         * tests/uninorm/test-u32-nfd.c: Likewise.
32849         * tests/uninorm/test-u32-nfd-big.c: Likewise.
32850         * tests/uninorm/test-u32-nfkc.c: Likewise.
32851         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
32852         * tests/uninorm/test-u32-nfkd.c: Likewise.
32853         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
32854         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32855
32856 2010-03-27  Bruno Haible  <bruno@clisp.org>
32857
32858         Distinguish two kinds of module indicators.
32859         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
32860         gl_MODULE_INDICATOR.
32861         (gl_MODULE_INDICATOR): New macro.
32862         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32863         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
32864         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32865         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32866         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32867         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32868         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32869         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32870         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32871         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32872         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32873         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32874         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32875         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32876         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32877         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32878         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32879         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32880         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32881         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32882         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32883         * modules/cloexec (configure.ac): Likewise.
32884         * modules/getopt-gnu (configure.ac): Likewise.
32885         * modules/uninorm/u8-normalize (configure.ac): Likewise.
32886         * modules/uninorm/u16-normalize (configure.ac): Likewise.
32887         * modules/uninorm/u32-normalize (configure.ac): Likewise.
32888         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
32889
32890 2010-03-27  Bruno Haible  <bruno@clisp.org>
32891
32892         New module description field 'Comment'.
32893         * gnulib-tool: New option --extract-comment.
32894         (func_usage): Document it.
32895         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
32896         (func_get_comment): New function.
32897         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
32898
32899 2010-03-27  Bruno Haible  <bruno@clisp.org>
32900
32901         Addendum to 2010-02-07 commit.
32902         * gnulib-tool (func_usage): Document --extract-applicability option.
32903
32904 2010-03-27  Bruno Haible  <bruno@clisp.org>
32905
32906         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
32907         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
32908         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
32909         rather than link errors.
32910
32911 2010-03-27  Bruno Haible  <bruno@clisp.org>
32912
32913         Avoid side effects from tests-related modules on the compilation of lib.
32914         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
32915         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
32916         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
32917         parameter. Emit into AM_CPPFLAGS a definition of the designated C
32918         macro.
32919         (func_import): Define a witness macro. Assign it a value that depends
32920         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
32921         tests-related modules.
32922         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
32923         Reported by Jim Meyering.
32924
32925 2010-03-27  Bruno Haible  <bruno@clisp.org>
32926
32927         Factorize common .m4 code.
32928         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
32929         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
32930         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
32931         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
32932         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32933         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
32934         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
32935         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32936         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32937         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32938         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
32939         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32940         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32941         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32942         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32943         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
32944         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32945         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32946         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32947         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
32948         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
32949         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32950         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32951         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32952         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32953         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32954         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
32955         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
32956         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
32957         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32958         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32959         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32960
32961 2010-03-27  Bruno Haible  <bruno@clisp.org>
32962
32963         Fix a compilation error on Cygwin with g++ >= 4.3.
32964         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
32965         if it is undefined or if we alias it to chmod.
32966         (lstat): Don't warn about the use of this function if it is undefined
32967         or if we alias it to stat.
32968         Reported by Simon Josefsson.
32969
32970 2010-03-27  Bruno Haible  <bruno@clisp.org>
32971
32972         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
32973         * modules/getlogin (configure.ac): Update.
32974
32975         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
32976         * modules/getlogin_r (configure.ac): Update.
32977
32978         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
32979         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
32980         * modules/inet_ntop (configure.ac): Update.
32981
32982         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
32983         * modules/inet_pton (configure.ac): Update.
32984
32985         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
32986         * modules/mbslen (configure.ac): Update.
32987
32988         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
32989         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
32990         * modules/forkpty (configure.ac): Update.
32991         * modules/openpty (configure.ac): Update.
32992
32993 2010-03-26  Simon Josefsson  <simon@josefsson.org>
32994
32995         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
32996         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
32997
32998 2010-03-25  Eric Blake  <eblake@redhat.com>
32999
33000         maint: use pragma consistently across replacement headers
33001         * lib/ctype.in.h (system_header): Hoist for consistent placement.
33002         * lib/dirent.in.h (system_header): Likewise.
33003         * lib/errno.in.h (system_header): Likewise.
33004         * lib/float.in.h (system_header): Likewise.
33005         * lib/getopt.in.h (system_header): Likewise.
33006         * lib/iconv.in.h (system_header): Likewise.
33007         * lib/inttypes.in.h (system_header): Likewise.
33008         * lib/langinfo.in.h (system_header): Likewise.
33009         * lib/locale.in.h (system_header): Likewise.
33010         * lib/math.in.h (system_header): Likewise.
33011         * lib/netdb.in.h (system_header): Likewise.
33012         * lib/netinet_in.in.h (system_header): Likewise.
33013         * lib/pty.in.h (system_header): Likewise.
33014         * lib/sched.in.h (system_header): Likewise.
33015         * lib/se-selinux.in.h (system_header): Likewise.
33016         * lib/search.in.h (system_header): Likewise.
33017         * lib/spawn.in.h (system_header): Likewise.
33018         * lib/stdarg.in.h (system_header): Likewise.
33019         * lib/stdint.in.h (system_header): Likewise.
33020         * lib/string.in.h (system_header): Likewise.
33021         * lib/strings.in.h (system_header): Likewise.
33022         * lib/sys_file.in.h (system_header): Likewise.
33023         * lib/sys_ioctl.in.h (system_header): Likewise.
33024         * lib/sys_socket.in.h (system_header): Likewise.
33025         * lib/sys_times.in.h (system_header): Likewise.
33026         * lib/sys_utsname.in.h (system_header): Likewise.
33027         * lib/sys_wait.in.h (system_header): Likewise.
33028         * lib/sysexits.in.h (system_header): Likewise.
33029         * lib/unistd.in.h (system_header): Likewise.
33030         * lib/wctype.in.h (system_header): Likewise.
33031
33032         arpa/inet: fix mingw compilation warning
33033         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
33034         Reported by Matthew Bolte.
33035
33036 2010-03-25  Bruno Haible  <bruno@clisp.org>
33037
33038         Avoid collision between gnulib wrapper and libintl wrapper.
33039         * lib/printf.c (printf): Don't define if a printf wrapper is already
33040         defined in intl/printf.c.
33041         Reported by Michel Boaventura <michel@michelboaventura.com>.
33042
33043 2010-03-25  Bruno Haible  <bruno@clisp.org>
33044
33045         Use ANSI C.
33046         * lib/readutmp.h (getutent): Provide ANSI C prototype.
33047
33048 2010-03-25  Bruno Haible  <bruno@clisp.org>
33049
33050         Minor formatting changes.
33051         * lib/acosl.c: Insert space before function argument list.
33052         * lib/argz.c: Likewise.
33053         * lib/asinl.c: Likewise.
33054         * lib/expl.c: Likewise.
33055         * lib/gen-uni-tables.c: Likewise.
33056         * lib/gettext.h: Likewise.
33057         * lib/glthread/lock.h: Likewise.
33058         * lib/tanl.c: Likewise.
33059         * lib/uniname/uniname.c: Likewise.
33060         * tests/test-idpriv-drop.c: Likewise.
33061         * tests/test-idpriv-droptemp.c: Likewise.
33062         * tests/test-lock.c: Likewise.
33063         * tests/test-tls.c: Likewise.
33064         * lib/argp-help.c: Insert space before function-like macro argument
33065         list.
33066         * lib/memcmp.c: Likewise.
33067         * tests/test-base64.c: Likewise.
33068         * lib/localename.c: Insert space before sizeof's argument list.
33069         * lib/safe-alloc.h: Likewise.
33070         * lib/file-set.h: Insert space before macro argument list.
33071         * tests/test-argp.c: Likewise.
33072         * lib/argp-namefrob.h: Insert space before function parameter list.
33073         * lib/getaddrinfo.c: Likewise.
33074         * lib/netdb.in.h: Likewise.
33075         * lib/parse-duration.h: Likewise.
33076         * lib/parse-duration.c: Likewise.
33077         * lib/poll.c: Likewise.
33078         * lib/select.c: Likewise.
33079         * lib/trim.h: Likewise.
33080         * tests/test-usleep.c: Likewise.
33081         * lib/ldexpl.c: Insert space before function parameter list and before
33082         function argument list.
33083         * lib/logl.c: Likewise.
33084         * lib/sqrtl.c: Likewise.
33085         * lib/trim.c: Likewise.
33086         * lib/cosl.c: Use GNU style indentation. Insert space before function
33087         argument list.
33088         * lib/sinl.c: Likewise.
33089         * lib/tsearch.c: Insert space after 'for'.
33090         Reported by Jim Meyering.
33091
33092 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
33093
33094         * maint.mk (sc_Wundef_boolean): Check for the presence of the
33095         config header before grepping, as it's not present before
33096         autoreconf/configure are run.  Reported by Simon Josefsson.
33097
33098 2010-03-23  Bruno Haible  <bruno@clisp.org>
33099
33100         pt_chown: Make it work with automake < 1.11.
33101         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
33102         Reported by Simon Josefsson.
33103
33104 2010-03-23  Bruno Haible  <bruno@clisp.org>
33105
33106         pt_chown: Don't depend on GPLed modules.
33107         * lib/pt_chown.c: Don't include idpriv.h.
33108         (main): Don't drop privileges.
33109         * modules/pt_chown (Depends-on): Remove idpriv-drop.
33110         Reported by Simon Josefsson.
33111
33112 2010-03-24  Simon Josefsson  <simon@josefsson.org>
33113
33114         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
33115         suggestions from karl@freefriends.org (Karl Berry).
33116
33117 2010-03-22  Eric Blake  <eblake@redhat.com>
33118
33119         gethostname: further tweaks
33120         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
33121         are overriding gethostname.
33122         Suggested by Bruno Haible.
33123
33124 2010-03-21  Bruno Haible  <bruno@clisp.org>
33125
33126         Fix comments.
33127         * lib/forkpty.c (rpl_forkpty): Fix comment.
33128         * lib/openpty.c (rpl_openpty): Likewise.
33129         Reported by Eric Blake.
33130
33131 2010-03-22  Eric Blake  <eblake@redhat.com>
33132
33133         gethostname: fix build on mingw
33134         * lib/unistd.in.h (includes): Work around fact that mingw
33135         <winsock2.h> re-includes <unistd.h>, by avoiding any
33136         redeclarations if we are being included by <winsock2.h>.
33137         Reported by Matthias Bolte.
33138
33139 2010-03-21  Bruno Haible  <bruno@clisp.org>
33140
33141         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33142         * lib/forkpty.c (forkpty): New replacement function, from glibc with
33143         modifications.
33144         * lib/pty.in.h (forkpty): Update declaration. Add comments.
33145         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
33146         provide the replacement.
33147         * modules/forkpty (Depends-on): Add openpty, login_tty.
33148         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
33149         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
33150         * doc/glibc-functions/forkpty.texi: More supported platforms.
33151         * config/srclist.txt: Add forkpty.c (commented).
33152
33153 2010-03-21  Bruno Haible  <bruno@clisp.org>
33154
33155         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
33156         (Makefile.am): Verify that PTY_LIB is defined.
33157
33158         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
33159
33160 2010-03-21  Bruno Haible  <bruno@clisp.org>
33161
33162         Tests for module 'login_tty'.
33163         * modules/login_tty-tests: New file.
33164         * tests/test-login_tty.c: New file.
33165
33166         New module 'login_tty'.
33167         * lib/login_tty.c: New file.
33168         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
33169         * modules/login_tty: New file.
33170         * doc/glibc-functions/login_tty.texi: Mention the new module.
33171
33172 2010-03-21  Bruno Haible  <bruno@clisp.org>
33173
33174         login_tty: Documentation.
33175         * doc/glibc-functions/login_tty.texi: New file.
33176         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
33177
33178 2010-03-21  Bruno Haible  <bruno@clisp.org>
33179
33180         pty: Consistent macro naming.
33181         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
33182         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
33183         * modules/pty (configure.ac): Update.
33184
33185 2010-03-21  Bruno Haible  <bruno@clisp.org>
33186
33187         Tests for openpty: Make stricter.
33188         * tests/test-openpty.c (main): Add test of canonical processing and
33189         erase.
33190         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
33191
33192         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33193         * lib/openpty.c (openpty): New replacement function.
33194         * lib/pty.in.h: Include <termios.h>.
33195         (openpty): Update declaration. Add comments.
33196         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
33197         is not declared, arrange to provide the replacement. Check for _getpty
33198         and posix_openpt.
33199         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
33200         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
33201         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
33202         * modules/pty-tests (test_pty_c___LDADD): New variable.
33203         * doc/glibc-functions/openpty.texi: More supported platforms.
33204
33205 2010-03-21  Bruno Haible  <bruno@clisp.org>
33206
33207         setenv: Tweaks.
33208         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
33209         the test program.
33210         * doc/posix-functions/setenv.texi: Update platforms list.
33211
33212 2010-03-21  Bruno Haible  <bruno@clisp.org>
33213
33214         New module 'unlockpt'.
33215         * lib/unlockpt.c: New file, from glibc with modifications.
33216         * m4/unlockpt.m4: New file.
33217         * modules/unlockpt: New file.
33218         * lib/stdlib.in.h (unlockpt): New declaration.
33219         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
33220         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
33221         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
33222         HAVE_UNLOCKPT.
33223         * doc/posix-functions/unlockpt.texi: Mention the new module.
33224         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
33225         * config/srclist.txt: Add unlockpt.c (commented).
33226
33227 2010-03-21  Jim Meyering  <meyering@redhat.com>
33228
33229         maint.mk: prohibit inclusion of "intprops.h" without use
33230         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
33231
33232 2010-03-21  Bruno Haible  <bruno@clisp.org>
33233
33234         New module 'grantpt'.
33235         * lib/grantpt.c: New file, from glibc with modifications.
33236         * m4/grantpt.m4: New file.
33237         * modules/grantpt: New file.
33238         * lib/stdlib.in.h (grantpt): New declaration.
33239         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
33240         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
33241         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
33242         HAVE_GRANTPT.
33243         * doc/posix-functions/grantpt.texi: Mention the new module.
33244         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
33245         * config/srclist.txt: Add grantpt.c (commented).
33246
33247 2010-03-21  Bruno Haible  <bruno@clisp.org>
33248
33249         New module 'pt_chown'.
33250         * lib/pt_chown.c: New file, from glibc with modifications.
33251         * lib/pty-private.h: New file, from glibc with modifications.
33252         * modules/pt_chown: New file.
33253         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
33254
33255 2010-03-21  Bruno Haible  <bruno@clisp.org>
33256
33257         Tests for module 'ptsname'.
33258         * modules/ptsname-tests: New file.
33259         * tests/test-ptsname.c: New file.
33260
33261         New module 'ptsname'.
33262         * lib/ptsname.c: New file, from glibc with modifications.
33263         * m4/ptsname.m4: New file.
33264         * modules/ptsname: New file.
33265         * lib/stdlib.in.h (ptsname): New declaration.
33266         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
33267         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
33268         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
33269         HAVE_PTSNAME.
33270         * doc/posix-functions/ptsname.texi: Mention the new module.
33271         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
33272         * config/srclist.txt: Add ptsname.c (commented).
33273
33274 2010-03-21  Bruno Haible  <bruno@clisp.org>
33275
33276         Tests for module 'ttyname_r'.
33277         * modules/ttyname_r-tests: New file.
33278         * tests/test-ttyname_r.c: New file.
33279
33280         New module 'ttyname_r'.
33281         * lib/ttyname_r.c: New file.
33282         * m4/ttyname_r.m4: New file.
33283         * modules/ttyname_r: New file.
33284         * lib/unistd.in.h (ttyname_r): New declaration.
33285         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
33286         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
33287         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
33288         HAVE_TTYNAME_R.
33289         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
33290         * doc/posix-functions/ttyname_r.texi: Mention the new module.
33291
33292 2010-03-20  Bruno Haible  <bruno@clisp.org>
33293
33294         signal: Undefine macro definitions in C++ mode.
33295         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
33296         sigfillset): Undefine macro definitions from the system header in C++
33297         mode.
33298         Reported by John W. Eaton <jwe@gnu.org>.
33299
33300 2010-03-20  Bruno Haible  <bruno@clisp.org>
33301
33302         Ensure no #include statements inside extern "C" { ... }.
33303         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
33304         contain #include statements.
33305         * lib/time.in.h: Likewise.
33306
33307 2010-03-20  Bruno Haible  <bruno@clisp.org>
33308
33309         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
33310         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
33311         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
33312         Reported by John W. Eaton <jwe@gnu.org>.
33313
33314 2010-03-20  Bruno Haible  <bruno@clisp.org>
33315
33316         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
33317         Reported by Jim Meyering.
33318
33319 2010-03-20  Bruno Haible  <bruno@clisp.org>
33320
33321         pipe: Set errno upon failure.
33322         * lib/pipe.h: Specify that when -1 is returned, errno is set.
33323         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
33324         errno value in error message.
33325
33326 2010-03-20  Bruno Haible  <bruno@clisp.org>
33327             Jim Meyering  <meyering@redhat.com>
33328
33329         lchown: Avoid "unused variable" warning.
33330         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
33331
33332 2010-03-20  Bruno Haible  <bruno@clisp.org>
33333
33334         Work around unlink() bug on MacOS X 10.5.6.
33335         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
33336         attempting to unlink a parent directory.
33337         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
33338         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
33339         activate for the replacement function.
33340         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
33341
33342 2010-03-20  Bruno Haible  <bruno@clisp.org>
33343
33344         Fix link errors on Solaris 8.
33345         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
33346         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
33347
33348 2010-03-19  Jim Meyering  <meyering@redhat.com>
33349
33350         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
33351         The _LIBC implementation of build_range_exp correctly honors the
33352         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
33353         However, the non-_LIBC implementation would ignore that syntax-bit
33354         flag and return REG_ERANGE unconditionally.
33355         This change makes it honor that flag.
33356         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
33357         Make two pointer parameters "const".
33358         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
33359         (parse_bracket_exp): Update caller.
33360
33361         regex.m4: correct the reversed range endpoint ([b-a]) test
33362         * m4/regex.m4: When requiring that [b-a] evoke failure,
33363         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
33364         test pass once again for x86-based systems.
33365
33366 2010-03-19  Bruno Haible  <bruno@clisp.org>
33367
33368         scandir: Fix link error on Solaris 8.
33369         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
33370         macros.
33371
33372 2010-03-19  Bruno Haible  <bruno@clisp.org>
33373
33374         getusershell: Fix documentation.
33375         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
33376         module.
33377         * doc/glibc-functions/setusershell.texi: Likewise.
33378
33379         getusershell: Provide declaration, missing on Solaris 9.
33380         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
33381         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
33382         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
33383         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
33384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33385         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
33386         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
33387         HAVE_GETUSERSHELL.
33388         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
33389
33390 2010-03-19  Bruno Haible  <bruno@clisp.org>
33391
33392         wctype: Provide iswblank function.
33393         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
33394         exists and is fine.
33395         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
33396         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
33397         * tests/test-wctype.c (main): Re-enable the iswblank tests.
33398         * doc/posix-functions/iswblank.texi: Update.
33399
33400 2010-03-19  Bruno Haible  <bruno@clisp.org>
33401
33402         Tests of module 'pty' in C++ mode.
33403         * modules/pty-tests: New file.
33404         * tests/test-pty-c++.cc: New file.
33405         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33406
33407 2010-03-19  Eric Blake  <eblake@redhat.com>
33408
33409         logb: fix documentation
33410         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
33411         1.5 declaration bug.
33412
33413         forkpty, openpty: prefer glibc's const-safe prototype
33414         * lib/forkpty.c (rpl_forkpty): New file.
33415         * lib/openpty.c (rpl_openpty): Likewise.
33416         * modules/forkpty (Files): Distribute it.
33417         * modules/openpty (Files): Likewise.
33418         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
33419         check...
33420         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
33421         replacement for for non-const BSD signature.
33422         * modules/pty (Makefile.am): Substitute witnesses.
33423         * lib/pty.in.h (forkpty, openpty): Declare replacements.
33424         * tests/test-forkpty.c: Update signature check.
33425         * tests/test-openpty.c: Likewise.
33426         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
33427         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33428
33429         forkpty, openpty: split functions into new modules
33430         * modules/pty (Makefile.am): Substitute new witnesses.
33431         (Libraries): Move library detection...
33432         * modules/forkpty: ...into new module.
33433         * modules/openpty: Another new module.
33434         * modules/pty-tests: Rename and split...
33435         * modules/forkpty-tests: ...to this...
33436         * modules/openpty-tests: ...and this.
33437         * tests/test-pty.c: Rename and split...
33438         * tests/test-forkpty.c: ...to this...
33439         * tests/test-openpty.c: ...and this.
33440         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
33441         (gl_PTY): Split library searching...
33442         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
33443         (gl_FORKPTY, gl_OPENPTY): New macros.
33444         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
33445         * NEWS: Mention the split.
33446         * MODULES.html.sh (Misc): Document the modules.
33447         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
33448         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33449
33450         pty: improve replacement header
33451         * lib/pty.in.h: New file.
33452         * modules/pty (Files): Ship it.
33453         (Makefile.am): Always build replacement.
33454         * m4/pty.m4: Rename...
33455         * m4/pty_h.m4: ...to this.
33456         (gl_PTY): Modernize setting of witness macros; update check of
33457         forkpty to take proper advantage of cache.
33458         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
33459
33460         getopt: avoid compiler warning
33461         * lib/getopt.c (attribute_hidden): Remove unused macro.
33462
33463 2010-03-18  Bruno Haible  <bruno@clisp.org>
33464
33465         Fix link errors on Solaris 8.
33466         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
33467         * modules/search-tests (test_search_c___LDADD): Likewise.
33468         * modules/signal-tests (test_signal_c___LDADD): Likewise.
33469         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
33470         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
33471         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
33472         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
33473         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
33474         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
33475
33476 2010-03-18  Bruno Haible  <bruno@clisp.org>
33477
33478         Fix bug introduced on 2010-03-14.
33479         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
33480         (gl_SPAWN_H): Require it.
33481         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
33482         Reported by Simon Josefsson.
33483
33484 2010-03-18  Bruno Haible  <bruno@clisp.org>
33485
33486         Fix typo introduced on 2009-12-31.
33487         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
33488         posix_spawn_file_actions_adddup2.
33489
33490 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
33491         and Eric Blake  <eblake@redhat.com>
33492
33493         test-vc-list-files-git: make more robust
33494         * tests/test-vc-list-files-git.sh: Unset problematic environment
33495         variables.  Chain commands together.
33496
33497 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
33498
33499         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
33500         `AC_CHECK_DECL' invocation.
33501
33502 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
33503
33504         * lib/inttostr.c (inttostr): Make sure the invocation of verify
33505         appears before executable statements. Suggested by Petr Sumbera
33506         <Petr.Sumbera@Sun.COM>.
33507
33508 2010-03-14  Bruno Haible  <bruno@clisp.org>
33509
33510         * tests/test-flock.c (test_exclusive): Comment out a test that causes
33511         portability problems. Instead use a simpler test.
33512         (main): Check that invalid arguments are rejected only on Linux.
33513
33514 2010-03-14  Bruno Haible  <bruno@clisp.org>
33515
33516         Fix bug introduced on 2009-12-31.
33517         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33518         gl_PREREQ_SYS_H_WINSOCK2 always.
33519         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
33520         SYS_SOCKET_H variable.
33521         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
33522         Update comments.
33523         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
33524         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33525         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33526         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33527         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
33528
33529 2010-03-14  Bruno Haible  <bruno@clisp.org>
33530
33531         Fix values returned by sinl, cosl.
33532         * lib/trigl.h: Add specification comments.
33533         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
33534         that combines the values from the precomputed table with the values of
33535         the Chebyshev polynomials.
33536
33537 2010-03-14  Bruno Haible  <bruno@clisp.org>
33538
33539         Fix compilation error when modules 'posix_spawn[p]' are not used.
33540         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
33541         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
33542
33543 2010-03-14  Bruno Haible  <bruno@clisp.org>
33544
33545         Fix compilation error on mingw when module 'time_r' is not used.
33546         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
33547         is 1.
33548         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
33549         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33550         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
33551         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
33552
33553 2010-03-14  Bruno Haible  <bruno@clisp.org>
33554
33555         Fix compilation error with Sun C.
33556         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
33557         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
33558         instead of GCC specific ULONG_LONG_MAX.
33559         * lib/xstrtoll.c: Likewise.
33560         * lib/xstrtoull.c: Likewise.
33561
33562 2010-03-13  Bruno Haible  <bruno@clisp.org>
33563
33564         Allow the user to disable C++ code and tests.
33565         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
33566         (gl_PROG_ANSI_CXX): Require it.
33567
33568 2010-03-13  Bruno Haible  <bruno@clisp.org>
33569
33570         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
33571         cases.
33572
33573 2010-03-13  Bruno Haible  <bruno@clisp.org>
33574
33575         Test that gnulib does not break the standard C++ headers.
33576         * tests/test-locale-c++2.cc: New file.
33577         * modules/locale-tests (Files): Add it.
33578         (Makefile.am): Compile it for test-locale-c++.
33579         * tests/test-math-c++2.cc: New file.
33580         * modules/math-tests (Files): Add it.
33581         (Makefile.am): Compile it for test-math-c++.
33582         * tests/test-signal-c++2.cc: New file.
33583         * modules/signal-tests (Files): Add it.
33584         (Makefile.am): Compile it for test-signal-c++.
33585         * tests/test-stdio-c++2.cc: New file.
33586         * modules/stdio-tests (Files): Add it.
33587         (Makefile.am): Compile it for test-stdio-c++.
33588         * tests/test-stdlib-c++2.cc: New file.
33589         * modules/stdlib-tests (Files): Add it.
33590         (Makefile.am): Compile it for test-stdlib-c++.
33591         * tests/test-string-c++2.cc: New file.
33592         * modules/string-tests (Files): Add it.
33593         (Makefile.am): Compile it for test-string-c++.
33594         * tests/test-time-c++2.cc: New file.
33595         * modules/time-tests (Files): Add it.
33596         (Makefile.am): Compile it for test-time-c++.
33597         Reported by John W. Eaton <jwe@gnu.org>.
33598
33599 2010-03-13  Bruno Haible  <bruno@clisp.org>
33600
33601         * gnulib-tool (func_usage): Clarify which options are available for
33602         --create-testdir and --create-megatestdir.
33603
33604 2010-03-13  Bruno Haible  <bruno@clisp.org>
33605
33606         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
33607         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
33608         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
33609         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
33610         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
33611         when appropriate.
33612         Reported by Jim Meyering.
33613
33614 2010-03-12  Simon Josefsson  <simon@josefsson.org>
33615
33616         * gnulib-tool (func_import): Explain origin of code.
33617
33618 2010-03-12  Bruno Haible  <bruno@clisp.org>
33619
33620         Fix problem with automake's definition of CXXLINK.
33621         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
33622         Reported by Simon Josefsson and Ludovic Courtès.
33623
33624 2010-03-12  Bruno Haible  <bruno@clisp.org>
33625
33626         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
33627         stable releases.
33628
33629 2010-03-11  Bruno Haible  <bruno@clisp.org>
33630
33631         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
33632         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
33633         whether the system provides one variant or multiple variants of the
33634         function.
33635         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
33636         C++ compilers.
33637         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
33638         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
33639         Reported by Jim Meyering.
33640
33641 2010-03-09  Simon Josefsson  <simon@josefsson.org>
33642
33643         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
33644
33645 2010-03-08  Bruno Haible  <bruno@clisp.org>
33646
33647         gnulib-tool: Add support for --libtool in --create-testdir.
33648         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
33649         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
33650
33651 2010-03-08  Eric Blake  <eblake@redhat.com>
33652
33653         gnulib-tool.texi: mention possibility of git submodule
33654         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
33655         submodules.
33656         * doc/.gitignore: Ignore another generated file.
33657
33658 2010-03-08  Karl Berry  <karl@gnu.org>
33659
33660         * doc/gnulib-tool.texi (VCS Issues): Mention third option
33661         of committing gnulib files while skipping others.
33662
33663 2010-03-07  Bruno Haible  <bruno@clisp.org>
33664
33665         Tests of module 'wctype' in C++ mode.
33666         * tests/test-wctype-c++.cc: New file.
33667         * modules/wctype-tests (Files): Add it and tests/signature.h.
33668         (Depends-on): Add ansi-c++-opt.
33669         (Makefile.am): Arrange to compile and run test-wctype-c++.
33670
33671         Tests of module 'wchar' in C++ mode.
33672         * tests/test-wchar-c++.cc: New file.
33673         * modules/wchar-tests (Files): Add it and tests/signature.h.
33674         (Depends-on): Add ansi-c++-opt.
33675         (Makefile.am): Arrange to compile and run test-wchar-c++.
33676         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
33677         gl_MODULE_INDICATOR.
33678
33679         Tests of module 'unistd' in C++ mode.
33680         * tests/test-unistd-c++.cc: New file.
33681         * modules/unistd-tests (Files): Add it and tests/signature.h.
33682         (Depends-on): Add ansi-c++-opt.
33683         (Makefile.am): Arrange to compile and run test-unistd-c++.
33684         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
33685         gl_MODULE_INDICATOR.
33686
33687         Tests of module 'time' in C++ mode.
33688         * tests/test-time-c++.cc: New file.
33689         * modules/time-tests (Files): Add it and tests/signature.h.
33690         (Depends-on): Add ansi-c++-opt.
33691         (Makefile.am): Arrange to compile and run test-time-c++.
33692         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33693
33694         Tests of module 'sys_time' in C++ mode.
33695         * tests/test-sys_time-c++.cc: New file.
33696         * modules/sys_time-tests (Files): Add it and tests/signature.h.
33697         (Depends-on): Add ansi-c++-opt.
33698         (Makefile.am): Arrange to compile and run test-sys_time-c++.
33699         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
33700         gl_MODULE_INDICATOR.
33701
33702         Tests of module 'sys_stat' in C++ mode.
33703         * tests/test-sys_stat-c++.cc: New file.
33704         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
33705         (Depends-on): Add ansi-c++-opt.
33706         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
33707         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
33708         gl_MODULE_INDICATOR.
33709
33710         Tests of module 'sys_socket' in C++ mode.
33711         * tests/test-sys_socket-c++.cc: New file.
33712         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
33713         (Depends-on): Add ansi-c++-opt.
33714         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
33715         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
33716         gl_MODULE_INDICATOR.
33717
33718         Tests of module 'sys_select' in C++ mode.
33719         * tests/test-sys_select-c++.cc: New file.
33720         * modules/sys_select-tests (Files): Add it and tests/signature.h.
33721         (Depends-on): Add ansi-c++-opt.
33722         (Makefile.am): Arrange to compile and run test-sys_select-c++.
33723         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
33724         gl_MODULE_INDICATOR.
33725
33726         Tests of module 'sys_ioctl' in C++ mode.
33727         * tests/test-sys_ioctl-c++.cc: New file.
33728         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
33729         (Depends-on): Add ansi-c++-opt.
33730         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
33731         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
33732         gl_MODULE_INDICATOR.
33733
33734         Tests of module 'string' in C++ mode.
33735         * tests/test-string-c++.cc: New file.
33736         * modules/string-tests (Files): Add it and tests/signature.h.
33737         (Depends-on): Add ansi-c++-opt.
33738         (Makefile.am): Arrange to compile and run test-string-c++.
33739         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
33740         gl_MODULE_INDICATOR.
33741
33742         Tests of module 'stdlib' in C++ mode.
33743         * tests/test-stdlib-c++.cc: New file.
33744         * modules/stdlib-tests (Files): Add it and tests/signature.h.
33745         (Depends-on): Add ansi-c++-opt.
33746         (Makefile.am): Arrange to compile and run test-stdlib-c++.
33747         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
33748         gl_MODULE_INDICATOR.
33749
33750         Tests of module 'stdio' in C++ mode.
33751         * tests/test-stdio-c++.cc: New file.
33752         * modules/stdio-tests (Files): Add it and tests/signature.h.
33753         (Depends-on): Add ansi-c++-opt.
33754         (Makefile.am): Arrange to compile and run test-stdio-c++.
33755         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
33756         gl_MODULE_INDICATOR.
33757
33758         Tests of module 'spawn' in C++ mode.
33759         * tests/test-spawn-c++.cc: New file.
33760         * modules/spawn-tests (Files): Add it and tests/signature.h.
33761         (Depends-on): Add ansi-c++-opt.
33762         (Makefile.am): Arrange to compile and run test-spawn-c++.
33763         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
33764         gl_MODULE_INDICATOR.
33765
33766         Tests of module 'signal' in C++ mode.
33767         * tests/test-signal-c++.cc: New file.
33768         * modules/signal-tests (Files): Add it and tests/signature.h.
33769         (Depends-on): Add ansi-c++-opt.
33770         (Makefile.am): Arrange to compile and run test-signal-c++.
33771         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
33772         gl_MODULE_INDICATOR.
33773
33774         Tests of module 'search' in C++ mode.
33775         * tests/test-search-c++.cc: New file.
33776         * modules/search-tests (Files): Add it and tests/signature.h.
33777         (Depends-on): Add ansi-c++-opt.
33778         (Makefile.am): Arrange to compile and run test-search-c++.
33779         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
33780         gl_MODULE_INDICATOR.
33781
33782         Tests of module 'math' in C++ mode.
33783         * tests/test-math-c++.cc: New file.
33784         * modules/math-tests (Files): Add it and tests/signature.h.
33785         (Depends-on): Add ansi-c++-opt.
33786         (Makefile.am): Arrange to compile and run test-math-c++.
33787         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33788
33789         Tests of module 'locale' in C++ mode.
33790         * tests/test-locale-c++.cc: New file.
33791         * modules/locale-tests (Files): Add it and tests/signature.h.
33792         (Depends-on): Add ansi-c++-opt.
33793         (Makefile.am): Arrange to compile and run test-locale-c++.
33794         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
33795         gl_MODULE_INDICATOR.
33796
33797         Tests of module 'langinfo' in C++ mode.
33798         * tests/test-langinfo-c++.cc: New file.
33799         * modules/langinfo-tests (Files): Add it and tests/signature.h.
33800         (Depends-on): Add ansi-c++-opt.
33801         (Makefile.am): Arrange to compile and run test-langinfo-c++.
33802         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
33803         gl_MODULE_INDICATOR.
33804
33805         Tests of module 'iconv-h' in C++ mode.
33806         * tests/test-iconv-h-c++.cc: New file.
33807         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
33808         (Depends-on): Add ansi-c++-opt.
33809         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
33810
33811         Tests of module 'glob' in C++ mode.
33812         * tests/test-glob-c++.cc: New file.
33813         * modules/glob-tests (Files): Add it.
33814         (Depends-on): Add ansi-c++-opt.
33815         (Makefile.am): Arrange to compile and run test-glob-c++.
33816
33817         Tests of module 'fcntl-h' in C++ mode.
33818         * tests/test-fcntl-h-c++.cc: New file.
33819         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
33820         (Depends-on): Add ansi-c++-opt.
33821         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
33822         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
33823         gl_MODULE_INDICATOR.
33824
33825         Tests of module 'dirent' in C++ mode.
33826         * tests/test-dirent-c++.cc: New file.
33827         * modules/dirent-tests (Files): Add it and tests/signature.h.
33828         (Depends-on): Add ansi-c++-opt.
33829         (Makefile.am): Arrange to compile and run test-dirent-c++.
33830         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33831         gl_MODULE_INDICATOR.
33832
33833         New module 'ansi-c++-opt'.
33834         * modules/ansi-c++-opt: New file.
33835         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
33836
33837         Document C++ namespace mode.
33838         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
33839
33840         wctype: Avoid #define replacements in C++ mode.
33841         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
33842         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
33843         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
33844         In C++, define a namespaced alias symbol.
33845         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
33846         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
33847         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
33848         rule.
33849
33850         wchar: Avoid #define replacements in C++ mode.
33851         * lib/wchar.in.h: Include c++defs.h.
33852         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
33853         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
33854         symbol.
33855         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
33856         * modules/wchar (Depends-on): Add c++defs.
33857         (Makefile.am): Update wchar.h rule.
33858
33859         unistd: Avoid #define replacements in C++ mode.
33860         * lib/unistd.in.h: Include c++defs.h.
33861         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
33862         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
33863         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
33864         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
33865         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
33866         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
33867         symbol.
33868         (environ): Update.
33869         * modules/unistd (Depends-on): Add c++defs.
33870         (Makefile.am): Update unistd.h rule.
33871
33872         time: Avoid #define replacements in C++ mode.
33873         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
33874         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
33875         define a namespaced alias symbol.
33876         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
33877         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
33878         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
33879         * modules/time (Depends-on): Add c++defs, warn-on-use.
33880         (Makefile.am): Update time.h rule.
33881         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33882         * modules/nanosleep (configure.ac): Likewise.
33883         * modules/strptime (configure.ac): Likewise.
33884         * modules/timegm (configure.ac): Likewise.
33885
33886         sys_time: Avoid #define replacements in C++ mode.
33887         * lib/sys_time.in.h: Include c++defs.h.
33888         (gettimeofday): In C++, define a namespaced alias symbol.
33889         * modules/sys_time (Depends-on): Add c++defs.
33890         (Makefile.am): Update sys/time.h rule.
33891
33892         sys_stat: Avoid #define replacements in C++ mode.
33893         * lib/sys_stat.in.h: Include c++defs.h.
33894         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
33895         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
33896         namespaced alias symbol.
33897         In C++, define a namespaced alias symbol.
33898         * modules/sys_stat (Depends-on): Add c++defs.
33899         (Makefile.am): Update sys/stat.h rule.
33900
33901         sys_socket: Avoid #define replacements in C++ mode.
33902         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
33903         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
33904         definitions also when the system has a <sys/socket.h>.
33905         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33906         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
33907         In C++, define a namespaced alias symbol.
33908         * modules/sys_socket (Depends-on): Add c++defs.
33909         (Makefile.am): Update sys/socket.h rule.
33910
33911         sys_select: Avoid #define replacements in C++ mode.
33912         * lib/sys_select.in.h: Include c++defs.h. Enable the function
33913         definitions also when the system has a <sys/select.h>.
33914         (select): In C++, define a namespaced alias symbol.
33915         * modules/sys_select (Depends-on): Add c++defs.
33916         (Makefile.am): Update sys/select.h rule.
33917
33918         sys_ioctl: Avoid #define replacements in C++ mode.
33919         * lib/sys_ioctl.in.h: Include c++defs.h.
33920         (ioctl): In C++, define a namespaced alias symbol.
33921         * modules/sys_ioctl (Depends-on): Add c++defs.
33922         (Makefile.am): Update sys/ioctl.h rule.
33923
33924         string: Avoid #define replacements in C++ mode.
33925         * lib/string.in.h: Include c++defs.h.
33926         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
33927         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33928         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33929         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
33930         strsignal, strverscmp): In C++, define a namespaced alias symbol.
33931         * modules/string (Depends-on): Add c++defs.
33932         (Makefile.am): Update string.h rule.
33933
33934         stdlib: Avoid #define replacements in C++ mode.
33935         * lib/stdlib.in.h: Include c++defs.h.
33936         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
33937         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
33938         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
33939         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
33940         symbol.
33941         * modules/stdlib (Depends-on): Add c++defs.
33942         (Makefile.am): Update stdlib.h rule.
33943
33944         stdio: Avoid #define replacements in C++ mode.
33945         * lib/stdio.in.h: Include c++defs.h.
33946         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
33947         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
33948         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
33949         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
33950         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
33951         namespaced alias symbol.
33952         * modules/stdio (Depends-on): Add c++defs.
33953         (Makefile.am): Update stdio.h rule.
33954
33955         spawn: Avoid #define replacements in C++ mode.
33956         * lib/spawn.in.h: Include c++defs.h.
33957         (posix_spawn, posix_spawnp, posix_spawnattr_init,
33958         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
33959         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
33960         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
33961         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
33962         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
33963         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
33964         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
33965         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
33966         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
33967         In C++, define a namespaced alias symbol.
33968         * modules/spawn (Depends-on): Add c++defs.
33969         (Makefile.am): Update spawn.h rule.
33970
33971         signal: Avoid #define replacements in C++ mode.
33972         * lib/signal.in.h: Include c++defs.h.
33973         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33974         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
33975         namespaced alias symbol.
33976         * modules/signal (Depends-on): Add c++defs.
33977         (Makefile.am): Update signal.h rule.
33978
33979         search: Avoid #define replacements in C++ mode.
33980         * lib/search.in.h: Include c++defs.h.
33981         (_gl_search_compar_fn, _gl_search_action_fn): New types.
33982         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
33983         symbol.
33984         * modules/search (Depends-on): Add c++defs.
33985         (Makefile.am): Update search.h rule.
33986
33987         math: Avoid #define replacements in C++ mode.
33988         * lib/math.in.h: Include c++defs.h.
33989         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
33990         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
33991         trunc, truncl): In C++, define a namespaced alias symbol.
33992         * modules/math (Depends-on): Add c++defs.
33993         (Makefile.am): Update math.h rule.
33994
33995         locale: Avoid #define replacements in C++ mode.
33996         * lib/locale.in.h: Include c++defs.h.
33997         (duplocale): In C++, define a namespaced alias symbol.
33998         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
33999         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
34000         * modules/locale (Depends-on): Add c++defs.
34001         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
34002
34003         langinfo: Avoid #define replacements in C++ mode.
34004         * lib/langinfo.in.h: Include c++defs.h.
34005         (nl_langinfo): In C++, define a namespaced alias symbol.
34006         * modules/langinfo (Depends-on): Add c++defs.
34007         (Makefile.am): Update langinfo.h rule.
34008
34009         iconv-h: Avoid #define replacements in C++ mode.
34010         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
34011         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
34012         symbol.
34013         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34014         whenever iconv is present.
34015         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
34016         (Makefile.am): Update iconv.h rule.
34017
34018         glob: Avoid #define replacements in C++ mode.
34019         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
34020         (_gl_glob_errfunc_fn): New type.
34021         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
34022         symbol.
34023         * modules/glob (Depends-on): Add c++defs, warn-on-use.
34024         (Makefile.am): Update glob.h rule.
34025
34026         fcntl-h: Avoid #define replacements in C++ mode.
34027         * lib/fcntl.in.h: Include c++defs.h.
34028         (fcntl, open, openat): In C++, define a namespaced alias symbol.
34029         * modules/fcntl-h (Depends-on): Add c++defs.
34030         (Makefile.am): Update fcntl.h rule.
34031
34032         dirent: Avoid #define replacements in C++ mode.
34033         * lib/dirent.in.h: Include c++defs.h.
34034         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
34035         namespaced alias symbol.
34036         (dirfd): Update declaration.
34037         * modules/dirent (Depends-on): Add c++defs.
34038         (Makefile.am): Update dirent.h rule.
34039
34040         ctype: Make it usable in C++ code.
34041         * lib/ctype.in.h: Include c++defs.h.
34042         (isblank): Declare as extern "C".
34043         * modules/ctype (Depends-on): Add c++defs.
34044         (Makefile.am): Update ctype.h rule.
34045
34046         New module 'c++defs'.
34047         * modules/c++defs: New file.
34048         * build-aux/c++defs.h: New file.
34049         Reported by John W. Eaton <jwe@gnu.org>.
34050
34051 2010-03-07  Bruno Haible  <bruno@clisp.org>
34052
34053         logb: Provide missing declaration for Cygwin.
34054         * lib/math.in.h (logb): New declaration.
34055         * m4/logb.m4: New file.
34056         * modules/logb (Files): Add m4/logb.m4.
34057         (Depends-on): Add math.
34058         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
34059         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
34060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
34061         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
34062         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
34063
34064 2010-03-07  Bruno Haible  <bruno@clisp.org>
34065
34066         Fix test-cond link error.
34067         * tests/test-cond.c: Include <stdio.h>.
34068
34069 2010-03-07  Bruno Haible  <bruno@clisp.org>
34070
34071         Fix test-dirent-safer link error.
34072         * modules/dirent-safer-tests (Makefile.am): Define
34073         test_dirent_safer_LDADD.
34074
34075 2010-03-07  Bruno Haible  <bruno@clisp.org>
34076
34077         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
34078         among default module list.
34079
34080 2010-03-07  Bruno Haible  <bruno@clisp.org>
34081
34082         Fix link error on platforms with GNU libiconv.
34083         * modules/unistr/u8-strcoll-tests (Makefile): Define
34084         test_u8_strcoll_LDADD.
34085         * modules/unistr/u16-strcoll-tests (Makefile): Define
34086         test_u16_strcoll_LDADD.
34087         * modules/unistr/u32-strcoll-tests (Makefile): Define
34088         test_u32_strcoll_LDADD.
34089
34090 2010-03-07  Bruno Haible  <bruno@clisp.org>
34091
34092         Use POSIX declarations for socket functions.
34093         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
34094         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
34095         rpl_sendto): Change declaration to match POSIX.
34096         * lib/connect.c (rpl_connect): Likewise.
34097         * lib/accept.c (rpl_accept): Likewise.
34098         * lib/bind.c (rpl_bind): Likewise.
34099         * lib/getpeername.c (rpl_getpeername): Likewise.
34100         * lib/getsockname.c (rpl_getsockname): Likewise.
34101         * lib/recv.c (rpl_recv): Likewise.
34102         * lib/send.c (rpl_send): Likewise.
34103         * lib/recvfrom.c (rpl_recvfrom): Likewise.
34104         * lib/sendto.c (rpl_sendto): Likewise.
34105
34106 2010-03-06  Bruno Haible  <bruno@clisp.org>
34107
34108         Clarify access, euidaccess, faccessat.
34109         * doc/posix-functions/faccessat.texi: Mention security problem under
34110         "Other problems", not "Portability problems".
34111         * doc/posix-functions/access.texi: Likewise. Mention a related security
34112         problem.
34113         * doc/glibc-functions/euidaccess.texi: Mention security problems.
34114         * lib/euidaccess.c: Add comments about platforms.
34115         * lib/unistd.in.h (access, euidaccess): Add warnings.
34116
34117 2010-03-07  Bruno Haible  <bruno@clisp.org>
34118
34119         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
34120         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
34121         (POSIX_SPAWN_SETSCHEDULER): Likewise.
34122         (POSIX_SPAWN_USEVFORK): Define in a way that works when
34123         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34124         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
34125         declare when POSIX_SPAWN_SETSCHEDULER is zero.
34126         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
34127         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
34128         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
34129         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
34130         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
34131         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
34132         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
34133         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
34134         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
34135         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
34136         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
34137         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
34138         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
34139         Likewise.
34140         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
34141         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
34142         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
34143         Likewise.
34144         * tests/test-spawn.c (main): Make it work when
34145         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34146
34147 2010-03-07  Bruno Haible  <bruno@clisp.org>
34148
34149         Fix incorrect Makefile.am generation in German locale.
34150         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34151         Execute sed command with character range in C locale.
34152
34153 2010-03-06  Bruno Haible  <bruno@clisp.org>
34154
34155         Tests for module 'iconv-h'.
34156         * modules/iconv-h-tests: New file.
34157         * tests/test-iconv-h.c: New file.
34158
34159         New module 'iconv-h'.
34160         * modules/iconv-h: New file.
34161         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
34162         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
34163         (configure.ac): Remove gl_ICONV_H.
34164         (Makefile.am): Remove rule for iconv.h.
34165
34166 2010-03-06  Bruno Haible  <bruno@clisp.org>
34167
34168         More consistent naming of *.m4 files.
34169         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
34170         * modules/wctype (Files): Update.
34171
34172         More consistent naming of *.m4 files.
34173         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
34174         * modules/wchar (Files): Update.
34175
34176 2010-03-06  Jim Meyering  <meyering@redhat.com>
34177
34178         euidaccess: relax license to LGPLv2+
34179         * modules/euidaccess (License): Relax to LGPLv2+.
34180
34181 2010-03-06  Bruno Haible  <bruno@clisp.org>
34182
34183         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
34184         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
34185         (Makefile.am): Augment lib_SOURCES instead.
34186
34187 2010-03-04  Jim Meyering  <meyering@redhat.com>
34188
34189         utime: remove obsolete module
34190         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
34191         unnecessary for years, and has been marked as obsolete for 10 months.
34192         * modules/utime: Remove file.
34193         * lib/utime.c: Remove file.
34194         * m4/utime.m4: Remove file.
34195         * m4/utimes-null.m4: Remove file.
34196         * doc/posix-functions/utime.texi (utime): Remove reference to
34197         the module.  Move the sole "fixed by gnulib" item into the
34198         "problems not fixed by Gnulib" list.
34199         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
34200
34201 2010-03-05  Simon Josefsson  <simon@josefsson.org>
34202
34203         * modules/exit (License): Relax license to LGPLv2+.
34204         (Status): Mark as obsolete.
34205         * NEWS: Mention deprecated 'exit' module.
34206         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
34207         of now obsolete 'exit'.
34208
34209 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34210
34211         fts-lgpl: remove unused module
34212         * modules/fts-lgpl: Remove.
34213         * MODULES.html.sh (func_all_modules): Adjust.
34214         * check-module (find_included_lib_files): Adjust.
34215         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
34216
34217 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
34218
34219         copy-acl: enhance Solaris ACL error handling
34220         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
34221         * lib/set-mode-acl.c (qset_acl): Likewise.
34222
34223 2010-03-02  Bruno Haible  <bruno@clisp.org>
34224
34225         spawn: Don't override the system defined values on FreeBSD 8.
34226         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
34227         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
34228         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
34229         if HAVE_POSIX_SPAWN is 1.
34230         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
34231
34232 2010-03-01  Bruno Haible  <bruno@clisp.org>
34233
34234         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
34235         regarding Automake.
34236
34237 2010-02-25  Bruno Haible  <bruno@clisp.org>
34238
34239         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
34240         * gnulib-tool: Define 'echo' as a function only before the ksh alias
34241         setting, not afterwards.
34242         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
34243
34244 2010-02-24  Eric Blake  <eblake@redhat.com>
34245
34246         bootstrap, git-version-gen: use timestamp
34247         * build-aux/git-version-gen (scriptversion): Force UTC.
34248         * build-aux/bootstrap (scriptversion): New variable.
34249
34250         bootstrap: allow older git
34251         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
34252         older than 1.6.4.  Requested by the libvirt project.
34253
34254 2010-02-23  Eric Blake  <eblake@redhat.com>
34255
34256         warn-on-use: work with old autoconf
34257         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
34258         AS_VAR semantics of autoconf 2.60.
34259         Reported by Bruno Haible.
34260
34261         bootstrap: improve some comments
34262         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
34263         clarification comments.
34264
34265         gettimeofday: provide correct function
34266         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
34267         when replacement is declared, otherwise provide gettimeofday.
34268         Reported by Michael Goffioul.
34269
34270 2010-02-23  Jim Meyering  <meyering@redhat.com>
34271
34272         lib-ignore: relax license to "unlimited", not LGPLv2+
34273         * modules/lib-ignore (License): Relax to "unlimited".
34274
34275 2010-02-23  Jim Meyering  <meyering@redhat.com>
34276
34277         lib-ignore: relax license to LGPLv2+
34278         * modules/lib-ignore (License): Relax to LGPLv2+.
34279
34280 2010-02-22  Eric Blake  <eblake@redhat.com>
34281
34282         lseek: avoid bash 3.2 broken pipe bug
34283         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
34284         warning from bash 3.2.
34285         Reported by Ben Pfaff, with analysis from Bruno Haible.
34286
34287         bootstrap: support non-FSF copyright holder
34288         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
34289         bootstrap.conf override of COPYRIGHT_HOLDER.
34290         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
34291
34292         bootstrap: interoperate with gettext 0.14.1
34293         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
34294
34295         bootstrap: allow for alternate submodule location
34296         * build-aux/bootstrap (gnulib_path): New variable; use instead of
34297         hardcoding submodule location.
34298         (gnulib_mk): Allow direct use of Makefile.am.
34299
34300         bootstrap: use GNULIB_SRCDIR to reduce disk usage
34301         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
34302         rather than reconfiguring where the submodule points.
34303
34304         gettimeofday: restore support for platforms that lack function
34305         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
34306         replacement if function is missing.
34307         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
34308         * modules/sys_time (Makefile.am): Substitute it.
34309         * lib/sys_time.in.h (gettimeofday): Check it.
34310         Reported by Michael Goffioul.
34311
34312 2010-02-21  Bruno Haible  <bruno@clisp.org>
34313
34314         * lib/stdio.in.h (obstack_printf): Fix typo.
34315
34316 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
34317
34318         vc-list-files: use bzr ls's -R option
34319         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
34320         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
34321
34322 2010-02-21  Jim Meyering  <meyering@redhat.com>
34323
34324         init.sh: fix EXEEXT shims to work also for names like test-prog
34325         * tests/init.sh: Re-exec a better shell, when needed.
34326         If the current shell lacks support for posix $(...), an init.sh-using
34327         test will now try to find a shell that supports that.  If EXEEXT is
34328         nonempty, we also require support for hyphen-in-alias-name and shell
34329         substitutions like ${var#glob}.  Failure to find such a shell results
34330         in a skipped test.
34331
34332 2010-02-21  Bruno Haible  <bruno@clisp.org>
34333
34334         Really work around around "broken pipe" error message from bash 3.2.
34335         * gnulib-tool (func_reset_sigpipe): Remove function.
34336         (echo): In bash 3.2, define to a function that uses printf.
34337         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
34338
34339 2010-02-20  Bruno Haible  <bruno@clisp.org>
34340
34341         Restore support for automake 1.9.6 with autoconf 2.61.
34342         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
34343         Reported by James Youngman <jay@gnu.org>.
34344
34345 2010-02-20  Bruno Haible  <bruno@clisp.org>
34346
34347         Improve *printf warning condition.
34348         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
34349         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
34350         and the function is overridden due to SIGPIPE emulation.
34351
34352 2010-02-20  Bruno Haible  <bruno@clisp.org>
34353
34354         * lib/stdio.in.h: Tweak comments.
34355
34356 2010-02-19  Bruno Haible  <bruno@clisp.org>
34357
34358         Make it easier to find modules. New gnulib-tool option '--find'.
34359         * gnulib-tool: New option --find.
34360         (func_usage): Document it.
34361         (func_sanitize_modulelist): New function, extracted from
34362         func_all_modules.
34363         (func_all_modules): Invoke it.
34364         * doc/gnulib-tool.texi (Which modules?): New node.
34365
34366 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
34367
34368         * lib/sys_select.in.h: Provide select replacement even if
34369         sys/select.h exists on a system, for Interix.
34370
34371 2010-02-18  Jim Meyering  <meyering@redhat.com>
34372
34373         init.sh: don't use $(...) just yet
34374         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
34375         to accommodate e.g., Solaris' /bin/sh.
34376
34377 2010-02-17  Bruno Haible  <bruno@clisp.org>
34378
34379         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
34380         Reported by Ludovic Courtès <ludo@gnu.org>.
34381
34382 2010-02-16  Simon Josefsson  <simon@josefsson.org>
34383
34384         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
34385         linking with -lintl.
34386
34387 2010-02-17  Simon Josefsson  <simon@josefsson.org>
34388
34389         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
34390         if not provided by the system's netdb.h.  Reported by
34391         ludo@gnu.org (Ludovic Courtès).
34392
34393 2010-02-15  Jim Meyering  <meyering@redhat.com>
34394
34395         init.sh: improve portability and efficiency
34396         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
34397         "dummy" in a for loop.
34398         Use '!', not '^' to select the complement of a character set used
34399         in a "case" statement.
34400         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
34401         Suggestions from Eric Blake.
34402
34403         init.sh: automatically accommodate programs with the .exe suffix
34404         Automatically arrange for an invocation of "prog" to execute the
34405         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
34406         may use the simpler "prog", yet still work when built on a system
34407         that requires specifying the added suffix.
34408         Do this by constructing a function named "prog" that invokes
34409         "prog.exe" for each .exe file in selected directories.
34410         * tests/init.sh (find_exe_basenames_): New function.
34411         (create_exe_shim_functions_): New function.
34412         (path_prepend_): Use it.
34413
34414         maint.mk: mark syntax-check sc_*.m rules as .PHONY
34415         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
34416         "make -t syntax-check" doesn't create a ton of sc_*.m files.
34417
34418 2010-02-14  Jim Meyering  <meyering@redhat.com>
34419
34420         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
34421         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
34422         (sc_prohibit_hash_pjw_without_use): New rule.
34423
34424         maint.mk: allow the default upload destination dir to be overridden
34425         * top/maint.mk (upload_dest_dir_): Define with a default that
34426         preserves the status quo.
34427         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
34428         Reported by Peter Simons.
34429
34430         maint.mk: prohibit inclusion of "hash.h" without_use
34431         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
34432
34433 2010-02-10  Jim Meyering  <meyering@redhat.com>
34434
34435         maint.mk: prohibit inclusion of "ignore-value.h" without_use
34436         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
34437
34438 2010-02-09  Eric Blake  <ebb9@byu.net>
34439         and Bruno Haible  <bruno@clisp.org>
34440
34441         obstack-printf-posix: ensure declaration
34442         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
34443         extracted from gl_FUNC_OBSTACK_PRINTF.
34444         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
34445         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
34446         Likewise.
34447         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
34448         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
34449         0.
34450
34451 2010-02-08  Bruno Haible  <bruno@clisp.org>
34452
34453         gnulib-tool: Fix typo in 2010-02-07 commit.
34454         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
34455         Reported by Eric Blake.
34456
34457 2010-02-07  Bruno Haible  <bruno@clisp.org>
34458
34459         gnulib-tool: Fix up caching patches.
34460         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
34461         option --no-cache. Use associative arrays when supported by the shell.
34462         (sed_comments): New variable.
34463         (modcache): Renamed from do_cache.
34464         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
34465         abbreviate unnecessarily.
34466         (have_associative): New variable.
34467         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
34468         way also for ksh and zsh.
34469         (func_init_sed_convert_to_cache_statements): New function, extracted
34470         from func_cache_lookup_module. Add support for associative arrays.
34471         Don't set the c_MODULE_cached variable here. Ignore all lines before
34472         the first field header. Remove only the final newline, not all trailing
34473         newlines. Support empty fields correctly. Limit the use of 'eval' to
34474         assignments.
34475         (func_get_description, func_get_status, func_get_notice,
34476         func_get_applicability, func_get_filelist, func_get_dependencies,
34477         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
34478         func_get_automake_snippet, func_get_include_directive,
34479         func_get_link_directive, func_get_license, func_get_maintainer):
34480         Update documentation. List the unoptimized code first. Add support for
34481         associative arrays. Limit the use of 'eval' to assignments.
34482         (func_get_applicability): Undo stylistic pessimisations.
34483         (func_get_automake_snippet, func_get_include_directive): Reduce code
34484         duplication.
34485         (func_modules_transitive_closure, func_modules_add_dummy,
34486         func_modules_notice, func_modules_to_filelist, func_add_file,
34487         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
34488         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
34489         func_create_testdir, func_create_megatestdir): Update documentation.
34490
34491 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34492
34493         * gnulib-tool (func_cache_lookup_module): Store the module name
34494         belonging to the cache variable; error out if two different
34495         module names map to the same cache variable name.
34496
34497 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34498
34499         gnulib-tool: Make caching optional.
34500         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
34501         Update matching short versions of --no-changelog.
34502         (func_usage): Update.
34503         (sed_extract_cache_prog): Renamed from ...
34504         (sed_extract_prog): ... this; revert to old extraction script.
34505         (func_get_description, func_get_status)
34506         (func_get_notice, func_get_applicability, func_get_filelist)
34507         (func_get_dependencies, func_get_autoconf_early_snippet)
34508         (func_get_autoconf_snippet, func_get_automake_snippet)
34509         (func_get_include_directive, func_get_link_directive)
34510         (func_get_license, func_get_maintainer): If $do_cache is false,
34511         use old, non-caching extraction scripts.
34512         Suggestion by Bruno Haible.
34513
34514 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34515
34516         gnulib-tool: cache module metainformation.
34517         * gnulib-tool (sed_extract_prog): Match newline before each
34518         header, and rewrite header to a shell variable suffix.
34519         (func_cache_var, func_cache_lookup_module): New functions,
34520         to turn a module name into a cache variable prefix, and to
34521         look up and cache module metainformation.
34522         (func_get_description, func_get_status)
34523         (func_get_notice, func_get_applicability, func_get_filelist)
34524         (func_get_dependencies, func_get_autoconf_early_snippet)
34525         (func_get_autoconf_snippet, func_get_automake_snippet)
34526         (func_get_include_directive, func_get_link_directive)
34527         (func_get_license, func_get_maintainer): Use
34528         func_cache_lookup_module.
34529
34530 2010-02-07  Bruno Haible  <bruno@clisp.org>
34531
34532         fnctl: Fix missing dependency.
34533         * modules/fcntl (Depends-on): Add getdtablesize.
34534         Reported by John W. Eaton <jwe@gnu.org>.
34535
34536 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34537
34538         Argp: fix recognition of short alias options.
34539
34540         * lib/argp-parse.c (convert_options): Fix improper use of
34541         `|' between character values.
34542         * tests/test-argp.c (group1_option): New alias option
34543         --read (-r).
34544         (group1_parser): Special handling for 'r'.
34545         (test15): New test case.
34546         (test_fun): Add test15.
34547         * tests/test-argp-2.sh: Update expected --help and --usage
34548         outputs.
34549
34550 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34551
34552         * tests/test-argp.c: Fix indentation.
34553
34554 2010-02-04  Eric Blake  <ebb9@byu.net>
34555
34556         gettimeofday: expose type of second argument
34557         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
34558         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
34559         * tests/test-gettimeofday.c: Use it to silence warning.
34560         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
34561         the issue.
34562
34563 2010-02-03  Jim Meyering  <meyering@redhat.com>
34564
34565         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
34566         * lib/regcomp.c (TYPE_SIGNED): Define.
34567         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
34568
34569         regcomp.c: avoid a new -Wshadow warning
34570         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
34571
34572 2010-02-01  Jim Meyering  <meyering@redhat.com>
34573
34574         removing useless parentheses in cpp #define directives
34575         For motivation, see commit c0221df4, "define STREQ(a,b)
34576         consistently, removing useless parentheses"
34577         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
34578         * lib/mountlist.c (MNT_IGNORE): Likewise.
34579         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
34580
34581 2010-02-01  Eric Blake  <ebb9@byu.net>
34582
34583         sys_time: use link-warning
34584         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
34585         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
34586         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
34587         * modules/sys_time (Depends-on): Add warn-on-use.
34588         (Makefile.am): Always build replacement.
34589         (configure.ac): Update substitutions.
34590         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
34591         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
34592         bother with SYS_TIME_H.
34593         * modules/gettimeofday (configure.ac): Declare indicator.
34594         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
34595         in use.
34596
34597         closein-tests: silence compiler warning
34598         * tests/test-closein.c (main): Ignore fread result.
34599         * modules/closein-tests (Depends-on): Add ignore-value.
34600
34601         tests: silence warning about system return
34602         * tests/test-areadlink-with-size.c (main): Ignore system result.
34603         * tests/test-areadlink.c (main): Likewise.
34604         * tests/test-areadlinkat-with-size.c (main): Likewise.
34605         * tests/test-areadlinkat.c (main): Likewise.
34606         * tests/test-canonicalize-lgpl.c (main): Likewise.
34607         * tests/test-canonicalize.c (main): Likewise.
34608         * tests/test-chown.c (main): Likewise.
34609         * tests/test-fchownat.c (main): Likewise.
34610         * tests/test-fdutimensat.c (main): Likewise.
34611         * tests/test-fstatat.c (main): Likewise.
34612         * tests/test-futimens.c (main): Likewise.
34613         * tests/test-lchown.c (main): Likewise.
34614         * tests/test-link.c (main): Likewise.
34615         * tests/test-linkat.c (main): Likewise.
34616         * tests/test-lstat.c (main): Likewise.
34617         * tests/test-mkdir.c (main): Likewise.
34618         * tests/test-mkdirat.c (main): Likewise.
34619         * tests/test-mkfifo.c (main): Likewise.
34620         * tests/test-mkfifoat.c (main): Likewise.
34621         * tests/test-mknod.c (main): Likewise.
34622         * tests/test-readlink.c (main): Likewise.
34623         * tests/test-remove.c (main): Likewise.
34624         * tests/test-rename.c (main): Likewise.
34625         * tests/test-renameat.c (main): Likewise.
34626         * tests/test-rmdir.c (main): Likewise.
34627         * tests/test-symlink.c (main): Likewise.
34628         * tests/test-symlinkat.c (main): Likewise.
34629         * tests/test-unlink.c (main): Likewise.
34630         * tests/test-unlinkat.c (main): Likewise.
34631         * tests/test-utimens.c (main): Likewise.
34632         * tests/test-utimensat.c (main): Likewise.
34633         * modules/areadlink-tests (Depends-on): Add ignore-value.
34634         * modules/areadlink-with-size-tests (Depends-on): Likewise.
34635         * modules/areadlinkat-tests (Depends-on): Likewise.
34636         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
34637         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34638         * modules/canonicalize-tests (Depends-on): Likewise.
34639         * modules/chown-tests (Depends-on): Likewise.
34640         * modules/fdutimensat-tests (Depends-on): Likewise.
34641         * modules/futimens-tests (Depends-on): Likewise.
34642         * modules/lchown-tests (Depends-on): Likewise.
34643         * modules/link-tests (Depends-on): Likewise.
34644         * modules/linkat-tests (Depends-on): Likewise.
34645         * modules/lstat-tests (Depends-on): Likewise.
34646         * modules/mkdir-tests (Depends-on): Likewise.
34647         * modules/mkfifo-tests (Depends-on): Likewise.
34648         * modules/mkfifoat-tests (Depends-on): Likewise.
34649         * modules/mknod-tests (Depends-on): Likewise.
34650         * modules/openat-tests (Depends-on): Likewise.
34651         * modules/readlink-tests (Depends-on): Likewise.
34652         * modules/remove-tests (Depends-on): Likewise.
34653         * modules/rename-tests (Depends-on): Likewise.
34654         * modules/renameat-tests (Depends-on): Likewise.
34655         * modules/rmdir-tests (Depends-on): Likewise.
34656         * modules/symlink-tests (Depends-on): Likewise.
34657         * modules/symlinkat-tests (Depends-on): Likewise.
34658         * modules/unlink-tests (Depends-on): Likewise.
34659         * modules/utimens-tests (Depends-on): Likewise.
34660         * modules/utimensat-tests (Depends-on): Likewise.
34661
34662 2010-01-31  Bruno Haible  <bruno@clisp.org>
34663
34664         Perform the same test for many <math.h> functions.
34665         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
34666         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
34667         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
34668         of gl_MATHFUNC.
34669         * modules/acos (configure.ac): Likewise.
34670         * modules/asin (configure.ac): Likewise.
34671         * modules/atan (configure.ac): Likewise.
34672         * modules/atan2 (configure.ac): Likewise.
34673         * modules/cbrt (configure.ac): Likewise.
34674         * modules/copysign (configure.ac): Likewise.
34675         * modules/cos (configure.ac): Likewise.
34676         * modules/cosh (configure.ac): Likewise.
34677         * modules/erf (configure.ac): Likewise.
34678         * modules/erfc (configure.ac): Likewise.
34679         * modules/exp (configure.ac): Likewise.
34680         * modules/fmod (configure.ac): Likewise.
34681         * modules/hypot (configure.ac): Likewise.
34682         * modules/j0 (configure.ac): Likewise.
34683         * modules/j1 (configure.ac): Likewise.
34684         * modules/jn (configure.ac): Likewise.
34685         * modules/lgamma (configure.ac): Likewise.
34686         * modules/log (configure.ac): Likewise.
34687         * modules/log10 (configure.ac): Likewise.
34688         * modules/log1p (configure.ac): Likewise.
34689         * modules/pow (configure.ac): Likewise.
34690         * modules/remainder (configure.ac): Likewise.
34691         * modules/sin (configure.ac): Likewise.
34692         * modules/sinh (configure.ac): Likewise.
34693         * modules/tan (configure.ac): Likewise.
34694         * modules/tanh (configure.ac): Likewise.
34695         * modules/y0 (configure.ac): Likewise.
34696         * modules/y1 (configure.ac): Likewise.
34697         * modules/yn (configure.ac): Likewise.
34698         Suggested by Paolo Bonzini.
34699
34700 2010-01-31  Bruno Haible  <bruno@clisp.org>
34701
34702         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
34703
34704 2010-01-31  Bruno Haible  <bruno@clisp.org>
34705
34706         Work around getdelim() bug on FreeBSD 8.0.
34707         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
34708         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
34709         not work.
34710         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
34711         is 1.
34712         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
34713         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
34714         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
34715         a non-zero size.
34716         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
34717
34718 2010-01-31  Bruno Haible  <bruno@clisp.org>
34719
34720         Work around getline() bug on FreeBSD 8.0.
34721         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
34722         and a non-zero size.
34723         * tests/test-getline.c (main): Likewise.
34724         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
34725         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
34726
34727 2010-01-28  Eric Blake  <ebb9@byu.net>
34728
34729         regex: fix build failure
34730         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
34731         platforms.
34732
34733 2010-01-28  Jim Meyering  <meyering@redhat.com>
34734
34735         regex: do not ignore memory allocation failure
34736         * lib/regex_internal.c (create_cd_newstate): Detect
34737         re_node_set_init_copy failure.   Extracted from glibc commit
34738         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34739
34740         regex: sync more white-space changes from libc
34741         * lib/regex_internal.c: White-space only changes.
34742         * lib/regexec.c: Likewise.
34743
34744         regex: add many uses of __attribute_warn_unused_result__
34745         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
34746         * lib/regexec.c: Likewise.
34747         Extracted from a messy glibc commit.
34748
34749         regcomp.c: spelling and merge-artifact from glibc
34750         * lib/regcomp.c: Merge remainder of glibc's
34751         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34752
34753         regcomp.c: sync white-space changes from glibc
34754         * lib/regcomp.c: Merge to accommodate white space
34755         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34756
34757         regcomp.c: do not ignore internal return values
34758         * lib/regcomp.c: Do not ignore internal return values.
34759         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
34760         but without its white-space changes and spelling fixes.
34761
34762         regex_internal.h: define __attribute_warn_unused_result__
34763         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
34764
34765         maint: add a syntax-check rule to check for vulnerable Makefile.in
34766         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
34767
34768 2010-01-27  Jim Meyering  <meyering@redhat.com>
34769
34770         ncftpput-ftp: clean up spaces
34771         * build-aux/ncftpput-ftp: Make Copyright line consistent.
34772         Remove trailing blanks.
34773
34774 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34775
34776         * build-aux/git-version-gen: Fix copyright statement.
34777         * build-aux/gnupload: Likewise.
34778         * tests/test-arcfour.c: Likewise.
34779         * tests/test-arctwo.c: Likewise.
34780         * tests/test-count-one-bits.c: Likewise.
34781         * tests/test-crc.c: Likewise.
34782         * tests/test-des.c: Likewise.
34783         * tests/test-gc-arcfour.c: Likewise.
34784         * tests/test-gc-arctwo.c: Likewise.
34785         * tests/test-gc-des.c: Likewise.
34786         * tests/test-gc-hmac-md5.c: Likewise.
34787         * tests/test-gc-hmac-sha1.c: Likewise.
34788         * tests/test-gc-md2.c: Likewise.
34789         * tests/test-gc-md4.c: Likewise.
34790         * tests/test-gc-md5.c: Likewise.
34791         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34792         * tests/test-gc-rijndael.c: Likewise.
34793         * tests/test-gc-sha1.c: Likewise.
34794         * tests/test-gc.c: Likewise.
34795         * tests/test-gethostname.c: Likewise.
34796         * tests/test-gettimeofday.c: Likewise.
34797         * tests/test-hash.c: Likewise.
34798         * tests/test-hmac-md5.c: Likewise.
34799         * tests/test-hmac-sha1.c: Likewise.
34800         * tests/test-md2.c: Likewise.
34801         * tests/test-md4.c: Likewise.
34802         * tests/test-md5.c: Likewise.
34803         * tests/test-memchr.c: Likewise.
34804         * tests/test-memchr2.c: Likewise.
34805         * tests/test-memcmp.c: Likewise.
34806         * tests/test-memmem.c: Likewise.
34807         * tests/test-memrchr.c: Likewise.
34808         * tests/test-rawmemchr.c: Likewise.
34809         * tests/test-read-file.c: Likewise.
34810         * tests/test-rijndael.c: Likewise.
34811         * tests/test-sockets.c: Likewise.
34812         * tests/test-strchrnul.c: Likewise.
34813         * tests/test-strstr.c: Likewise.
34814         * tests/test-strtod.c: Likewise.
34815         * build-aux/ncftpput-ftp: Likewise.
34816
34817 2010-01-26  Eric Blake  <ebb9@byu.net>
34818
34819         ignore-value: update recommended header name
34820         * modules/ignore-value (Include): Only use <> for headers that
34821         exist in glibc.
34822
34823 2010-01-26  Jim Meyering  <meyering@redhat.com>
34824
34825         test-userspec.c: avoid compiler warnings
34826         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
34827         and "initialization discards qualifiers..." warnings.
34828         Put the first "uid" in its own scope, and make char* members "const".
34829
34830 2010-01-25  Bruno Haible  <bruno@clisp.org>
34831
34832         gnulib-tool: Make warning diagnostics consistent.
34833         * gnulib-tool (func_warning): New function.
34834         Use it everywhere where gnulib-tool produces output to stderr and it is
34835         not a fatal error.
34836
34837 2010-01-25  Bruno Haible  <bruno@clisp.org>
34838
34839         Fix test dependencies.
34840         * modules/xstrtol-tests (Depends-on): Add inttypes.
34841         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
34842
34843 2010-01-25 Pádraig Brady <P@draigBrady.com>
34844
34845         syntax-check: detect incorrect boolean macro values in config.h
34846         * modules/maintainer-makefile (configure.ac): Parameterize the location
34847         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
34848         The logic is from Eric Blake and the location indicated by Jim Meyering.
34849         Note the more natural CONFIG_HEADER name is prohibited by automake
34850         for backwards compatibility reasons.
34851         * top/maint.mk (sc_Wundef_boolean): New rule.
34852
34853 2010-01-25  Jim Meyering  <meyering@redhat.com>
34854
34855         bootstrap: detect MacOS 10.6's shasum, too
34856         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
34857         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
34858
34859 2010-01-23  Jim Meyering  <meyering@redhat.com>
34860
34861         xstrtoll: new module
34862         * modules/xstrtoll: New file.
34863         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
34864         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
34865         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
34866         ./configure fails if you use this module and lack "long long".
34867         * modules/xstrtoll-tests: New module.
34868         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
34869         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
34870         new init.sh-based test framework.
34871
34872 2010-01-24  Bruno Haible  <bruno@clisp.org>
34873
34874         Tests for module 'yn'.
34875         * modules/yn-tests: New file.
34876         * tests/test-yn.c: New file.
34877
34878         Tests for module 'y1'.
34879         * modules/y1-tests: New file.
34880         * tests/test-y1.c: New file.
34881
34882         Tests for module 'y0'.
34883         * modules/y0-tests: New file.
34884         * tests/test-y0.c: New file.
34885
34886         Tests for module 'tanh'.
34887         * modules/tanh-tests: New file.
34888         * tests/test-tanh.c: New file.
34889
34890         Tests for module 'tan'.
34891         * modules/tan-tests: New file.
34892         * tests/test-tan.c: New file.
34893
34894         Tests for module 'sqrt'.
34895         * modules/sqrt-tests: New file.
34896         * tests/test-sqrt.c: New file.
34897
34898         Tests for module 'sinh'.
34899         * modules/sinh-tests: New file.
34900         * tests/test-sinh.c: New file.
34901
34902         Tests for module 'sin'.
34903         * modules/sin-tests: New file.
34904         * tests/test-sin.c: New file.
34905
34906         Tests for module 'rint'.
34907         * modules/rint-tests: New file.
34908         * tests/test-rint.c: New file.
34909
34910         Tests for module 'remainder'.
34911         * modules/remainder-tests: New file.
34912         * tests/test-remainder.c: New file.
34913
34914         Tests for module 'pow'.
34915         * modules/pow-tests: New file.
34916         * tests/test-pow.c: New file.
34917
34918         Tests for module 'nextafter'.
34919         * modules/nextafter-tests: New file.
34920         * tests/test-nextafter.c: New file.
34921
34922         Tests for module 'modf'.
34923         * modules/modf-tests: New file.
34924         * tests/test-modf.c: New file.
34925
34926         Tests for module 'logb'.
34927         * modules/logb-tests: New file.
34928         * tests/test-logb.c: New file.
34929
34930         Tests for module 'log1p'.
34931         * modules/log1p-tests: New file.
34932         * tests/test-log1p.c: New file.
34933
34934         Tests for module 'log10'.
34935         * modules/log10-tests: New file.
34936         * tests/test-log10.c: New file.
34937
34938         Tests for module 'log'.
34939         * modules/log-tests: New file.
34940         * tests/test-log.c: New file.
34941
34942         Tests for module 'lgamma'.
34943         * modules/lgamma-tests: New file.
34944         * tests/test-lgamma.c: New file.
34945
34946         Tests for module 'ldexp'.
34947         * modules/ldexp-tests: New file.
34948         * tests/test-ldexp.c: New file.
34949
34950         Tests for module 'jn'.
34951         * modules/jn-tests: New file.
34952         * tests/test-jn.c: New file.
34953
34954         Tests for module 'j1'.
34955         * modules/j1-tests: New file.
34956         * tests/test-j1.c: New file.
34957
34958         Tests for module 'j0'.
34959         * modules/j0-tests: New file.
34960         * tests/test-j0.c: New file.
34961
34962         Tests for module 'hypot'.
34963         * modules/hypot-tests: New file.
34964         * tests/test-hypot.c: New file.
34965
34966         Tests for module 'fmod'.
34967         * modules/fmod-tests: New file.
34968         * tests/test-fmod.c: New file.
34969
34970         Tests for module 'fabs'.
34971         * modules/fabs-tests: New file.
34972         * tests/test-fabs.c: New file.
34973
34974         Tests for module 'exp'.
34975         * modules/exp-tests: New file.
34976         * tests/test-exp.c: New file.
34977
34978         Tests for module 'erfc'.
34979         * modules/erfc-tests: New file.
34980         * tests/test-erfc.c: New file.
34981
34982         Tests for module 'erf'.
34983         * modules/erf-tests: New file.
34984         * tests/test-erf.c: New file.
34985
34986         Tests for module 'cosh'.
34987         * modules/cosh-tests: New file.
34988         * tests/test-cosh.c: New file.
34989
34990         Tests for module 'cos'.
34991         * modules/cos-tests: New file.
34992         * tests/test-cos.c: New file.
34993
34994         Tests for module 'copysign'.
34995         * modules/copysign-tests: New file.
34996         * tests/test-copysign.c: New file.
34997
34998         Tests for module 'cbrt'.
34999         * modules/cbrt-tests: New file.
35000         * tests/test-cbrt.c: New file.
35001
35002         Tests for module 'atan2'.
35003         * modules/atan2-tests: New file.
35004         * tests/test-atan2.c: New file.
35005
35006         Tests for module 'atan'.
35007         * modules/atan-tests: New file.
35008         * tests/test-atan.c: New file.
35009
35010         Tests for module 'asin'.
35011         * modules/asin-tests: New file.
35012         * tests/test-asin.c: New file.
35013
35014         Tests for module 'acos'.
35015         * modules/acos-tests: New file.
35016         * tests/test-acos.c: New file.
35017
35018 2010-01-24  Bruno Haible  <bruno@clisp.org>
35019
35020         Fix tests for common <math.h> functions.
35021         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
35022         code snippet that references the function pointer, rather than merely
35023         calling the function. Substitute the FUNC_LIBM variable.
35024         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
35025         * modules/acos (configure.ac): Likewise.
35026         * modules/asin (configure.ac): Likewise.
35027         * modules/atan (configure.ac): Likewise.
35028         * modules/atan2 (configure.ac): Likewise.
35029         * modules/cbrt (configure.ac): Likewise.
35030         * modules/copysign (configure.ac): Likewise.
35031         * modules/cos (configure.ac): Likewise.
35032         * modules/cosh (configure.ac): Likewise.
35033         * modules/erf (configure.ac): Likewise.
35034         * modules/erfc (configure.ac): Likewise.
35035         * modules/exp (configure.ac): Likewise.
35036         * modules/fabs (configure.ac): Likewise.
35037         * modules/fmod (configure.ac): Likewise.
35038         * modules/hypot (configure.ac): Likewise.
35039         * modules/j0 (configure.ac): Likewise.
35040         * modules/j1 (configure.ac): Likewise.
35041         * modules/jn (configure.ac): Likewise.
35042         * modules/ldexp (configure.ac): Likewise.
35043         * modules/lgamma (configure.ac): Likewise.
35044         * modules/log (configure.ac): Likewise.
35045         * modules/log10 (configure.ac): Likewise.
35046         * modules/log1p (configure.ac): Likewise.
35047         * modules/logb (configure.ac): Likewise.
35048         * modules/modf (configure.ac): Likewise.
35049         * modules/nextafter (configure.ac): Likewise.
35050         * modules/pow (configure.ac): Likewise.
35051         * modules/remainder (configure.ac): Likewise.
35052         * modules/rint (configure.ac): Likewise.
35053         * modules/sin (configure.ac): Likewise.
35054         * modules/sinh (configure.ac): Likewise.
35055         * modules/tan (configure.ac): Likewise.
35056         * modules/tanh (configure.ac): Likewise.
35057         * modules/y0 (configure.ac): Likewise.
35058         * modules/y1 (configure.ac): Likewise.
35059         * modules/yn (configure.ac): Likewise.
35060
35061 2010-01-24  Bruno Haible  <bruno@clisp.org>
35062
35063         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
35064         * tests/test-acosl.c (x): New variable.
35065         (main): Store argument in x and fetch it from x.
35066         * tests/test-asinl.c (x): New variable.
35067         (main): Store argument in x and fetch it from x.
35068         * tests/test-atanl.c (x): New variable.
35069         (main): Store argument in x and fetch it from x.
35070         * tests/test-cosl.c (x): New variable.
35071         (main): Store argument in x and fetch it from x.
35072         * tests/test-expl.c (x): New variable.
35073         (main): Store argument in x and fetch it from x.
35074         * tests/test-logl.c (x): New variable.
35075         (main): Store argument in x and fetch it from x.
35076         * tests/test-sinl.c (x): New variable.
35077         (main): Store argument in x and fetch it from x.
35078         * tests/test-sqrtl.c (x): New variable.
35079         (main): Store argument in x and fetch it from x.
35080         * tests/test-tanl.c (x): New variable.
35081         (main): Store argument in x and fetch it from x.
35082
35083 2010-01-24  Bruno Haible  <bruno@clisp.org>
35084
35085         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
35086         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
35087         assignments to the initial TESTS_ENVIRONMENT.
35088         * doc/gnulib.texi (Unit test modules): Document it.
35089         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
35090         TESTS_ENVIRONMENT.
35091         * modules/btowc-tests (Makefile.am): Likewise.
35092         * modules/c-stack-tests (Makefile.am): Likewise.
35093         * modules/c-strcase-tests (Makefile.am): Likewise.
35094         * modules/copy-file-tests (Makefile.am): Likewise.
35095         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
35096         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
35097         * modules/mbrtowc-tests (Makefile.am): Likewise.
35098         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35099         * modules/mbscasestr-tests (Makefile.am): Likewise.
35100         * modules/mbschr-tests (Makefile.am): Likewise.
35101         * modules/mbscspn-tests (Makefile.am): Likewise.
35102         * modules/mbsinit-tests (Makefile.am): Likewise.
35103         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35104         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
35105         * modules/mbspbrk-tests (Makefile.am): Likewise.
35106         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35107         * modules/mbsrchr-tests (Makefile.am): Likewise.
35108         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
35109         * modules/mbsspn-tests (Makefile.am): Likewise.
35110         * modules/mbsstr-tests (Makefile.am): Likewise.
35111         * modules/nl_langinfo-tests (Makefile.am): Likewise.
35112         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
35113         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35114         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35115         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35116         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35117         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
35118         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35119         * modules/wcrtomb-tests (Makefile.am): Likewise.
35120         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
35121         * modules/wcsrtombs-tests (Makefile.am): Likewise.
35122         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
35123         assignments from TESTS_ENVIRONMENT.
35124         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
35125         augmentation.
35126         * modules/argp-version-etc-tests (Makefile.am): Likewise.
35127         * modules/atexit-tests (Makefile.am): Likewise.
35128         * modules/binary-io-tests (Makefile.am): Likewise.
35129         * modules/closein-tests (Makefile.am): Likewise.
35130         * modules/dprintf-posix-tests (Makefile.am): Likewise.
35131         * modules/exclude-tests (Makefile.am): Likewise.
35132         * modules/fflush-tests (Makefile.am): Likewise.
35133         * modules/fpending-tests (Makefile.am): Likewise.
35134         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35135         * modules/freadahead-tests (Makefile.am): Likewise.
35136         * modules/freadptr-tests (Makefile.am): Likewise.
35137         * modules/freadseek-tests (Makefile.am): Likewise.
35138         * modules/fseek-tests (Makefile.am): Likewise.
35139         * modules/fseeko-tests (Makefile.am): Likewise.
35140         * modules/ftell-tests (Makefile.am): Likewise.
35141         * modules/ftello-tests (Makefile.am): Likewise.
35142         * modules/idpriv-drop-tests (Makefile.am): Likewise.
35143         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
35144         * modules/lseek-tests (Makefile.am): Likewise.
35145         * modules/parse-duration-tests (Makefile.am): Likewise.
35146         * modules/perror-tests (Makefile.am): Likewise.
35147         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
35148         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
35149         * modules/pipe-tests (Makefile.am): Likewise.
35150         * modules/pread-tests (Makefile.am): Likewise.
35151         * modules/printf-posix-tests (Makefile.am): Likewise.
35152         * modules/select-tests (Makefile.am): Likewise.
35153         * modules/sigpipe-tests (Makefile.am): Likewise.
35154         * modules/tsearch-tests (Makefile.am): Likewise.
35155         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
35156         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
35157         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35158         * modules/uniwidth/width-tests (Makefile.am): Likewise.
35159         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
35160         * modules/version-etc-tests (Makefile.am): Likewise.
35161         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35162         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35163         * modules/xalloc-die-tests (Makefile.am): Likewise.
35164         * modules/xprintf-posix-tests (Makefile.am): Likewise.
35165         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35166         * modules/xstrtol-tests (Makefile.am): Likewise.
35167         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35168         * modules/yesno-tests (Makefile.am): Likewise.
35169         Suggested by Jim Meyering.
35170
35171 2010-01-24  Bruno Haible  <bruno@clisp.org>
35172
35173         More documentation.
35174         * doc/gnulib.texi (Writing modules): New chapter.
35175         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
35176         the new chapter.
35177
35178 2010-01-24  Jim Meyering  <meyering@redhat.com>
35179
35180         maint.mk: do not prepend "./" after filtering
35181         * top/maint.mk (_prepend_srcdir_prefix): New variable
35182         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
35183         "./" when $(srcdir) is ".".
35184
35185         define STREQ(a,b) consistently, removing useless parentheses
35186         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
35187         since the only risk is that "a" or "b" contains an unparenthesized
35188         comma, but if either did that, STREQ would have 3 or more arguments.
35189         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
35190         * lib/fts.c (STREQ): Remove unnecessary parentheses.
35191         * lib/hash-triple.c (STREQ): Likewise.
35192         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
35193         * lib/getugroups.c (STREQ): Likewise.
35194
35195 2010-01-23  Jim Meyering  <meyering@redhat.com>
35196
35197         maint.mk: fix syntax-check in a non-srcdir build directory
35198         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
35199         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
35200
35201 2010-01-22  Jim Meyering  <meyering@redhat.com>
35202
35203         userspec: add unit tests
35204         * tests/test-userspec.c: New file.
35205         * modules/userspec-tests: Likewise.
35206
35207 2010-01-21  Jim Meyering  <meyering@redhat.com>
35208
35209         maint.mk: handle source file names containing "." robustly
35210         * top/maint.mk (_dot_escaped_srcdir): Define.
35211         (VC_LIST): Use it in LHS of sed substitution.
35212
35213 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
35214
35215         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
35216         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
35217         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
35218         from a non-srcdir build.
35219
35220 2010-01-20  Eric Blake  <ebb9@byu.net>
35221
35222         warn-on-use: use instead of link-warning
35223         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
35224         * modules/unistd (Depends-on, Makefile.am): Likewise.
35225         * modules/arpa_inet (Depends-on): Replace link-warning with
35226         warn-on-use.
35227         (Makefile.am): Update rules accordingly.
35228         * modules/ctype (Depends-on, Makefile.am): Likewise.
35229         * modules/dirent (Depends-on, Makefile.am): Likewise.
35230         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
35231         * modules/inttypes (Depends-on, Makefile.am): Likewise.
35232         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35233         * modules/locale (Depends-on, Makefile.am): Likewise.
35234         * modules/math (Depends-on, Makefile.am): Likewise.
35235         * modules/search (Depends-on, Makefile.am): Likewise.
35236         * modules/signal (Depends-on, Makefile.am): Likewise.
35237         * modules/spawn (Depends-on, Makefile.am): Likewise.
35238         * modules/stdlib (Depends-on, Makefile.am): Likewise.
35239         * modules/string (Depends-on, Makefile.am): Likewise.
35240         * modules/strings (Depends-on, Makefile.am): Likewise.
35241         * modules/sys_file (Depends-on, Makefile.am): Likewise.
35242         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
35243         * modules/sys_select (Depends-on, Makefile.am): Likewise.
35244         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
35245         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
35246         * modules/sys_times (Depends-on, Makefile.am): Likewise.
35247         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35248         * modules/wchar (Depends-on, Makefile.am): Likewise.
35249         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
35250         should be poisoned.
35251         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
35252         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
35253         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
35254         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35255         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35256         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
35257         * m4/math_h.m4 (gl_MATH_H): Likewise.
35258         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35259         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
35260         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35261         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
35262         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
35263         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
35264         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
35265         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
35266         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
35267         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35268         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35269         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
35270         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35271         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35272         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
35273         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35274         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
35275         GL_LINK_WARNING.
35276         * lib/ctype.in.h: Likewise.
35277         * lib/dirent.in.h: Likewise.
35278         * lib/fcntl.in.h: Likewise.
35279         * lib/inttypes.in.h: Likewise.
35280         * lib/langinfo.in.h: Likewise.
35281         * lib/locale.in.h: Likewise.
35282         * lib/math.in.h: Likewise.
35283         * lib/search.in.h: Likewise.
35284         * lib/signal.in.h: Likewise.
35285         * lib/spawn.in.h: Likewise.
35286         * lib/stdio.in.h: Likewise.
35287         * lib/stdlib.in.h: Likewise.
35288         * lib/string.in.h: Likewise.
35289         * lib/strings.in.h: Likewise.
35290         * lib/sys_file.in.h: Likewise.
35291         * lib/sys_ioctl.in.h: Likewise.
35292         * lib/sys_select.in.h: Likewise.
35293         * lib/sys_socket.in.h: Likewise.
35294         * lib/sys_stat.in.h: Likewise.
35295         * lib/sys_times.in.h: Likewise.
35296         * lib/sys_utsname.in.h: Likewise.
35297         * lib/unistd.in.h: Likewise.
35298         * lib/wchar.in.h: Likewise.
35299
35300 2010-01-20  Bruno Haible  <bruno@clisp.org>
35301
35302         Avoid duplicate -lm.
35303         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
35304         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
35305         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
35306         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
35307         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
35308         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
35309         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
35310         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
35311         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
35312         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
35313         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
35314         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
35315         Reported by Paolo Bonzini.
35316
35317 2010-01-19  Bruno Haible  <bruno@clisp.org>
35318
35319         langinfo, nl_langinfo: Relicense under LGPLv2+.
35320         * modules/langinfo (License): Change to LGPLv2+.
35321         * modules/nl_langinfo (License): Likewise.
35322         Patch by David Lutterkort <lutter@redhat.com>.
35323
35324 2010-01-19  Bruno Haible  <bruno@clisp.org>
35325
35326         Avoid compilation error with cc on OSF/1 5.1.
35327         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
35328         statement, not before.
35329         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35330
35331 2010-01-18  Bruno Haible  <bruno@clisp.org>
35332
35333         Avoid a link error due to the __printf__ symbol.
35334         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
35335         and 2.6.x.
35336         (__format__, __printf__): Remove definitions.
35337         * lib/argp-fmtstream.h: Likewise.
35338         * lib/argp.h: Likewise.
35339         * lib/error.h: Likewise.
35340         * lib/vasnprintf.h: Likewise.
35341         * lib/xprintf.h: Likewise.
35342         * lib/xvasprintf.h: Likewise.
35343         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35344
35345 2010-01-18  Bruno Haible  <bruno@clisp.org>
35346
35347         Tests for module 'tanl'.
35348         * modules/tanl-tests: New file.
35349         * tests/test-tanl.c: New file.
35350
35351         Tests for module 'sqrtl'.
35352         * modules/sqrtl-tests: New file.
35353         * tests/test-sqrtl.c: New file.
35354
35355         Tests for module 'sinl'.
35356         * modules/sinl-tests: New file.
35357         * tests/test-sinl.c: New file.
35358
35359         Tests for module 'logl'.
35360         * modules/logl-tests: New file.
35361         * tests/test-logl.c: New file.
35362
35363         Tests for module 'expl'.
35364         * modules/expl-tests: New file.
35365         * tests/test-expl.c: New file.
35366
35367         Tests for module 'cosl'.
35368         * modules/cosl-tests: New file.
35369         * tests/test-cosl.c: New file.
35370
35371         Tests for module 'atanl'.
35372         * modules/atanl-tests: New file.
35373         * tests/test-atanl.c: New file.
35374
35375         Tests for module 'asinl'.
35376         * modules/asinl-tests: New file.
35377         * tests/test-asinl.c: New file.
35378
35379         Tests for module 'acosl'.
35380         * modules/acosl-tests: New file.
35381         * tests/test-acosl.c: New file.
35382
35383         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35384         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
35385         tanl): Use the standard gnulib idiom.
35386         * lib/cosl.c: Don't include trigl.c and sincosl.c.
35387         * lib/sinl.c: Likewise.
35388         * lib/tanl.c: Don't include trigl.c.
35389         (kernel_tanl): Make static.
35390         * lib/sincosl.c: Include trigl.h first.
35391         * lib/trigl.c: Likewise.
35392         * m4/acosl.m4: New file.
35393         * m4/asinl.m4: New file.
35394         * m4/atanl.m4: New file.
35395         * m4/cosl.m4: New file.
35396         * m4/expl.m4: New file.
35397         * m4/logl.m4: New file.
35398         * m4/sinl.m4: New file.
35399         * m4/sqrtl.m4: New file.
35400         * m4/tanl.m4: New file.
35401         * m4/mathl.m4: Remove file.
35402         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
35403         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35404         Don't initialize GNULIB_MATHL.
35405         * modules/acosl: New file.
35406         * modules/asinl: New file.
35407         * modules/atanl: New file.
35408         * modules/cosl: New file.
35409         * modules/expl: New file.
35410         * modules/logl: New file.
35411         * modules/sinl: New file.
35412         * modules/sqrtl: New file.
35413         * modules/tanl: New file.
35414         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
35415         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
35416         substitute GNULIB_MATHL.
35417         * modules/mathl: Rewritten.
35418         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
35419         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
35420         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
35421         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
35422         * doc/posix-functions/expl.texi: Mention the 'expl' module.
35423         * doc/posix-functions/logl.texi: Mention the 'logl' module.
35424         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
35425         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
35426         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
35427
35428 2010-01-18  Bruno Haible  <bruno@clisp.org>
35429
35430         sqrt: Make gl_FUNC_SQRT requirable.
35431         * m4/sqrt.m4: New file.
35432         * modules/sqrt (Files): Add it.
35433         (configure.ac): Invoke gl_FUNC_SQRT.
35434
35435 2010-01-18  Bruno Haible  <bruno@clisp.org>
35436
35437         New modules for common <math.h> functions.
35438         * m4/mathfunc.m4: New file.
35439         * modules/acos: New file.
35440         * modules/asin: New file.
35441         * modules/atan: New file.
35442         * modules/atan2: New file.
35443         * modules/cbrt: New file.
35444         * modules/copysign: New file.
35445         * modules/cos: New file.
35446         * modules/cosh: New file.
35447         * modules/erf: New file.
35448         * modules/erfc: New file.
35449         * modules/exp: New file.
35450         * modules/fabs: New file.
35451         * modules/fmod: New file.
35452         * modules/hypot: New file.
35453         * modules/j0: New file.
35454         * modules/j1: New file.
35455         * modules/jn: New file.
35456         * modules/ldexp: New file.
35457         * modules/lgamma: New file.
35458         * modules/log: New file.
35459         * modules/log10: New file.
35460         * modules/log1p: New file.
35461         * modules/logb: New file.
35462         * modules/modf: New file.
35463         * modules/nextafter: New file.
35464         * modules/pow: New file.
35465         * modules/remainder: New file.
35466         * modules/rint: New file.
35467         * modules/sin: New file.
35468         * modules/sinh: New file.
35469         * modules/sqrt: New file.
35470         * modules/tan: New file.
35471         * modules/tanh: New file.
35472         * modules/y0: New file.
35473         * modules/y1: New file.
35474         * modules/yn: New file.
35475         * doc/posix-functions/acos.texi: Mention the 'acos' module.
35476         * doc/posix-functions/asin.texi: Mention the 'asin' module.
35477         * doc/posix-functions/atan.texi: Mention the 'atan' module.
35478         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
35479         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
35480         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
35481         * doc/posix-functions/cos.texi: Mention the 'cos' module.
35482         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
35483         * doc/posix-functions/erf.texi: Mention the 'erf' module.
35484         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
35485         * doc/posix-functions/exp.texi: Mention the 'exp' module.
35486         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
35487         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
35488         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
35489         * doc/posix-functions/j0.texi: Mention the 'j0' module.
35490         * doc/posix-functions/j1.texi: Mention the 'j1' module.
35491         * doc/posix-functions/jn.texi: Mention the 'jn' module.
35492         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
35493         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
35494         * doc/posix-functions/log.texi: Mention the 'log' module.
35495         * doc/posix-functions/log10.texi: Mention the 'log10' module.
35496         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
35497         * doc/posix-functions/logb.texi: Mention the 'logb' module.
35498         * doc/posix-functions/modf.texi: Mention the 'modf' module.
35499         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
35500         * doc/posix-functions/pow.texi: Mention the 'pow' module.
35501         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
35502         * doc/posix-functions/rint.texi: Mention the 'rint' module.
35503         * doc/posix-functions/sin.texi: Mention the 'sin' module.
35504         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
35505         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
35506         * doc/posix-functions/tan.texi: Mention the 'tan' module.
35507         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
35508         * doc/posix-functions/y0.texi: Mention the 'y0' module.
35509         * doc/posix-functions/y1.texi: Mention the 'y1' module.
35510         * doc/posix-functions/yn.texi: Mention the 'yn' module.
35511
35512 2010-01-18  Jim Meyering  <meyering@redhat.com>
35513
35514         ignore-value: relax license to LGPLv2+
35515         * modules/ignore-value (License): Relax to LGPLv2+.
35516
35517         getdate: don't leak when TZ contains two or more '"'s
35518         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
35519         double quote in TZ after the first one.
35520
35521         readtokens: do not leak internal token_lengths buffer
35522         * lib/readtokens.c (readtokens): Free the local, lengths,
35523         when the supplied "token_lengths" parameter is NULL.
35524
35525 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35526
35527         Fix a couple of missing LIBTHREAD link failures on AIX.
35528         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
35529         $(LIBTHREAD).
35530         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
35531
35532         Link test-poll against INET_PTON_LIB.
35533         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
35534         for inet_pton on Solaris 10.
35535
35536 2010-01-17  Bruno Haible  <bruno@clisp.org>
35537
35538         unistdio/*-sprintf: Fix typo in module description.
35539         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
35540         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
35541         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
35542         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
35543         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
35544         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
35545         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
35546         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35547
35548 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35549
35550         gnulib-tool: fix filelist for AIX, HP-UX ksh.
35551         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
35552         variables in shell case patterns, for AIX and HP-UX ksh.
35553
35554         Split large sed scripts, for HP-UX sed.
35555         * modules/stdio: Split sed scripts around 50 sed commands,
35556         to avoid HP-UX limit of 99 commands, in the near future.
35557         * modules/string: Likewise.
35558         * modules/unistd: Likewise.
35559
35560         gnulib-tool: avoid writing in the current directory.
35561         * gnulib-tool (func_emit_lib_Makefile_am)
35562         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
35563         not in the current directory, so concurrent gnulib-tool
35564         instances do not interfere.
35565
35566 2010-01-16  Jim Meyering  <meyering@redhat.com>
35567
35568         doc: update users.txt
35569         * users.txt: Add grep.
35570         (diffutils, gzip): Update URLs.
35571
35572 2010-01-12  Bruno Haible  <bruno@clisp.org>
35573
35574         posix_spawn: Avoid test failure on Cygwin.
35575         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
35576         characters.
35577         Reported by Simon Josefsson.
35578
35579 2010-01-12  Bruno Haible  <bruno@clisp.org>
35580
35581         * tests/test-cond.c (main): When skipping the test, show the reason.
35582
35583 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35584
35585         * lib/striconv.c (str_cd_iconv): Avoid if before free.
35586
35587 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35588
35589         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
35590         VC_LIST_ALWAYS_EXCLUDE_REGEX.
35591
35592 2010-01-12  Eric Blake  <ebb9@byu.net>
35593
35594         build: guarantee AS_VAR_IF
35595         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
35596         (gl_AS_VAR_IF): Move...
35597         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
35598         Reported by Simon Josefsson.
35599
35600 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35601
35602         * lib/stdio.in.h: Fix typo.
35603
35604 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35605
35606         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
35607         libgpg-error.
35608
35609 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35610
35611         * tests/test-xalloc-die.sh: Use $EXEEXT.
35612
35613 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35614             Bruno Haible  <bruno@clisp.org>
35615
35616         getlogin, getlogin_r: Avoid test failure.
35617         * tests/test-getlogin.c: Include <stdio.h>.
35618         (main): Skip the test when the function fails because stdin is not a
35619         tty.
35620         * tests/test-getlogin_r.c: Include <stdio.h>.
35621         (main): Skip the test when the function fails because stdin is not a
35622         tty.
35623
35624 2010-01-11  Eric Blake  <ebb9@byu.net>
35625
35626         tests: avoid more large file warnings
35627         * tests/test-fflush.c: Avoid warning about ftell use.
35628         * tests/test-fseek.c: Avoid warning about fseek use.
35629
35630 2010-01-10  Bruno Haible  <bruno@clisp.org>
35631
35632         nproc: Work better on Linux when /proc and /sys are not mounted.
35633         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
35634         as lower bound when, on glibc/Linux systems,
35635         sysconf (_SC_NPROCESSORS_CONF) returns 1.
35636         Suggested by Pádraig Brady <P@draigbrady.com>.
35637         Reported by Dmitry V. Levin <ldv@altlinux.org>.
35638
35639         nproc: Refactor.
35640         * lib/nproc.c (num_processors_via_affinity_mask): New function,
35641         extracted from num_processors.
35642         (num_processors): Call it.
35643
35644 2010-01-11  Jim Meyering  <meyering@redhat.com>
35645
35646         utimecmp: avoid new warning from upcoming gcc-4.5.0
35647         * lib/utimecmp.c (BILLION): Define using #define rather than an
35648         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
35649
35650 2010-01-11  Eric Blake  <ebb9@byu.net>
35651
35652         math: add portability warnings for classification macros
35653         * modules/math (Depends-on): Add warn-on-use.
35654         (Makefile.am): Provide new substitutions.
35655         * m4/math_h.m4 (gl_MATH_H): Require inline.
35656         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
35657         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
35658         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
35659         implement warnings.
35660
35661         unistd: warn on use of environ without module
35662         * modules/unistd (Depends-on): Add warn-on-use.
35663         (Makefile.am): Provide new substitutions.
35664         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
35665         * lib/unistd.in.h (environ): Wrap with a warning helper function.
35666
35667         stdio: warn on suspicious uses
35668         * modules/stdio (Depends-on): Add warn-on-use.
35669         (Makefile.am): Provide new substitutions.
35670         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
35671         fseeko.
35672         * lib/stdio.in.h (gets): Always warn on use.
35673         (fseek, ftell): Adjust when warnings are issued, and honor
35674         _GL_NO_LARGE_FILES as a way to silence the warning.
35675         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
35676         any warning about large file offsets.
35677         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
35678         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
35679         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
35680         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
35681         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
35682         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
35683         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
35684         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
35685
35686         warn-on-use: new module
35687         * modules/warn-on-use: New file.
35688         * build-aux/warn-on-use.h: Likewise.
35689         * m4/warn-on-use.m4: Likewise.
35690         * MODULES.html.sh (Support for building): Mention it.
35691
35692 2010-01-10  Bruno Haible  <bruno@clisp.org>
35693
35694         Tests for module 'unistr/u32-strdup'.
35695         * modules/unistr/u32-strdup-tests: New file.
35696         * tests/unistr/test-u32-strdup.c: New file.
35697
35698         Tests for module 'unistr/u16-strdup'.
35699         * modules/unistr/u16-strdup-tests: New file.
35700         * tests/unistr/test-u16-strdup.c: New file.
35701
35702         Tests for module 'unistr/u8-strdup'.
35703         * modules/unistr/u8-strdup-tests: New file.
35704         * tests/unistr/test-u8-strdup.c: New file.
35705         * tests/unistr/test-strdup.h: New file.
35706
35707         Tests for module 'unistr/u32-strncmp'.
35708         * modules/unistr/u32-strncmp-tests: New file.
35709         * tests/unistr/test-u32-strncmp.c: New file.
35710
35711         Tests for module 'unistr/u16-strncmp'.
35712         * modules/unistr/u16-strncmp-tests: New file.
35713         * tests/unistr/test-u16-strncmp.c: New file.
35714
35715         Tests for module 'unistr/u8-strncmp'.
35716         * modules/unistr/u8-strncmp-tests: New file.
35717         * tests/unistr/test-u8-strncmp.c: New file.
35718         * tests/unistr/test-strncmp.h: New file.
35719
35720         Tests for module 'unistr/u32-strcoll'.
35721         * modules/unistr/u32-strcoll-tests: New file.
35722         * tests/unistr/test-u32-strcoll.c: New file.
35723
35724         Tests for module 'unistr/u16-strcoll'.
35725         * modules/unistr/u16-strcoll-tests: New file.
35726         * tests/unistr/test-u16-strcoll.c: New file.
35727
35728         Tests for module 'unistr/u8-strcoll'.
35729         * modules/unistr/u8-strcoll-tests: New file.
35730         * tests/unistr/test-u8-strcoll.c: New file.
35731
35732         Tests for module 'unistr/u32-strcmp'.
35733         * modules/unistr/u32-strcmp-tests: New file.
35734         * tests/unistr/test-u32-strcmp.c: New file.
35735         * tests/unistr/test-u32-strcmp.h: New file.
35736
35737         Tests for module 'unistr/u16-strcmp'.
35738         * modules/unistr/u16-strcmp-tests: New file.
35739         * tests/unistr/test-u16-strcmp.c: New file.
35740         * tests/unistr/test-u16-strcmp.h: New file.
35741
35742         Tests for module 'unistr/u8-strcmp'.
35743         * modules/unistr/u8-strcmp-tests: New file.
35744         * tests/unistr/test-u8-strcmp.c: New file.
35745         * tests/unistr/test-u8-strcmp.h: New file.
35746         * tests/unistr/test-strcmp.h: New file.
35747
35748         Tests for module 'unistr/u32-strncat'.
35749         * modules/unistr/u32-strncat-tests: New file.
35750         * tests/unistr/test-u32-strncat.c: New file.
35751
35752         Tests for module 'unistr/u16-strncat'.
35753         * modules/unistr/u16-strncat-tests: New file.
35754         * tests/unistr/test-u16-strncat.c: New file.
35755
35756         Tests for module 'unistr/u8-strncat'.
35757         * modules/unistr/u8-strncat-tests: New file.
35758         * tests/unistr/test-u8-strncat.c: New file.
35759         * tests/unistr/test-strncat.h: New file.
35760
35761         Tests for module 'unistr/u32-strcat'.
35762         * modules/unistr/u32-strcat-tests: New file.
35763         * tests/unistr/test-u32-strcat.c: New file.
35764
35765         Tests for module 'unistr/u16-strcat'.
35766         * modules/unistr/u16-strcat-tests: New file.
35767         * tests/unistr/test-u16-strcat.c: New file.
35768
35769         Tests for module 'unistr/u8-strcat'.
35770         * modules/unistr/u8-strcat-tests: New file.
35771         * tests/unistr/test-u8-strcat.c: New file.
35772         * tests/unistr/test-strcat.h: New file.
35773
35774         Tests for module 'unistr/u32-stpncpy'.
35775         * modules/unistr/u32-stpncpy-tests: New file.
35776         * tests/unistr/test-u32-stpncpy.c: New file.
35777
35778         Tests for module 'unistr/u16-stpncpy'.
35779         * modules/unistr/u16-stpncpy-tests: New file.
35780         * tests/unistr/test-u16-stpncpy.c: New file.
35781
35782         Tests for module 'unistr/u8-stpncpy'.
35783         * modules/unistr/u8-stpncpy-tests: New file.
35784         * tests/unistr/test-u8-stpncpy.c: New file.
35785         * tests/unistr/test-stpncpy.h: New file.
35786
35787         Tests for module 'unistr/u32-strncpy'.
35788         * modules/unistr/u32-strncpy-tests: New file.
35789         * tests/unistr/test-u32-strncpy.c: New file.
35790
35791         Tests for module 'unistr/u16-strncpy'.
35792         * modules/unistr/u16-strncpy-tests: New file.
35793         * tests/unistr/test-u16-strncpy.c: New file.
35794
35795         Tests for module 'unistr/u8-strncpy'.
35796         * modules/unistr/u8-strncpy-tests: New file.
35797         * tests/unistr/test-u8-strncpy.c: New file.
35798         * tests/unistr/test-strncpy.h: New file.
35799
35800         Tests for module 'unistr/u32-stpcpy'.
35801         * modules/unistr/u32-stpcpy-tests: New file.
35802         * tests/unistr/test-u32-stpcpy.c: New file.
35803
35804         Tests for module 'unistr/u16-stpcpy'.
35805         * modules/unistr/u16-stpcpy-tests: New file.
35806         * tests/unistr/test-u16-stpcpy.c: New file.
35807
35808         Tests for module 'unistr/u8-stpcpy'.
35809         * modules/unistr/u8-stpcpy-tests: New file.
35810         * tests/unistr/test-u8-stpcpy.c: New file.
35811         * tests/unistr/test-stpcpy.h: New file.
35812
35813         Tests for module 'unistr/u32-strcpy'.
35814         * modules/unistr/u32-strcpy-tests: New file.
35815         * tests/unistr/test-u32-strcpy.c: New file.
35816
35817         Tests for module 'unistr/u16-strcpy'.
35818         * modules/unistr/u16-strcpy-tests: New file.
35819         * tests/unistr/test-u16-strcpy.c: New file.
35820
35821         Tests for module 'unistr/u8-strcpy'.
35822         * modules/unistr/u8-strcpy-tests: New file.
35823         * tests/unistr/test-u8-strcpy.c: New file.
35824         * tests/unistr/test-strcpy.h: New file.
35825
35826         Tests for module 'unistr/u32-strnlen'.
35827         * modules/unistr/u32-strnlen-tests: New file.
35828         * tests/unistr/test-u32-strnlen.c: New file.
35829
35830         Tests for module 'unistr/u16-strnlen'.
35831         * modules/unistr/u16-strnlen-tests: New file.
35832         * tests/unistr/test-u16-strnlen.c: New file.
35833
35834         Tests for module 'unistr/u8-strnlen'.
35835         * modules/unistr/u8-strnlen-tests: New file.
35836         * tests/unistr/test-u8-strnlen.c: New file.
35837         * tests/unistr/test-strnlen.h: New file.
35838
35839         Tests for module 'unistr/u32-strlen'.
35840         * modules/unistr/u32-strlen-tests: New file.
35841         * tests/unistr/test-u32-strlen.c: New file.
35842
35843         Tests for module 'unistr/u16-strlen'.
35844         * modules/unistr/u16-strlen-tests: New file.
35845         * tests/unistr/test-u16-strlen.c: New file.
35846
35847         Tests for module 'unistr/u8-strlen'.
35848         * modules/unistr/u8-strlen-tests: New file.
35849         * tests/unistr/test-u8-strlen.c: New file.
35850
35851         Tests for module 'unistr/u32-prev'.
35852         * modules/unistr/u32-prev-tests: New file.
35853         * tests/unistr/test-u32-prev.c: New file.
35854
35855         Tests for module 'unistr/u16-prev'.
35856         * modules/unistr/u16-prev-tests: New file.
35857         * tests/unistr/test-u16-prev.c: New file.
35858
35859         Tests for module 'unistr/u8-prev'.
35860         * modules/unistr/u8-prev-tests: New file.
35861         * tests/unistr/test-u8-prev.c: New file.
35862
35863         Tests for module 'unistr/u32-next'.
35864         * modules/unistr/u32-next-tests: New file.
35865         * tests/unistr/test-u32-next.c: New file.
35866
35867         Tests for module 'unistr/u16-next'.
35868         * modules/unistr/u16-next-tests: New file.
35869         * tests/unistr/test-u16-next.c: New file.
35870
35871         Tests for module 'unistr/u8-next'.
35872         * modules/unistr/u8-next-tests: New file.
35873         * tests/unistr/test-u8-next.c: New file.
35874
35875         Tests for module 'unistr/u32-strmbtouc'.
35876         * modules/unistr/u32-strmbtouc-tests: New file.
35877         * tests/unistr/test-u32-strmbtouc.c: New file.
35878
35879         Tests for module 'unistr/u16-strmbtouc'.
35880         * modules/unistr/u16-strmbtouc-tests: New file.
35881         * tests/unistr/test-u16-strmbtouc.c: New file.
35882
35883         Tests for module 'unistr/u8-strmbtouc'.
35884         * modules/unistr/u8-strmbtouc-tests: New file.
35885         * tests/unistr/test-u8-strmbtouc.c: New file.
35886
35887         Tests for module 'unistr/u32-strmblen'.
35888         * modules/unistr/u32-strmblen-tests: New file.
35889         * tests/unistr/test-u32-strmblen.c: New file.
35890
35891         Tests for module 'unistr/u16-strmblen'.
35892         * modules/unistr/u16-strmblen-tests: New file.
35893         * tests/unistr/test-u16-strmblen.c: New file.
35894
35895         Tests for module 'unistr/u8-strmblen'.
35896         * modules/unistr/u8-strmblen-tests: New file.
35897         * tests/unistr/test-u8-strmblen.c: New file.
35898
35899         Tests for module 'unistr/u32-cpy-alloc'.
35900         * modules/unistr/u32-cpy-alloc-tests: New file.
35901         * tests/unistr/test-u32-cpy-alloc.c: New file.
35902
35903         Tests for module 'unistr/u16-cpy-alloc'.
35904         * modules/unistr/u16-cpy-alloc-tests: New file.
35905         * tests/unistr/test-u16-cpy-alloc.c: New file.
35906
35907         Tests for module 'unistr/u8-cpy-alloc'.
35908         * modules/unistr/u8-cpy-alloc-tests: New file.
35909         * tests/unistr/test-u8-cpy-alloc.c: New file.
35910         * tests/unistr/test-cpy-alloc.h: New file.
35911
35912         Tests for module 'unistr/u32-mbsnlen'.
35913         * modules/unistr/u32-mbsnlen-tests: New file.
35914         * tests/unistr/test-u32-mbsnlen.c: New file.
35915
35916         Tests for module 'unistr/u16-mbsnlen'.
35917         * modules/unistr/u16-mbsnlen-tests: New file.
35918         * tests/unistr/test-u16-mbsnlen.c: New file.
35919
35920         Tests for module 'unistr/u8-mbsnlen'.
35921         * modules/unistr/u8-mbsnlen-tests: New file.
35922         * tests/unistr/test-u8-mbsnlen.c: New file.
35923
35924         Tests for module 'unistr/u32-chr'.
35925         * modules/unistr/u32-chr-tests: New file.
35926         * tests/unistr/test-u32-chr.c: New file.
35927
35928         Tests for module 'unistr/u16-chr'.
35929         * modules/unistr/u16-chr-tests: New file.
35930         * tests/unistr/test-u16-chr.c: New file.
35931
35932         Tests for module 'unistr/u8-chr'.
35933         * modules/unistr/u8-chr-tests: New file.
35934         * tests/unistr/test-u8-chr.c: New file.
35935         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
35936
35937         Tests for module 'unistr/u32-cmp2'.
35938         * modules/unistr/u32-cmp2-tests: New file.
35939         * tests/unistr/test-u32-cmp2.c: New file.
35940
35941         Tests for module 'unistr/u16-cmp2'.
35942         * modules/unistr/u16-cmp2-tests: New file.
35943         * tests/unistr/test-u16-cmp2.c: New file.
35944
35945         Tests for module 'unistr/u8-cmp2'.
35946         * modules/unistr/u8-cmp2-tests: New file.
35947         * tests/unistr/test-u8-cmp2.c: New file.
35948         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
35949
35950         Tests for module 'unistr/u32-cmp'.
35951         * modules/unistr/u32-cmp-tests: New file.
35952         * tests/unistr/test-u32-cmp.c: New file.
35953
35954         Tests for module 'unistr/u16-cmp'.
35955         * modules/unistr/u16-cmp-tests: New file.
35956         * tests/unistr/test-u16-cmp.c: New file.
35957
35958         Tests for module 'unistr/u8-cmp'.
35959         * modules/unistr/u8-cmp-tests: New file.
35960         * tests/unistr/test-u8-cmp.c: New file.
35961         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
35962
35963         Tests for module 'unistr/u32-set'.
35964         * modules/unistr/u32-set-tests: New file.
35965         * tests/unistr/test-u32-set.c: New file.
35966
35967         Tests for module 'unistr/u16-set'.
35968         * modules/unistr/u16-set-tests: New file.
35969         * tests/unistr/test-u16-set.c: New file.
35970
35971         Tests for module 'unistr/u8-set'.
35972         * modules/unistr/u8-set-tests: New file.
35973         * tests/unistr/test-u8-set.c: New file.
35974         * tests/unistr/test-set.h: New file.
35975
35976         Tests for module 'unistr/u32-move'.
35977         * modules/unistr/u32-move-tests: New file.
35978         * tests/unistr/test-u32-move.c: New file.
35979
35980         Tests for module 'unistr/u16-move'.
35981         * modules/unistr/u16-move-tests: New file.
35982         * tests/unistr/test-u16-move.c: New file.
35983
35984         Tests for module 'unistr/u8-move'.
35985         * modules/unistr/u8-move-tests: New file.
35986         * tests/unistr/test-u8-move.c: New file.
35987         * tests/unistr/test-move.h: New file.
35988
35989         Tests for module 'unistr/u32-cpy'.
35990         * modules/unistr/u32-cpy-tests: New file.
35991         * tests/unistr/test-u32-cpy.c: New file.
35992
35993         Tests for module 'unistr/u16-cpy'.
35994         * modules/unistr/u16-cpy-tests: New file.
35995         * tests/unistr/test-u16-cpy.c: New file.
35996
35997         Tests for module 'unistr/u8-cpy'.
35998         * modules/unistr/u8-cpy-tests: New file.
35999         * tests/unistr/test-u8-cpy.c: New file.
36000         * tests/unistr/test-cpy.h: New file.
36001
36002 2010-01-09  Bruno Haible  <bruno@clisp.org>
36003
36004         Tests for module 'unistr/u32-uctomb'.
36005         * modules/unistr/u32-uctomb-tests: New file.
36006         * tests/unistr/test-u32-uctomb.c: New file.
36007
36008         Tests for module 'unistr/u16-uctomb'.
36009         * modules/unistr/u16-uctomb-tests: New file.
36010         * tests/unistr/test-u16-uctomb.c: New file.
36011
36012         Tests for module 'unistr/u8-uctomb'.
36013         * modules/unistr/u8-uctomb-tests: New file.
36014         * tests/unistr/test-u8-uctomb.c: New file.
36015
36016         Tests for module 'unistr/u32-mbtoucr'.
36017         * modules/unistr/u32-mbtoucr-tests: New file.
36018         * tests/unistr/test-u32-mbtoucr.c: New file.
36019
36020         Tests for module 'unistr/u16-mbtoucr'.
36021         * modules/unistr/u16-mbtoucr-tests: New file.
36022         * tests/unistr/test-u16-mbtoucr.c: New file.
36023
36024         Tests for module 'unistr/u8-mbtoucr'.
36025         * modules/unistr/u8-mbtoucr-tests: New file.
36026         * tests/unistr/test-u8-mbtoucr.c: New file.
36027
36028         Tests for module 'unistr/u32-mbtouc'.
36029         * modules/unistr/u32-mbtouc-tests: New file.
36030         * tests/unistr/test-u32-mbtouc.c: New file.
36031
36032         Tests for module 'unistr/u16-mbtouc'.
36033         * modules/unistr/u16-mbtouc-tests: New file.
36034         * tests/unistr/test-u16-mbtouc.c: New file.
36035
36036         Tests for module 'unistr/u8-mbtouc'.
36037         * modules/unistr/u8-mbtouc-tests: New file.
36038         * tests/unistr/test-u8-mbtouc.c: New file.
36039
36040         Tests for module 'unistr/u32-mbtouc-unsafe'.
36041         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
36042         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
36043         * tests/unistr/test-u32-mbtouc.h: New file.
36044
36045         Tests for module 'unistr/u16-mbtouc-unsafe'.
36046         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
36047         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
36048         * tests/unistr/test-u16-mbtouc.h: New file.
36049
36050         Tests for module 'unistr/u8-mbtouc-unsafe'.
36051         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
36052         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
36053         * tests/unistr/test-u8-mbtouc.h: New file.
36054
36055         Tests for module 'unistr/u32-mblen'.
36056         * modules/unistr/u32-mblen-tests: New file.
36057         * tests/unistr/test-u32-mblen.c: New file.
36058
36059         Tests for module 'unistr/u16-mblen'.
36060         * modules/unistr/u16-mblen-tests: New file.
36061         * tests/unistr/test-u16-mblen.c: New file.
36062
36063         Tests for module 'unistr/u8-mblen'.
36064         * modules/unistr/u8-mblen-tests: New file.
36065         * tests/unistr/test-u8-mblen.c: New file.
36066
36067         Tests for module 'unistr/u32-to-u16'.
36068         * modules/unistr/u32-to-u16-tests: New file.
36069         * tests/unistr/test-u32-to-u16.c: New file.
36070
36071         Tests for module 'unistr/u32-to-u8'.
36072         * modules/unistr/u32-to-u8-tests: New file.
36073         * tests/unistr/test-u32-to-u8.c: New file.
36074
36075         Tests for module 'unistr/u16-to-u32'.
36076         * modules/unistr/u16-to-u32-tests: New file.
36077         * tests/unistr/test-u16-to-u32.c: New file.
36078
36079         Tests for module 'unistr/u16-to-u8'.
36080         * modules/unistr/u16-to-u8-tests: New file.
36081         * tests/unistr/test-u16-to-u8.c: New file.
36082
36083         Tests for module 'unistr/u8-to-u32'.
36084         * modules/unistr/u8-to-u32-tests: New file.
36085         * tests/unistr/test-u8-to-u32.c: New file.
36086
36087         Tests for module 'unistr/u8-to-u16'.
36088         * modules/unistr/u8-to-u16-tests: New file.
36089         * tests/unistr/test-u8-to-u16.c: New file.
36090
36091         Tests for module 'unistr/u32-check'.
36092         * modules/unistr/u32-check-tests: New file.
36093         * tests/unistr/test-u32-check.c: New file.
36094
36095         Tests for module 'unistr/u16-check'.
36096         * modules/unistr/u16-check-tests: New file.
36097         * tests/unistr/test-u16-check.c: New file.
36098
36099         Tests for module 'unistr/u8-check'.
36100         * modules/unistr/u8-check-tests: New file.
36101         * tests/unistr/test-u8-check.c: New file.
36102
36103         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
36104         (category_equals): New function.
36105         (main): Add more tests.
36106         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
36107
36108         * tests/unictype/test-bidi_byname.c (main): Add more tests.
36109
36110 2010-01-10  Bruno Haible  <bruno@clisp.org>
36111
36112         unistr/u*-strcoll: Try harder to distinguish different strings.
36113         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
36114         compare s1 and s2 to see if they are different.
36115
36116 2010-01-10  Bruno Haible  <bruno@clisp.org>
36117
36118         unistr/u*-stpncpy: Fix the return value.
36119         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
36120         description of the return value consistent with stpncpy in glibc.
36121         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
36122         written non-NUL unit.
36123
36124 2010-01-10  Bruno Haible  <bruno@clisp.org>
36125
36126         unistr/u*-next: Add missing dependencies.
36127         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
36128         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
36129         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
36130
36131 2010-01-10  Bruno Haible  <bruno@clisp.org>
36132
36133         unistr/u8-mbsnlen: Fix return value for incomplete character.
36134         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
36135         u8_mblen.
36136         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
36137         Remove unistr/u8-mblen.
36138         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
36139         u16_mblen.
36140         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
36141         Remove unistr/u16-mblen.
36142
36143 2010-01-10  Bruno Haible  <bruno@clisp.org>
36144
36145         wchar: Fix compilation error when <wchar.h> is used from coreutils.
36146         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
36147         Reported by Brian Gough <bjg@gnu.org> and
36148         Chris Clayton <chris2553@googlemail.com> via
36149         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
36150
36151 2010-01-09  Bruno Haible  <bruno@clisp.org>
36152
36153         unistr/u16-to-u32: Reject invalid input.
36154         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
36155         u16_mbtouc.
36156         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
36157         Remove unistr/u16-mbtouc.
36158
36159         unistr/u16-to-u8: Reject invalid input.
36160         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
36161         u16_mbtouc.
36162         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
36163         Remove unistr/u16-mbtouc.
36164
36165         unistr/u8-to-u32: Reject invalid input.
36166         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
36167         u8_mbtouc.
36168         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
36169         Remove unistr/u8-mbtouc.
36170
36171         unistr/u8-to-u16: Reject invalid input.
36172         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
36173         u8_mbtouc.
36174         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
36175         Remove unistr/u8-mbtouc.
36176
36177 2010-01-09  Bruno Haible  <bruno@clisp.org>
36178
36179         Tests for module 'getlogin'.
36180         * modules/getlogin-tests: New file.
36181         * tests/test-getlogin.c: New file.
36182
36183         New module 'getlogin'.
36184         * lib/unistd.in.h (getlogin): New declaration.
36185         * lib/getlogin.c: New file.
36186         * m4/getlogin.m4: New file.
36187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
36188         HAVE_GETLOGIN.
36189         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
36190         HAVE_GETLOGIN.
36191         * modules/getlogin: New file.
36192         * doc/posix-functions/getlogin.texi: Mention the new module.
36193         Reported by John W. Eaton <jwe@gnu.org>.
36194
36195 2010-01-09  Bruno Haible  <bruno@clisp.org>
36196
36197         getlogin_r: Support for native Windows.
36198         * lib/getlogin_r.c: Include <windows.h>
36199         (getlogin_r): Implement for native Windows.
36200         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
36201         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
36202         via John W. Eaton <jwe@gnu.org>.
36203
36204 2010-01-09  Bruno Haible  <bruno@clisp.org>
36205
36206         getlogin_r: Small fixes.
36207         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
36208         succeeds.
36209         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
36210         before testing whether getlogin_r is declared. No need to set
36211         HAVE_DECL_GETLOGIN_R to 1.
36212         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
36213
36214 2010-01-09  Bruno Haible  <bruno@clisp.org>
36215
36216         * lib/unistd.in.h (getlogin_r): Add comment.
36217
36218 2010-01-09  Bruno Haible  <bruno@clisp.org>
36219
36220         Tests for module 'getlogin_r'.
36221         * modules/getlogin_r-tests: New file.
36222         * tests/test-getlogin_r.c: New file.
36223
36224 2010-01-09  Jim Meyering  <meyering@redhat.com>
36225
36226         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
36227         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
36228         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
36229
36230 2010-01-08  Simon Josefsson  <simon@josefsson.org>
36231
36232         * lib/dup2.c (rpl_dup2): Improve comment.
36233
36234 2010-01-08  Eric Blake  <ebb9@byu.net>
36235
36236         maint.mk: allow packages to add makefile @@ exceptions
36237         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
36238         (sc_makefile_check): Rename...
36239         (sc_makefile_at_at_check): ...to this, and use hook.
36240
36241         dup2: work around mingw bug
36242         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
36243         Reported by Simon Josefsson.
36244
36245 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
36246
36247         glob: Fix C++ compilation.
36248         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
36249         C++.
36250
36251 2010-01-07  Bruno Haible  <bruno@clisp.org>
36252
36253         Fix indentation of wctype.in.h, broken since 2007-01-06.
36254         * lib/wctype.in.h: Fix indentation of preprocessor directives.
36255
36256 2010-01-07  Bruno Haible  <bruno@clisp.org>
36257
36258         mbslen: Avoid collision with system function.
36259         * lib/string.in.h [MirBSD]: Include <wchar.h>.
36260         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
36261         * m4/mbslen.m4: New file.
36262         * modules/mbslen (Files): Add it.
36263         (configure.ac): Invoke gl_MBSLEN.
36264         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
36265         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
36266         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
36267         via Ian Beckwith <ianb@erislabs.net>.
36268
36269 2010-01-07  Bruno Haible  <bruno@clisp.org>
36270
36271         dirent: Document the last fix.
36272         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
36273
36274 2010-01-07  Bruno Haible  <bruno@clisp.org>
36275
36276         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
36277         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
36278         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
36279         va_list are defined.
36280         * doc/posix-headers/stdio.texi: Document the bug of missing types.
36281         Reported by Eric Blake.
36282
36283 2010-01-07  Bruno Haible  <bruno@clisp.org>
36284
36285         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
36286         * modules/xlist (Depends-on): Add 'list',
36287         * modules/xoset (Depends-on): Add 'oset'.
36288         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36289
36290 2010-01-07  Bruno Haible  <bruno@clisp.org>
36291
36292         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
36293         * doc/posix-functions/strncasecmp.texi: Likewise.
36294
36295 2010-01-07  Bruno Haible  <bruno@clisp.org>
36296
36297         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
36298
36299 2010-01-07  John W. Eaton  <jwe@octave.org>
36300
36301         wctype: allow C++ use
36302         * lib/wctype.in.h: Add extern "C" block for C++.
36303
36304 2010-01-06  Eric Blake  <ebb9@byu.net>
36305
36306         maint.mk: detect incorrect GFDL usage
36307         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
36308
36309 2010-01-06  Jim Meyering  <meyering@redhat.com>
36310         and Eric Blake  <ebb9@byu.net>
36311
36312         maint.mk: ignore multi-line copyright in NEWS
36313         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
36314
36315 2010-01-06  Eric Blake  <ebb9@byu.net>
36316
36317         select: add missing dependency
36318         * modules/select-tests (Depends-on): Move sockets dependency...
36319         * modules/select (Depends-on): ...here.
36320         Reported by Ian Beckwith.
36321
36322         doc: regenerate INSTALL
36323         * doc/INSTALL: Reflect recent autoconf update.
36324         * doc/INSTALL.ISO: Likewise.
36325         * doc/INSTALL.UTF-8: Likewise.
36326
36327         pread: fix compilation on glibc
36328         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
36329         Reported by Ralf Wildenhues.
36330
36331         dirent: fix test failure
36332         * lib/dirent.in.h (includes): Guarantee ino_t.
36333         Reported by Ralf Wildenhues.
36334
36335 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
36336
36337         linkat, renameat: avoid bad free
36338         * lib/at-func2.c (at_func2): Fix typo.
36339         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
36340
36341 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36342
36343         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
36344         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
36345         to avoid failure of symlink test later.
36346
36347 2010-01-06  Eric Blake  <ebb9@byu.net>
36348
36349         stdio, unistd: guarantee ssize_t
36350         * lib/unistd.in.h (includes): Ensure that types required by POSIX
36351         2008 are exposed when needed.
36352         * lib/stdio.in.h (includes): Likewise.
36353         Reported by Ralf Wildenhues.
36354
36355 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
36356
36357         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
36358         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
36359         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
36360
36361 2010-01-06  Jim Meyering  <meyering@redhat.com>
36362
36363         readtokens: this module *does* require xalloc.h
36364         It uses only functions that were omitted by the old syntax-check rule.
36365         * lib/readtokens.c: Include "xalloc.h" once again.
36366         * modules/readtokens (Depends-on): Add xalloc.
36367         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
36368
36369 2010-01-05  Eric Blake  <ebb9@byu.net>
36370
36371         maint: support 'make announcement' from a VPATH build
36372         * top/maint.mk (announcement): Look for correct NEWS file.
36373
36374 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
36375
36376         utimens (fdutimens): ignore a negative FD, per contract
36377         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
36378         when we have a valid file descriptor.  Otherwise, using a brand
36379         new glibc (with just-patched futimens that now fails with EBADF)
36380         would cause this function to fail with ENOSYS.
36381         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
36382         See also http://bugzilla.redhat.com/552320.
36383
36384 2010-01-05  Eric Blake  <ebb9@byu.net>
36385
36386         strcase: document what it provides
36387         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
36388         gnulib module.
36389         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
36390         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
36391
36392 2010-01-05  Jim Meyering  <meyering@redhat.com>
36393
36394         maint: remove useless inclusions of "xalloc.h"
36395         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
36396         * lib/readtokens.c: Likewise.
36397         * lib/same.c: Likewise.
36398         * modules/getloadavg (Depends-on): Remove xalloc.
36399         * modules/readtokens: Likewise.
36400         * modules/same: Likewise.
36401
36402         maint.mk: include 4 more function names in alloca.h-checking regexp
36403         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
36404         regexp.  Before, we would give a false-positive (saying alloca.h
36405         is included unnecessarily) when the only uses involved omitted symbols.
36406
36407         xalloc.h: use consistent formatting
36408         * lib/xalloc.h: Move declarations to start in the first column.
36409
36410 2010-01-05  Eric Blake  <ebb9@byu.net>
36411
36412         mkdir: avoid xalloc
36413         * lib/mkdir.c (includes): Drop unused header.
36414         Reported by John W. Eaton.
36415
36416 2010-01-04  Jim Meyering  <meyering@redhat.com>
36417
36418         nl_langinfo: avoid configure-time syntax error
36419         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
36420         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
36421         the empty string.  Don't let that provoke a shell syntax error.
36422
36423         regcomp, regexec, fnmatch: avoid array bounds read error
36424         * lib/regcomp.c (build_equiv_class): From glibc:
36425         Use only the low 24 bits of a findidx return value as an index
36426         into the weights array.  Patch by Ulrich Drepper:
36427         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
36428         * lib/regexec.c (check_node_accept_bytes): Likewise.
36429         * lib/fnmatch_loop.c (FCT): Likewise.
36430
36431         regcomp: skip collseq lookup when there are no rules
36432         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
36433         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
36434
36435         regcomp: recognize ill-formed { } expressions
36436         * lib/regcomp.c (parse_dup_op): From glibc:
36437         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
36438
36439         regcomp: fix typo in comment
36440         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
36441         s/satisfy/satisfies/.
36442
36443         regcomp: sync from glibc: remove dead store
36444         * lib/regcomp.c (duplicate_node_closure): Remove useless
36445         search_duplicated_node call and dead store.
36446
36447         regcomp: sync from glibc; always use nl_langinfo
36448         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
36449         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
36450         * modules/regex (Depends-on): Add nl_langinfo.
36451
36452 2010-01-04  Eric Blake  <ebb9@byu.net>
36453
36454         fdopendir: fix configure test
36455         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
36456
36457 2010-01-01  Bruno Haible  <bruno@clisp.org>
36458
36459         wchar: Remove unused configure check.
36460         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
36461
36462 2010-01-01  Eric Blake  <ebb9@byu.net>
36463
36464         headers: make check of system header explicit
36465         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
36466         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
36467         ourselves.
36468         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36469         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36470         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36471         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
36472         internals.
36473         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
36474         missing.
36475         Suggested by Bruno Haible.
36476
36477 2010-01-01  Jim Meyering  <meyering@redhat.com>
36478
36479         ChangeLog: tweak to eliminate unnecessary copyright line
36480         * ChangeLog: Remove a copyright line that was mistakenly updated
36481         by today's update-copyright run.  Reported by Eric Blake.
36482
36483         test-update-copyright: don't let envvar setting cause test failure
36484         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36485
36486 2010-01-01  Bruno Haible  <bruno@clisp.org>
36487
36488         localename: Avoid gcc warning.
36489         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
36490         function if it is not used.
36491
36492 2010-01-01  Jim Meyering  <meyering@redhat.com>
36493
36494         update nearly all FSF copyright year lists to include 2010
36495         Use the same procedure as for 2009, outlined in
36496         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
36497
36498         version-etc: set COPYRIGHT_YEAR to 2010
36499         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
36500
36501 2009-12-31  Eric Blake  <ebb9@byu.net>
36502
36503         doc: correct availability of cygwin 1.5.x getopt
36504         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
36505         variables.
36506         * doc/posix-functions/opterr.texi (opterr): Likewise.
36507         * doc/posix-functions/optind.texi (optind): Likewise.
36508         * doc/posix-functions/optopt.texi (optopt): Likewise.
36509         * doc/posix-functions/tzname.texi (tzname): Likewise.
36510
36511         openat: update maintainer
36512         * modules/openat (Maintainer): Add myself.
36513
36514         utimens: avoid shadowing warning
36515         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
36516         buffers into one, to avoid shadowing, as well as avoiding a
36517         redundant stat.
36518         Reported by Jim Meyering.
36519
36520         test-dup2: avoid compiler warning
36521         * tests/test-dup2.c (is_inheritable): Only define if used.
36522
36523 2010-01-01  Bruno Haible  <bruno@clisp.org>
36524
36525         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
36526         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
36527         defined, use wctomb instead of wcrtomb.
36528
36529 2010-01-01  Bruno Haible  <bruno@clisp.org>
36530
36531         iconv: Reject native Solaris iconv.
36532         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
36533         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
36534
36535 2009-12-31  Bruno Haible  <bruno@clisp.org>
36536
36537         * tests/test-signal.c (main): Remove test of 'SIG'.
36538
36539 2009-12-31  Bruno Haible  <bruno@clisp.org>
36540
36541         spawn: Fix incomplete fix.
36542         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36543         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36544         warnings for GNULIB_POSIXCHECK again.
36545         Reported by Eric Blake.
36546
36547 2009-12-31  Bruno Haible  <bruno@clisp.org>
36548
36549         Avoid namespace pollution on glibc systems.
36550         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
36551         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
36552         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
36553         glibc systems.
36554
36555 2009-12-31  Bruno Haible  <bruno@clisp.org>
36556
36557         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
36558         (gl_REPLACE_WCHAR_H): Turn into a no-op.
36559         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
36560         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
36561         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
36562         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
36563         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
36564
36565 2009-12-31  Bruno Haible  <bruno@clisp.org>
36566
36567         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36568         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
36569         afterwards.
36570
36571 2009-12-31  Bruno Haible  <bruno@clisp.org>
36572
36573         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
36574         SYS_UTSNAME_H.
36575
36576 2009-12-31  Bruno Haible  <bruno@clisp.org>
36577
36578         spawn: Fix misapplied patch.
36579         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36580         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36581         warnings for GNULIB_POSIXCHECK.
36582
36583 2009-12-31  Bruno Haible  <bruno@clisp.org>
36584
36585         times: Update after sys_times changed.
36586         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
36587         * modules/times (Files): Add it.
36588         (configure.ac): Invoke gl_FUNC_TIMES.
36589
36590 2009-12-31  Bruno Haible  <bruno@clisp.org>
36591
36592         Use AC_C_INLINE where necessary.
36593         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
36594         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36595         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
36596         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36597         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36598         * m4/mbiter.m4 (gl_MBITER): Likewise.
36599         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36600         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
36601         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
36602         * modules/u64 (configure.ac): Likewise.
36603
36604 2009-12-31  Bruno Haible  <bruno@clisp.org>
36605
36606         Use AC_C_INLINE instead of module 'inline' where possible.
36607         * modules/inline (Description): Clarify purpose.
36608         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
36609         * modules/count-one-bits (Depends-on): Remove inline.
36610         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
36611         * modules/openat (Depends-on): Remove inline.
36612         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
36613         instead of depending on module 'inline'.
36614         * modules/filevercmp (Depends-on, configure.ac): Likewise.
36615         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
36616         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
36617         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
36618         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
36619         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
36620         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
36621         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
36622         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
36623         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
36624         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
36625         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
36626         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
36627         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
36628         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
36629         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
36630         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
36631         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
36632         Likewise.
36633         * modules/unictype/property-ascii-hex-digit (Depends-on,
36634         configure.ac): Likewise.
36635         * modules/unictype/property-bidi-arabic-digit (Depends-on,
36636         configure.ac): Likewise.
36637         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
36638         configure.ac): Likewise.
36639         * modules/unictype/property-bidi-block-separator (Depends-on,
36640         configure.ac): Likewise.
36641         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
36642         configure.ac): Likewise.
36643         * modules/unictype/property-bidi-common-separator (Depends-on,
36644         configure.ac): Likewise.
36645         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
36646         Likewise.
36647         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
36648         configure.ac): Likewise.
36649         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
36650         configure.ac): Likewise.
36651         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
36652         configure.ac): Likewise.
36653         * modules/unictype/property-bidi-european-digit (Depends-on,
36654         configure.ac): Likewise.
36655         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
36656         configure.ac): Likewise.
36657         * modules/unictype/property-bidi-left-to-right (Depends-on,
36658         configure.ac): Likewise.
36659         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
36660         configure.ac): Likewise.
36661         * modules/unictype/property-bidi-other-neutral (Depends-on,
36662         configure.ac): Likewise.
36663         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
36664         Likewise.
36665         * modules/unictype/property-bidi-segment-separator (Depends-on,
36666         configure.ac): Likewise.
36667         * modules/unictype/property-bidi-whitespace (Depends-on,
36668         configure.ac): Likewise.
36669         * modules/unictype/property-combining (Depends-on, configure.ac):
36670         Likewise.
36671         * modules/unictype/property-composite (Depends-on, configure.ac):
36672         Likewise.
36673         * modules/unictype/property-currency-symbol (Depends-on,
36674         configure.ac): Likewise.
36675         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
36676         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
36677         Likewise.
36678         * modules/unictype/property-default-ignorable-code-point (Depends-on,
36679         configure.ac): Likewise.
36680         * modules/unictype/property-deprecated (Depends-on, configure.ac):
36681         Likewise.
36682         * modules/unictype/property-diacritic (Depends-on, configure.ac):
36683         Likewise.
36684         * modules/unictype/property-extender (Depends-on, configure.ac):
36685         Likewise.
36686         * modules/unictype/property-format-control (Depends-on, configure.ac):
36687         Likewise.
36688         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
36689         Likewise.
36690         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
36691         Likewise.
36692         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
36693         Likewise.
36694         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
36695         Likewise.
36696         * modules/unictype/property-hyphen (Depends-on, configure.ac):
36697         Likewise.
36698         * modules/unictype/property-id-continue (Depends-on, configure.ac):
36699         Likewise.
36700         * modules/unictype/property-id-start (Depends-on, configure.ac):
36701         Likewise.
36702         * modules/unictype/property-ideographic (Depends-on, configure.ac):
36703         Likewise.
36704         * modules/unictype/property-ids-binary-operator (Depends-on,
36705         configure.ac): Likewise.
36706         * modules/unictype/property-ids-trinary-operator (Depends-on,
36707         configure.ac): Likewise.
36708         * modules/unictype/property-ignorable-control (Depends-on,
36709         configure.ac): Likewise.
36710         * modules/unictype/property-iso-control (Depends-on, configure.ac):
36711         Likewise.
36712         * modules/unictype/property-join-control (Depends-on, configure.ac):
36713         Likewise.
36714         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
36715         Likewise.
36716         * modules/unictype/property-line-separator (Depends-on, configure.ac):
36717         Likewise.
36718         * modules/unictype/property-logical-order-exception (Depends-on,
36719         configure.ac): Likewise.
36720         * modules/unictype/property-lowercase (Depends-on, configure.ac):
36721         Likewise.
36722         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
36723         * modules/unictype/property-non-break (Depends-on, configure.ac):
36724         Likewise.
36725         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
36726         Likewise.
36727         * modules/unictype/property-numeric (Depends-on, configure.ac):
36728         Likewise.
36729         * modules/unictype/property-other-alphabetic (Depends-on,
36730         configure.ac): Likewise.
36731         * modules/unictype/property-other-default-ignorable-code-point
36732         (Depends-on, configure.ac): Likewise.
36733         * modules/unictype/property-other-grapheme-extend (Depends-on,
36734         configure.ac): Likewise.
36735         * modules/unictype/property-other-id-continue (Depends-on,
36736         configure.ac): Likewise.
36737         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
36738         Likewise.
36739         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
36740         Likewise.
36741         * modules/unictype/property-other-math (Depends-on, configure.ac):
36742         Likewise.
36743         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
36744         Likewise.
36745         * modules/unictype/property-paired-punctuation (Depends-on,
36746         configure.ac): Likewise.
36747         * modules/unictype/property-paragraph-separator (Depends-on,
36748         configure.ac): Likewise.
36749         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
36750         Likewise.
36751         * modules/unictype/property-pattern-white-space (Depends-on,
36752         configure.ac): Likewise.
36753         * modules/unictype/property-private-use (Depends-on, configure.ac):
36754         Likewise.
36755         * modules/unictype/property-punctuation (Depends-on, configure.ac):
36756         Likewise.
36757         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
36758         Likewise.
36759         * modules/unictype/property-radical (Depends-on, configure.ac):
36760         Likewise.
36761         * modules/unictype/property-sentence-terminal (Depends-on,
36762         configure.ac): Likewise.
36763         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
36764         Likewise.
36765         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
36766         * modules/unictype/property-terminal-punctuation (Depends-on,
36767         configure.ac): Likewise.
36768         * modules/unictype/property-titlecase (Depends-on, configure.ac):
36769         Likewise.
36770         * modules/unictype/property-unassigned-code-value (Depends-on,
36771         configure.ac): Likewise.
36772         * modules/unictype/property-unified-ideograph (Depends-on,
36773         configure.ac): Likewise.
36774         * modules/unictype/property-uppercase (Depends-on, configure.ac):
36775         Likewise.
36776         * modules/unictype/property-variation-selector (Depends-on,
36777         configure.ac): Likewise.
36778         * modules/unictype/property-white-space (Depends-on, configure.ac):
36779         Likewise.
36780         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
36781         Likewise.
36782         * modules/unictype/property-xid-start (Depends-on, configure.ac):
36783         Likewise.
36784         * modules/unictype/property-zero-width (Depends-on, configure.ac):
36785         Likewise.
36786         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
36787         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
36788         Likewise.
36789
36790 2009-12-31  Bruno Haible  <bruno@clisp.org>
36791
36792         Remove unnecessary AC_C_INLINE invocation.
36793         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
36794         since 2009-08-21.
36795
36796 2009-12-31  Jim Meyering  <meyering@redhat.com>
36797
36798         maint.mk: don't require explicit gpg_key_ID in cfg.mk
36799         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
36800         With this change, we can all remove the gpg_key_ID = ... definition
36801         from our respective cfg.mk files.
36802
36803         maint.mk: create announcement template in ~/, not in /tmp
36804         * top/maint.mk (emit_upload_commands): Adjust.
36805         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
36806         Remove temporary file, .ci-msg.
36807
36808 2009-12-31  Eric Blake  <ebb9@byu.net>
36809
36810         link-warning: always build headers with link warnings
36811         * modules/arpa_inet (Makefile.am): Always build replacement
36812         header.
36813         * modules/ctype (Makefile.am): Likewise.
36814         * modules/dirent (Makefile.am): Likewise.
36815         * modules/inttypes (Makefile.am): Likewise.
36816         * modules/langinfo (Makefile.am): Likewise.
36817         * modules/locale (Makefile.am): Likewise.
36818         * modules/spawn (Makefile.am): Likewise.
36819         * modules/sys_file (Makefile.am): Likewise.
36820         * modules/sys_ioctl (Makefile.am): Likewise.
36821         * modules/sys_select (Makefile.am): Likewise.
36822         * modules/sys_socket (Makefile.am): Likewise.
36823         * modules/sys_times (Makefile.am): Likewise.
36824         * modules/sys_utsname (Makefile.am): Likewise.
36825         * modules/sys_wait (Makefile.am): Likewise.
36826         * modules/wchar (Makefile.am): Likewise.
36827         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
36828         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
36829         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
36830         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
36831         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
36832         Likewise.
36833         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36834         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36835         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
36836         Likewise.
36837         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
36838         Likewise.
36839         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
36840         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
36841         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
36842         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36843         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36844         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36845         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36846         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
36847         (gl_WCHAR_H_DEFAULTS): Likewise.
36848
36849 2009-12-31  Eric Blake  <ebb9@byu.net>
36850
36851         signal, spawn: use link warnings
36852         * lib/signal.in.h (sigset_t): Make unconditional.
36853         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
36854         (sigpending, sigprocmask, sigaction): Add link warnings.
36855         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
36856         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
36857         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
36858         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
36859         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
36860         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
36861         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
36862         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
36863         (posix_spawn_file_actions_destroy)
36864         (posix_spawn_file_actions_addopen)
36865         (posix_spawn_file_actions_addclose)
36866         (posix_spawn_file_actions_adddup2): Likewise.
36867         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
36868         * tests/test-signal.c (main): Enhance test.
36869
36870         spawn: improve wrapper support
36871         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
36872         (gl_SPAWN_H_DEFAULTS): New defaults.
36873         * modules/spawn (Makefile.am): Substitute them.
36874         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
36875         Only declare if missing or broken.
36876
36877         sys_times, sys_utsname: use include_next
36878         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
36879         header.
36880         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
36881         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36882         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36883         * modules/sys_times (Depends-on): Add include_next.
36884         (Makefile.am): Substitute additional values.
36885         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36886         * lib/sys_times.in.h (includes): Include native header, if
36887         available.
36888         * lib/sys_utsname.in.h (includes): Likewise.
36889         * tests/test-sys_times.c (main): Enhance test.
36890
36891         fdutimensat: revert prior patch
36892         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
36893         utimens.h.
36894         Reported by Bruno Haible.
36895
36896 2009-12-30  Eric Blake  <ebb9@byu.net>
36897
36898         sys_wait: drop link-warning dependency
36899         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
36900         link-warning efforts.
36901         * lib/sys_wait.in.h: Likewise.
36902
36903         fdutimensat: remove bogus dependency
36904         * modules/fdutimensat (Depends-on): Drop inline.
36905
36906         unistd: fix typo
36907         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
36908
36909 2009-12-30  Bruno Haible  <bruno@clisp.org>
36910
36911         Fix compilation error with Solaris cc.
36912         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
36913         * lib/unicase/u16-is-invariant.c: Likewise.
36914         * lib/unicase/u32-is-invariant.c: Likewise.
36915         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36916
36917 2009-12-30  Bruno Haible  <bruno@clisp.org>
36918
36919         Fix test crash.
36920         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
36921         locales.
36922         Reported by Simon Josefsson <simon@josefsson.org>.
36923
36924 2009-12-30  Bruno Haible  <bruno@clisp.org>
36925
36926         Fix compilation error on most platforms.
36927         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
36928         Reported by Simon Josefsson <simon@josefsson.org>
36929         and Nelson H. F. Beebe <beebe@math.utah.edu>.
36930
36931 2009-12-30  Eric Blake  <ebb9@byu.net>
36932
36933         futimens, utimensat: work around ntfs-3g bug
36934         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
36935         a ctime bug is present, and expand workaround to cover ntfs-3g.
36936         * lib/utimens.c (fdutimens, lutimens): Likewise.
36937         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
36938         (validate_timespec): Adjust return value.
36939         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
36940         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36941         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
36942
36943 2009-12-29  Eric Blake  <ebb9@byu.net>
36944
36945         link-warning: make usage consistent
36946         * modules/ctype (Depends-on): Add link-warning.
36947         (Makefile.am): Update rules accordingly.
36948         * modules/langinfo (Depends-on, Makefile.am): Likewise.
36949         * modules/locale (Depends-on, Makefile.am): Likewise.
36950         * modules/sys_file (Makefile.am): Likewise.
36951         * modules/getopt-posix (Makefile.am): Delete unused link warning
36952         efforts.
36953         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
36954         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
36955         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
36956         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
36957
36958         stdio: remove unused variables
36959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
36960         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
36961         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
36962
36963         tests: test more substitute headers
36964         * modules/ctype-tests: New file.
36965         * modules/dirent-tests: Likewise.
36966         * modules/spawn-tests: Likewise.
36967         * modules/sys_file-tests: Likewise.
36968         * modules/sys_ioctl-tests: Likewise.
36969         * modules/sys_wait-tests: Likewise.
36970         * tests/test-ctype.c: Likewise.
36971         * tests/test-dirent.c: Likewise.
36972         * tests/test-spawn.c: Likewise.
36973         * tests/test-sys_file.c: Likewise.
36974         * tests/test-sys_ioctl.c: Likewise.
36975         * tests/test-sys_wait.c: Likewise.
36976         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
36977         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
36978         whether or not flock is in use.
36979
36980         tests: remove License section from module
36981         * modules/arpa_inet-tests: Remove unneeded section.
36982         * modules/byteswap-tests: Likewise.
36983         * modules/ceilf-tests: Likewise.
36984         * modules/ceill-tests: Likewise.
36985         * modules/crypto/des-tests: Likewise.
36986         * modules/crypto/gc-arcfour-tests: Likewise.
36987         * modules/crypto/gc-arctwo-tests: Likewise.
36988         * modules/crypto/gc-des-tests: Likewise.
36989         * modules/crypto/gc-hmac-md5-tests: Likewise.
36990         * modules/crypto/gc-hmac-sha1-tests: Likewise.
36991         * modules/crypto/gc-md2-tests: Likewise.
36992         * modules/crypto/gc-md4-tests: Likewise.
36993         * modules/crypto/gc-md5-tests: Likewise.
36994         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
36995         * modules/crypto/gc-rijndael-tests: Likewise.
36996         * modules/crypto/gc-sha1-tests: Likewise.
36997         * modules/crypto/gc-tests: Likewise.
36998         * modules/crypto/md2-tests: Likewise.
36999         * modules/crypto/md4-tests: Likewise.
37000         * modules/fcntl-h-tests: Likewise.
37001         * modules/floorf-tests: Likewise.
37002         * modules/floorl-tests: Likewise.
37003         * modules/frexp-nolibm-tests: Likewise.
37004         * modules/frexp-tests: Likewise.
37005         * modules/frexpl-nolibm-tests: Likewise.
37006         * modules/frexpl-tests: Likewise.
37007         * modules/getaddrinfo-tests: Likewise.
37008         * modules/inttypes-tests: Likewise.
37009         * modules/isfinite-tests: Likewise.
37010         * modules/isinf-tests: Likewise.
37011         * modules/ldexpl-tests: Likewise.
37012         * modules/locale-tests: Likewise.
37013         * modules/math-tests: Likewise.
37014         * modules/netdb-tests: Likewise.
37015         * modules/netinet_in-tests: Likewise.
37016         * modules/printf-frexp-tests: Likewise.
37017         * modules/printf-frexpl-tests: Likewise.
37018         * modules/priv-set-tests: Likewise.
37019         * modules/random_r-tests: Likewise.
37020         * modules/round-tests: Likewise.
37021         * modules/roundf-tests: Likewise.
37022         * modules/roundl-tests: Likewise.
37023         * modules/search-tests: Likewise.
37024         * modules/select-tests: Likewise.
37025         * modules/signal-tests: Likewise.
37026         * modules/stdbool-tests: Likewise.
37027         * modules/stddef-tests: Likewise.
37028         * modules/stdint-tests: Likewise.
37029         * modules/stdio-tests: Likewise.
37030         * modules/stdlib-tests: Likewise.
37031         * modules/string-tests: Likewise.
37032         * modules/strings-tests: Likewise.
37033         * modules/sys_select-tests: Likewise.
37034         * modules/sys_socket-tests: Likewise.
37035         * modules/sys_stat-tests: Likewise.
37036         * modules/sys_time-tests: Likewise.
37037         * modules/sys_utsname-tests: Likewise.
37038         * modules/sysexits-tests: Likewise.
37039         * modules/time-tests: Likewise.
37040         * modules/trunc-tests: Likewise.
37041         * modules/truncf-tests: Likewise.
37042         * modules/truncl-tests: Likewise.
37043         * modules/tsearch-tests: Likewise.
37044         * modules/unistd-tests: Likewise.
37045         * modules/wchar-tests: Likewise.
37046         * modules/wctype-tests: Likewise.
37047
37048         tests: fix license on several tests
37049         * tests/test-des.c: Update to GPLv3+.
37050         * tests/test-flock.c: Likewise.
37051         * tests/test-fsync.c: Likewise.
37052         * tests/test-futimens.h: Likewise.
37053         * tests/test-gc-arcfour.c: Likewise.
37054         * tests/test-gc-arctwo.c: Likewise.
37055         * tests/test-gc-des.c: Likewise.
37056         * tests/test-gc-hmac-md5.c: Likewise.
37057         * tests/test-gc-hmac-sha1.c: Likewise.
37058         * tests/test-gc-md2.c: Likewise.
37059         * tests/test-gc-md4.c: Likewise.
37060         * tests/test-gc-md5.c: Likewise.
37061         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37062         * tests/test-gc-rijndael.c: Likewise.
37063         * tests/test-gc-sha1.c: Likewise.
37064         * tests/test-gc.c: Likewise.
37065         * tests/test-getcwd.c: Likewise.
37066         * tests/test-link.c: Likewise.
37067         * tests/test-link.h: Likewise.
37068         * tests/test-lutimens.h: Likewise.
37069         * tests/test-md2.c: Likewise.
37070         * tests/test-md4.c: Likewise.
37071         * tests/test-mkdir.h: Likewise.
37072         * tests/test-rename.c: Likewise.
37073         * tests/test-rename.h: Likewise.
37074         * tests/test-safe-alloc.c: Likewise.
37075         * tests/test-utimens-common.h: Likewise.
37076         * tests/test-utimens.h: Likewise.
37077
37078         maint: sync license texts
37079         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
37080         * doc/gpl-3.0.texi: Revert copyright year update.
37081         * doc/lgpl-3.0.texi: Likewise.
37082
37083 2009-12-29  Jim Meyering  <meyering@redhat.com>
37084
37085         update nearly all FSF copyright year lists to include 2009
37086         The files named by the following are exempted:
37087             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
37088               test -f "$dst" && { echo "$dst"; continue; }
37089               test -d "$dst" || continue
37090               echo "$dst"/$(basename "$src")
37091             done > exempt
37092             git ls-files tests/unictype >> exempt
37093         In the remaining files, convert to all-interval notation if
37094         - there is already at least one year interval like 2000-2003
37095         - the file is maintained by me
37096         - the file is in lib/uni*/, where that style already prevails
37097         Otherwise, use update-copyright's default.
37098
37099 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37100         and Eric Blake  <ebb9@byu.net>
37101
37102         tests: don't require debug system() to pass
37103         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
37104         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37105         * tests/test-unlink.h (test_unlink_func): Likewise.
37106         * tests/test-fstatat.c (main): ...into callers.
37107         * tests/test-lstat.c (main): Likewise.
37108         * tests/test-rmdir.c (main): Likewise.
37109         * tests/test-unlink.c (main): Likewise.
37110         * tests/test-unlinkat.c (main): Likewise.
37111         * tests/test-areadlink-with-size.c (main): Don't require a
37112         debug-only system call to pass, aiding cross-testing to mingw.
37113         * tests/test-areadlink.c (main): Likewise.
37114         * tests/test-areadlinkat-with-size.c (main): Likewise.
37115         * tests/test-areadlinkat.c (main): Likewise.
37116         * tests/test-canonicalize-lgpl.c (main): Likewise.
37117         * tests/test-canonicalize.c (main): Likewise.
37118         * tests/test-chown.c (main): Likewise.
37119         * tests/test-fchownat.c (main): Likewise.
37120         * tests/test-lchown.c (main): Likewise.
37121         * tests/test-fdutimensat.c (main): Likewise.
37122         * tests/test-futimens.c (main): Likewise.
37123         * tests/test-link.c (main): Likewise.
37124         * tests/test-linkat.c (main): Likewise.
37125         * tests/test-mkdir.c (main): Likewise.
37126         * tests/test-mkdirat.c (main): Likewise.
37127         * tests/test-mkfifo.c (main): Likewise.
37128         * tests/test-mkfifoat.c (main): Likewise.
37129         * tests/test-mknod.c (main): Likewise.
37130         * tests/test-readlink.c (main): Likewise.
37131         * tests/test-remove.c (main): Likewise.
37132         * tests/test-rename.c (main): Likewise.
37133         * tests/test-renameat.c (main): Likewise.
37134         * tests/test-symlink.c (main): Likewise.
37135         * tests/test-symlinkat.c (main): Likewise.
37136         * tests/test-utimens.c (main): Likewise.
37137         * tests/test-utimensat.c (main): Likewise.
37138
37139 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37140
37141         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
37142         on $(UNUSED_PARAMETER_H) to avoid build failure.
37143
37144 2009-12-28  Jim Meyering  <meyering@redhat.com>
37145
37146         update-copyright: you may specify a max. line length other than 72
37147         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37148
37149         maint: use consistent FSF copyright line syntax
37150         * lib/posixtm.c: Add missing comma in FSF copyright line.
37151         * lib/posixtm.h: Likewise.
37152         * lib/getugroups.c: Add missing ", Inc.".
37153
37154         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
37155         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
37156         FSF copyright line.  Remove trailing blanks.
37157
37158 2009-12-28  Eric Blake  <ebb9@byu.net>
37159
37160         test-dup2: reduce dependencies
37161         * modules/cloexec (Configure.ac): Set witness.
37162         * modules/dup2-tests (Depends-on): Drop cloexec.
37163         * tests/test-dup2.c (main): Skip portion of test if cloexec module
37164         not present.
37165         Suggested by Bruno Haible.
37166
37167 2009-12-26  Bruno Haible  <bruno@clisp.org>
37168
37169         Remove an unneeded dependency.
37170         * modules/fseterr (Depends-on): Remove dup2.
37171
37172 2009-12-26  Eric Blake  <ebb9@byu.net>
37173
37174         tests: use macros.h in more places
37175         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
37176         (ASSERT_STREAM): Provide default of stderr.
37177         * tests/test-dirent-safer.c: Include macros.h, using alternate
37178         stream for assertions.
37179         * tests/test-dup-safer.c: Likewise.
37180         * tests/test-freopen-safer.c: Likewise.
37181         * tests/test-getopt.c: Likewise.
37182         * tests/test-openat-safer.c: Likewise.
37183         * tests/test-pipe.c: Likewise.
37184         * tests/test-popen-safer.c: Likewise.
37185         * modules/dirent-safer-tests (Files): Include macros.h.
37186         * modules/unistd-safer-tests (Files): Likewise.
37187         * modules/freopen-safer-tests (Files): Likewise.
37188         * modules/getopt-posix-tests (Files): Likewise.
37189         * modules/openat-safer-tests (Files): Likewise.
37190         * modules/pipe-tests (Files): Likewise.
37191
37192 2009-12-26  Bruno Haible  <bruno@clisp.org>
37193
37194         javacomp: Portability fix.
37195         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
37196         that it also works on Solaris.
37197
37198 2009-12-26  Bruno Haible  <bruno@clisp.org>
37199
37200         localename: Fix storage allocation of gl_locale_name_thread's result.
37201         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
37202         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
37203         all platforms that have 'uselocale'.
37204         (gl_locale_name_thread_unsafe): New function, extracted from
37205         gl_locale_name_thread.
37206         (gl_locale_name_thread): Call struniq on all platforms that have
37207         'uselocale'.
37208         * tests/test-localename.c (test_locale_name_thread): Check that the
37209         resulting strings are permanently allocated.
37210         * modules/localename-tests (Depends-on): Add strdup.
37211
37212 2009-12-26  Bruno Haible  <bruno@clisp.org>
37213
37214         * tests/test-localename.c (categories): Fill in the strings.
37215
37216 2009-12-26  Jim Meyering  <meyering@redhat.com>
37217
37218         isdir: complete the removal of m4/isdir.m4
37219         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
37220
37221         isdir: clean up, since at least grep still uses it
37222         * lib/isdir.c: Include "isdir.h".
37223         (S_ISDIR): Remove now-unneeded definition.
37224         * modules/isdir (Files): Add lib/isdir.h.
37225         * lib/isdir.h: New file, with declaration.
37226         * m4/isdir.m4: Remove file -- unneeded.
37227
37228 2009-12-25  Bruno Haible  <bruno@clisp.org>
37229
37230         selinux-h: Make generated .h files standalone.
37231         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
37232         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
37233         * lib/se-selinux.in.h: Likewise.
37234         * modules/selinux-h (Depends-on): Add unused-parameter.
37235         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
37236         selinux/selinux.h and selinux/context.h.
37237         Suggested by Eric Blake.
37238
37239 2009-12-25  Bruno Haible  <bruno@clisp.org>
37240
37241         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
37242         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
37243         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
37244         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
37245         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
37246
37247 2009-12-24  Bruno Haible  <bruno@clisp.org>
37248
37249         openat: Fix warning.
37250         * lib/openat-proc.c: Include <unistd.h>.
37251
37252 2009-12-24  Bruno Haible  <bruno@clisp.org>
37253
37254         New module 'unused-parameter'.
37255         * build-aux/unused-parameter.h: New file, extracted from earlier
37256         gnulib-common.m4.
37257         * modules/unused-parameter: New file.
37258         * lib/unistr.h: Include unused-parameter.h.
37259         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
37260         _GL_UNUSED.
37261         * modules/unistr/base (Depends-on): Add unused-parameter.
37262
37263 2009-12-24  Bruno Haible  <bruno@clisp.org>
37264
37265         Add missing dependencies to 'extensions' module.
37266         * m4/extensions.m4: Add comment.
37267         * modules/accept4 (Depends-on): Add extensions.
37268         * modules/dup3 (Depends-on): Likewise.
37269         * modules/fcntl (Depends-on): Likewise.
37270         * modules/futimens (Depends-on): Likewise.
37271         * modules/mknod (Depends-on): Likewise.
37272         * modules/pipe2 (Depends-on): Likewise.
37273         * modules/stat-time (Depends-on): Likewise.
37274         * modules/strcasestr-simple (Depends-on): Likewise.
37275         * modules/strsignal (Depends-on): Likewise.
37276         * modules/utimensat (Depends-on): Likewise.
37277         * modules/localcharset (Depends-on): Likewise. Needed because of
37278         gl_FCNTL_O_FLAGS.
37279         * modules/wcrtomb (Depends-on): Likewise. Needed because of
37280         AC_TYPE_MBSTATE_T.
37281         * modules/wcsnrtombs (Depends-on): Likewise.
37282         * modules/wcsrtombs (Depends-on): Likewise.
37283
37284 2009-12-24  Bruno Haible  <bruno@clisp.org>
37285
37286         binary-io: Avoid gcc warning due to SET_BINARY.
37287         * lib/binary-io.h (SET_BINARY): Cast the result to void.
37288         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
37289
37290 2009-12-24  Bruno Haible  <bruno@clisp.org>
37291
37292         Avoid future namespace pollution on glibc systems.
37293         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
37294         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
37295         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
37296         glibc systems.
37297
37298 2009-12-24  Bruno Haible  <bruno@clisp.org>
37299
37300         Refactor common macros used in tests.
37301         * tests/macros.h: New file.
37302         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
37303         and/or <stdlib.h>, if appropriate.
37304         (ASSERT, SIZEOF): Remove macros.
37305         * tests/test-areadlink-with-size.c: Likewise.
37306         * tests/test-areadlinkat.c: Likewise.
37307         * tests/test-areadlinkat-with-size.c: Likewise.
37308         * tests/test-argmatch.c: Likewise.
37309         * tests/test-argv-iter.c: Likewise.
37310         * tests/test-array-mergesort.c: Likewise.
37311         * tests/test-array_list.c: Likewise.
37312         * tests/test-array_oset.c: Likewise.
37313         * tests/test-avltree_list.c: Likewise.
37314         * tests/test-avltree_oset.c: Likewise.
37315         * tests/test-avltreehash_list.c: Likewise.
37316         * tests/test-base64.c: Likewise.
37317         * tests/test-binary-io.c: Likewise.
37318         * tests/test-bitrotate.c: Likewise.
37319         * tests/test-btowc.c: Likewise.
37320         * tests/test-byteswap.c: Likewise.
37321         * tests/test-c-ctype.c: Likewise.
37322         * tests/test-c-stack.c: Likewise.
37323         * tests/test-c-strcasecmp.c: Likewise.
37324         * tests/test-c-strcasestr.c: Likewise.
37325         * tests/test-c-strncasecmp.c: Likewise.
37326         * tests/test-c-strstr.c: Likewise.
37327         * tests/test-canonicalize-lgpl.c: Likewise.
37328         * tests/test-canonicalize.c: Likewise.
37329         * tests/test-carray_list.c: Likewise.
37330         * tests/test-ceilf1.c: Likewise.
37331         * tests/test-ceilf2.c: Likewise.
37332         * tests/test-ceill.c: Likewise.
37333         * tests/test-chown.c: Likewise.
37334         * tests/test-cloexec.c: Likewise.
37335         * tests/test-copy-acl.c: Likewise.
37336         * tests/test-copy-file.c: Likewise.
37337         * tests/test-count-one-bits.c: Likewise.
37338         * tests/test-dprintf-posix.c: Likewise.
37339         * tests/test-dup2.c: Likewise.
37340         * tests/test-dup3.c: Likewise.
37341         * tests/test-duplocale.c: Likewise.
37342         * tests/test-fbufmode.c: Likewise.
37343         * tests/test-fchdir.c: Likewise.
37344         * tests/test-fchownat.c: Likewise.
37345         * tests/test-fcntl-safer.c: Likewise.
37346         * tests/test-fcntl.c: Likewise.
37347         * tests/test-fdopendir.c: Likewise.
37348         * tests/test-fdutimensat.c: Likewise.
37349         * tests/test-fflush2.c: Likewise.
37350         * tests/test-file-has-acl.c: Likewise.
37351         * tests/test-filevercmp.c: Likewise.
37352         * tests/test-flock.c: Likewise.
37353         * tests/test-floorf1.c: Likewise.
37354         * tests/test-floorf2.c: Likewise.
37355         * tests/test-floorl.c: Likewise.
37356         * tests/test-fnmatch.c: Likewise.
37357         * tests/test-fopen.h: Likewise.
37358         * tests/test-fpending.c: Likewise.
37359         * tests/test-fprintf-posix.c: Likewise.
37360         * tests/test-fpurge.c: Likewise.
37361         * tests/test-freadable.c: Likewise.
37362         * tests/test-freadahead.c: Likewise.
37363         * tests/test-freading.c: Likewise.
37364         * tests/test-freadptr.c: Likewise.
37365         * tests/test-freadptr2.c: Likewise.
37366         * tests/test-freadseek.c: Likewise.
37367         * tests/test-freopen.c: Likewise.
37368         * tests/test-frexp.c: Likewise.
37369         * tests/test-frexpl.c: Likewise.
37370         * tests/test-fseek.c: Likewise.
37371         * tests/test-fseeko.c: Likewise.
37372         * tests/test-fstatat.c: Likewise.
37373         * tests/test-fstrcmp.c: Likewise.
37374         * tests/test-fsync.c: Likewise.
37375         * tests/test-ftell.c: Likewise.
37376         * tests/test-ftello.c: Likewise.
37377         * tests/test-func.c: Likewise.
37378         * tests/test-futimens.c: Likewise.
37379         * tests/test-fwritable.c: Likewise.
37380         * tests/test-fwriting.c: Likewise.
37381         * tests/test-getcwd.c: Likewise.
37382         * tests/test-getdate.c: Likewise.
37383         * tests/test-getdelim.c: Likewise.
37384         * tests/test-getdtablesize.c: Likewise.
37385         * tests/test-getgroups.c: Likewise.
37386         * tests/test-getline.c: Likewise.
37387         * tests/test-getndelim2.c: Likewise.
37388         * tests/test-glob.c: Likewise.
37389         * tests/test-hash.c: Likewise.
37390         * tests/test-i-ring.c: Likewise.
37391         * tests/test-iconv-utf.c: Likewise.
37392         * tests/test-iconv.c: Likewise.
37393         * tests/test-idpriv-drop.c: Likewise.
37394         * tests/test-idpriv-droptemp.c: Likewise.
37395         * tests/test-inet_ntop.c: Likewise.
37396         * tests/test-inet_pton.c: Likewise.
37397         * tests/test-isblank.c: Likewise.
37398         * tests/test-isfinite.c: Likewise.
37399         * tests/test-isinf.c: Likewise.
37400         * tests/test-isnan.c: Likewise.
37401         * tests/test-isnand.h: Likewise.
37402         * tests/test-isnanf.h: Likewise.
37403         * tests/test-isnanl.h: Likewise.
37404         * tests/test-lchown.c: Likewise.
37405         * tests/test-ldexpl.c: Likewise.
37406         * tests/test-link.c: Likewise.
37407         * tests/test-linkat.c: Likewise.
37408         * tests/test-linked_list.c: Likewise.
37409         * tests/test-linkedhash_list.c: Likewise.
37410         * tests/test-localename.c: Likewise.
37411         * tests/test-lseek.c: Likewise.
37412         * tests/test-lstat.c: Likewise.
37413         * tests/test-mbmemcasecmp.c: Likewise.
37414         * tests/test-mbmemcasecoll.c: Likewise.
37415         * tests/test-mbrtowc.c: Likewise.
37416         * tests/test-mbscasecmp.c: Likewise.
37417         * tests/test-mbscasestr1.c: Likewise.
37418         * tests/test-mbscasestr2.c: Likewise.
37419         * tests/test-mbscasestr3.c: Likewise.
37420         * tests/test-mbscasestr4.c: Likewise.
37421         * tests/test-mbschr.c: Likewise.
37422         * tests/test-mbscspn.c: Likewise.
37423         * tests/test-mbsinit.c: Likewise.
37424         * tests/test-mbsncasecmp.c: Likewise.
37425         * tests/test-mbsnrtowcs.c: Likewise.
37426         * tests/test-mbspbrk.c: Likewise.
37427         * tests/test-mbspcasecmp.c: Likewise.
37428         * tests/test-mbsrchr.c: Likewise.
37429         * tests/test-mbsrtowcs.c: Likewise.
37430         * tests/test-mbsspn.c: Likewise.
37431         * tests/test-mbsstr1.c: Likewise.
37432         * tests/test-mbsstr2.c: Likewise.
37433         * tests/test-mbsstr3.c: Likewise.
37434         * tests/test-memchr.c: Likewise.
37435         * tests/test-memchr2.c: Likewise.
37436         * tests/test-memcmp.c: Likewise.
37437         * tests/test-memmem.c: Likewise.
37438         * tests/test-memrchr.c: Likewise.
37439         * tests/test-mkdir.c: Likewise.
37440         * tests/test-mkdirat.c: Likewise.
37441         * tests/test-mkfifo.c: Likewise.
37442         * tests/test-mkfifoat.c: Likewise.
37443         * tests/test-mknod.c: Likewise.
37444         * tests/test-nanosleep.c: Likewise.
37445         * tests/test-nl_langinfo.c: Likewise.
37446         * tests/test-obstack-printf.c: Likewise.
37447         * tests/test-open.c: Likewise.
37448         * tests/test-openat.c: Likewise.
37449         * tests/test-pipe-filter-gi1.c: Likewise.
37450         * tests/test-pipe-filter-gi2-main.c: Likewise.
37451         * tests/test-pipe-filter-ii1.c: Likewise.
37452         * tests/test-pipe-filter-ii2-main.c: Likewise.
37453         * tests/test-pipe2.c: Likewise.
37454         * tests/test-popen.h: Likewise.
37455         * tests/test-posixtm.c: Likewise.
37456         * tests/test-pread.c: Likewise.
37457         * tests/test-printf-frexp.c: Likewise.
37458         * tests/test-printf-frexpl.c: Likewise.
37459         * tests/test-printf-posix.c: Likewise.
37460         * tests/test-priv-set.c: Likewise.
37461         * tests/test-quotearg.c: Likewise.
37462         * tests/test-random_r.c: Likewise.
37463         * tests/test-rawmemchr.c: Likewise.
37464         * tests/test-rbtree_list.c: Likewise.
37465         * tests/test-rbtree_oset.c: Likewise.
37466         * tests/test-rbtreehash_list.c: Likewise.
37467         * tests/test-readlink.c: Likewise.
37468         * tests/test-remove.c: Likewise.
37469         * tests/test-rename.c: Likewise.
37470         * tests/test-renameat.c: Likewise.
37471         * tests/test-rmdir.c: Likewise.
37472         * tests/test-round1.c: Likewise.
37473         * tests/test-roundf1.c: Likewise.
37474         * tests/test-roundl.c: Likewise.
37475         * tests/test-safe-alloc.c: Likewise.
37476         * tests/test-sameacls.c: Likewise.
37477         * tests/test-set-mode-acl.c: Likewise.
37478         * tests/test-setenv.c: Likewise.
37479         * tests/test-sigaction.c: Likewise.
37480         * tests/test-signbit.c: Likewise.
37481         * tests/test-sleep.c: Likewise.
37482         * tests/test-snprintf-posix.c: Likewise.
37483         * tests/test-snprintf.c: Likewise.
37484         * tests/test-sprintf-posix.c: Likewise.
37485         * tests/test-stat-time.c: Likewise.
37486         * tests/test-stat.c: Likewise.
37487         * tests/test-strcasestr.c: Likewise.
37488         * tests/test-strchrnul.c: Likewise.
37489         * tests/test-strerror.c: Likewise.
37490         * tests/test-striconv.c: Likewise.
37491         * tests/test-striconveh.c: Likewise.
37492         * tests/test-striconveha.c: Likewise.
37493         * tests/test-strsignal.c: Likewise.
37494         * tests/test-strstr.c: Likewise.
37495         * tests/test-strtod.c: Likewise.
37496         * tests/test-strverscmp.c: Likewise.
37497         * tests/test-symlink.c: Likewise.
37498         * tests/test-symlinkat.c: Likewise.
37499         * tests/test-trunc1.c: Likewise.
37500         * tests/test-trunc2.c: Likewise.
37501         * tests/test-truncf1.c: Likewise.
37502         * tests/test-truncf2.c: Likewise.
37503         * tests/test-truncl.c: Likewise.
37504         * tests/test-uname.c: Likewise.
37505         * tests/test-unlink.c: Likewise.
37506         * tests/test-unlinkat.c: Likewise.
37507         * tests/test-unsetenv.c: Likewise.
37508         * tests/test-usleep.c: Likewise.
37509         * tests/test-utimens.c: Likewise.
37510         * tests/test-utimensat.c: Likewise.
37511         * tests/test-vasnprintf-posix.c: Likewise.
37512         * tests/test-vasnprintf-posix2.c: Likewise.
37513         * tests/test-vasnprintf.c: Likewise.
37514         * tests/test-vasprintf-posix.c: Likewise.
37515         * tests/test-vasprintf.c: Likewise.
37516         * tests/test-vdprintf-posix.c: Likewise.
37517         * tests/test-vfprintf-posix.c: Likewise.
37518         * tests/test-vprintf-posix.c: Likewise.
37519         * tests/test-vsnprintf-posix.c: Likewise.
37520         * tests/test-vsnprintf.c: Likewise.
37521         * tests/test-vsprintf-posix.c: Likewise.
37522         * tests/test-wcrtomb.c: Likewise.
37523         * tests/test-wcsnrtombs.c: Likewise.
37524         * tests/test-wcsrtombs.c: Likewise.
37525         * tests/test-wctype.c: Likewise.
37526         * tests/test-wcwidth.c: Likewise.
37527         * tests/test-xfprintf-posix.c: Likewise.
37528         * tests/test-xmemdup0.c: Likewise.
37529         * tests/test-xprintf-posix.c: Likewise.
37530         * tests/test-xvasprintf.c: Likewise.
37531         * tests/unicase/test-locale-language.c: Likewise.
37532         * tests/unicase/test-mapping-part1.h: Likewise.
37533         * tests/unicase/test-predicate-part1.h: Likewise.
37534         * tests/unicase/test-u8-casecmp.c: Likewise.
37535         * tests/unicase/test-u8-casecoll.c: Likewise.
37536         * tests/unicase/test-u8-casefold.c: Likewise.
37537         * tests/unicase/test-u8-is-cased.c: Likewise.
37538         * tests/unicase/test-u8-is-casefolded.c: Likewise.
37539         * tests/unicase/test-u8-is-lowercase.c: Likewise.
37540         * tests/unicase/test-u8-is-titlecase.c: Likewise.
37541         * tests/unicase/test-u8-is-uppercase.c: Likewise.
37542         * tests/unicase/test-u8-tolower.c: Likewise.
37543         * tests/unicase/test-u8-totitle.c: Likewise.
37544         * tests/unicase/test-u8-toupper.c: Likewise.
37545         * tests/unicase/test-u16-casecmp.c: Likewise.
37546         * tests/unicase/test-u16-casecoll.c: Likewise.
37547         * tests/unicase/test-u16-casefold.c: Likewise.
37548         * tests/unicase/test-u16-is-cased.c: Likewise.
37549         * tests/unicase/test-u16-is-casefolded.c: Likewise.
37550         * tests/unicase/test-u16-is-lowercase.c: Likewise.
37551         * tests/unicase/test-u16-is-titlecase.c: Likewise.
37552         * tests/unicase/test-u16-is-uppercase.c: Likewise.
37553         * tests/unicase/test-u16-tolower.c: Likewise.
37554         * tests/unicase/test-u16-totitle.c: Likewise.
37555         * tests/unicase/test-u16-toupper.c: Likewise.
37556         * tests/unicase/test-u32-casecmp.c: Likewise.
37557         * tests/unicase/test-u32-casecoll.c: Likewise.
37558         * tests/unicase/test-u32-casefold.c: Likewise.
37559         * tests/unicase/test-u32-is-cased.c: Likewise.
37560         * tests/unicase/test-u32-is-casefolded.c: Likewise.
37561         * tests/unicase/test-u32-is-lowercase.c: Likewise.
37562         * tests/unicase/test-u32-is-titlecase.c: Likewise.
37563         * tests/unicase/test-u32-is-uppercase.c: Likewise.
37564         * tests/unicase/test-u32-tolower.c: Likewise.
37565         * tests/unicase/test-u32-totitle.c: Likewise.
37566         * tests/unicase/test-u32-toupper.c: Likewise.
37567         * tests/unicase/test-ulc-casecmp.c: Likewise.
37568         * tests/unicase/test-ulc-casecoll.c: Likewise.
37569         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37570         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37571         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37572         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37573         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37574         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37575         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37576         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37577         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37578         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37579         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37580         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37581         * tests/unictype/test-bidi_byname.c: Likewise.
37582         * tests/unictype/test-bidi_name.c: Likewise.
37583         * tests/unictype/test-bidi_of.c: Likewise.
37584         * tests/unictype/test-bidi_test.c: Likewise.
37585         * tests/unictype/test-block_list.c: Likewise.
37586         * tests/unictype/test-block_of.c: Likewise.
37587         * tests/unictype/test-block_test.c: Likewise.
37588         * tests/unictype/test-categ_and.c: Likewise.
37589         * tests/unictype/test-categ_and_not.c: Likewise.
37590         * tests/unictype/test-categ_byname.c: Likewise.
37591         * tests/unictype/test-categ_name.c: Likewise.
37592         * tests/unictype/test-categ_none.c: Likewise.
37593         * tests/unictype/test-categ_of.c: Likewise.
37594         * tests/unictype/test-categ_or.c: Likewise.
37595         * tests/unictype/test-categ_test_withtable.c: Likewise.
37596         * tests/unictype/test-combining.c: Likewise.
37597         * tests/unictype/test-decdigit.c: Likewise.
37598         * tests/unictype/test-digit.c: Likewise.
37599         * tests/unictype/test-mirror.c: Likewise.
37600         * tests/unictype/test-numeric.c: Likewise.
37601         * tests/unictype/test-pr_byname.c: Likewise.
37602         * tests/unictype/test-pr_test.c: Likewise.
37603         * tests/unictype/test-predicate-part1.h: Likewise.
37604         * tests/unictype/test-scripts.c: Likewise.
37605         * tests/unictype/test-sy_c_ident.c: Likewise.
37606         * tests/unictype/test-sy_java_ident.c: Likewise.
37607         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
37608         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
37609         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
37610         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
37611         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
37612         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
37613         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
37614         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
37615         * tests/uninorm/test-canonical-decomposition.c: Likewise.
37616         * tests/uninorm/test-compat-decomposition.c: Likewise.
37617         * tests/uninorm/test-composition.c: Likewise.
37618         * tests/uninorm/test-decomposing-form.c: Likewise.
37619         * tests/uninorm/test-decomposition.c: Likewise.
37620         * tests/uninorm/test-u8-nfc.c: Likewise.
37621         * tests/uninorm/test-u8-nfd.c: Likewise.
37622         * tests/uninorm/test-u8-nfkc.c: Likewise.
37623         * tests/uninorm/test-u8-nfkd.c: Likewise.
37624         * tests/uninorm/test-u8-normcmp.c: Likewise.
37625         * tests/uninorm/test-u8-normcoll.c: Likewise.
37626         * tests/uninorm/test-u16-nfc.c: Likewise.
37627         * tests/uninorm/test-u16-nfd.c: Likewise.
37628         * tests/uninorm/test-u16-nfkc.c: Likewise.
37629         * tests/uninorm/test-u16-nfkd.c: Likewise.
37630         * tests/uninorm/test-u16-normcmp.c: Likewise.
37631         * tests/uninorm/test-u16-normcoll.c: Likewise.
37632         * tests/uninorm/test-u32-nfc.c: Likewise.
37633         * tests/uninorm/test-u32-nfd.c: Likewise.
37634         * tests/uninorm/test-u32-nfkc.c: Likewise.
37635         * tests/uninorm/test-u32-nfkd.c: Likewise.
37636         * tests/uninorm/test-u32-normalize-big.c: Likewise.
37637         * tests/uninorm/test-u32-normcmp.c: Likewise.
37638         * tests/uninorm/test-u32-normcoll.c: Likewise.
37639         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
37640         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37641         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37642         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37643         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37644         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37645         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37646         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37647         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37648         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37649         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37650         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37651         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37652         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37653         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37654         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37655         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37656         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37657         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37658         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37659         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37660         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37661         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37662         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37663         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37664         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37665         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37666         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37667         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37668         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
37669         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
37670         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
37671         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
37672         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37673         * tests/uniwidth/test-u8-width.c: Likewise.
37674         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37675         * tests/uniwidth/test-u16-width.c: Likewise.
37676         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37677         * tests/uniwidth/test-u32-width.c: Likewise.
37678         * tests/uniwidth/test-uc_width.c: Likewise.
37679         * tests/uniwidth/test-uc_width2.c: Likewise.
37680         * modules/acl-tests (Files): Add tests/macros.h.
37681         * modules/areadlink-tests (Files): Likewise.
37682         * modules/areadlink-with-size-tests (Files): Likewise.
37683         * modules/areadlinkat-tests (Files): Likewise.
37684         * modules/areadlinkat-with-size-tests (Files): Likewise.
37685         * modules/argmatch-tests (Files): Likewise.
37686         * modules/argv-iter-tests (Files): Likewise.
37687         * modules/array-list-tests (Files): Likewise.
37688         * modules/array-mergesort-tests (Files): Likewise.
37689         * modules/array-oset-tests (Files): Likewise.
37690         * modules/avltree-list-tests (Files): Likewise.
37691         * modules/avltree-oset-tests (Files): Likewise.
37692         * modules/avltreehash-list-tests (Files): Likewise.
37693         * modules/base64-tests (Files): Likewise.
37694         * modules/binary-io-tests (Files): Likewise.
37695         * modules/bitrotate-tests (Files): Likewise.
37696         * modules/btowc-tests (Files): Likewise.
37697         * modules/byteswap-tests (Files): Likewise.
37698         * modules/c-ctype-tests (Files): Likewise.
37699         * modules/c-stack-tests (Files): Likewise.
37700         * modules/c-strcase-tests (Files): Likewise.
37701         * modules/c-strcasestr-tests (Files): Likewise.
37702         * modules/c-strstr-tests (Files): Likewise.
37703         * modules/canonicalize-lgpl-tests (Files): Likewise.
37704         * modules/canonicalize-tests (Files): Likewise.
37705         * modules/carray-list-tests (Files): Likewise.
37706         * modules/ceilf-tests (Files): Likewise.
37707         * modules/ceill-tests (Files): Likewise.
37708         * modules/chown-tests (Files): Likewise.
37709         * modules/cloexec-tests (Files): Likewise.
37710         * modules/copy-file-tests (Files): Likewise.
37711         * modules/count-one-bits-tests (Files): Likewise.
37712         * modules/dprintf-posix-tests (Files): Likewise.
37713         * modules/dup2-tests (Files): Likewise.
37714         * modules/dup3-tests (Files): Likewise.
37715         * modules/duplocale-tests (Files): Likewise.
37716         * modules/fbufmode-tests (Files): Likewise.
37717         * modules/fchdir-tests (Files): Likewise.
37718         * modules/fcntl-safer-tests (Files): Likewise.
37719         * modules/fcntl-tests (Files): Likewise.
37720         * modules/fdopendir-tests (Files): Likewise.
37721         * modules/fdutimensat-tests (Files): Likewise.
37722         * modules/fflush-tests (Files): Likewise.
37723         * modules/filevercmp-tests (Files): Likewise.
37724         * modules/flock-tests (Files): Likewise.
37725         * modules/floorf-tests (Files): Likewise.
37726         * modules/floorl-tests (Files): Likewise.
37727         * modules/fnmatch-tests (Files): Likewise.
37728         * modules/fopen-safer-tests (Files): Likewise.
37729         * modules/fopen-tests (Files): Likewise.
37730         * modules/fpending-tests (Files): Likewise.
37731         * modules/fprintf-posix-tests (Files): Likewise.
37732         * modules/fpurge-tests (Files): Likewise.
37733         * modules/freadable-tests (Files): Likewise.
37734         * modules/freadahead-tests (Files): Likewise.
37735         * modules/freading-tests (Files): Likewise.
37736         * modules/freadptr-tests (Files): Likewise.
37737         * modules/freadseek-tests (Files): Likewise.
37738         * modules/freopen-tests (Files): Likewise.
37739         * modules/frexp-nolibm-tests (Files): Likewise.
37740         * modules/frexp-tests (Files): Likewise.
37741         * modules/frexpl-nolibm-tests (Files): Likewise.
37742         * modules/frexpl-tests (Files): Likewise.
37743         * modules/fseek-tests (Files): Likewise.
37744         * modules/fseeko-tests (Files): Likewise.
37745         * modules/fstrcmp-tests (Files): Likewise.
37746         * modules/fsync-tests (Files): Likewise.
37747         * modules/ftell-tests (Files): Likewise.
37748         * modules/ftello-tests (Files): Likewise.
37749         * modules/func-tests (Files): Likewise.
37750         * modules/futimens-tests (Files): Likewise.
37751         * modules/fwritable-tests (Files): Likewise.
37752         * modules/fwriting-tests (Files): Likewise.
37753         * modules/getcwd-tests (Files): Likewise.
37754         * modules/getdate-tests (Files): Likewise.
37755         * modules/getdelim-tests (Files): Likewise.
37756         * modules/getdtablesize-tests (Files): Likewise.
37757         * modules/getgroups-tests (Files): Likewise.
37758         * modules/getline-tests (Files): Likewise.
37759         * modules/getndelim2-tests (Files): Likewise.
37760         * modules/glob-tests (Files): Likewise.
37761         * modules/hash-tests (Files): Likewise.
37762         * modules/i-ring-tests (Files): Likewise.
37763         * modules/iconv-tests (Files): Likewise.
37764         * modules/iconv_open-utf-tests (Files): Likewise.
37765         * modules/idpriv-drop-tests (Files): Likewise.
37766         * modules/idpriv-droptemp-tests (Files): Likewise.
37767         * modules/inet_ntop-tests (Files): Likewise.
37768         * modules/inet_pton-tests (Files): Likewise.
37769         * modules/isblank-tests (Files): Likewise.
37770         * modules/isfinite-tests (Files): Likewise.
37771         * modules/isinf-tests (Files): Likewise.
37772         * modules/isnan-tests (Files): Likewise.
37773         * modules/isnand-nolibm-tests (Files): Likewise.
37774         * modules/isnand-tests (Files): Likewise.
37775         * modules/isnanf-nolibm-tests (Files): Likewise.
37776         * modules/isnanf-tests (Files): Likewise.
37777         * modules/isnanl-nolibm-tests (Files): Likewise.
37778         * modules/isnanl-tests (Files): Likewise.
37779         * modules/lchown-tests (Files): Likewise.
37780         * modules/ldexpl-tests (Files): Likewise.
37781         * modules/link-tests (Files): Likewise.
37782         * modules/linkat-tests (Files): Likewise.
37783         * modules/linked-list-tests (Files): Likewise.
37784         * modules/linkedhash-list-tests (Files): Likewise.
37785         * modules/localename-tests (Files): Likewise.
37786         * modules/lseek-tests (Files): Likewise.
37787         * modules/lstat-tests (Files): Likewise.
37788         * modules/mbmemcasecmp-tests (Files): Likewise.
37789         * modules/mbmemcasecoll-tests (Files): Likewise.
37790         * modules/mbrtowc-tests (Files): Likewise.
37791         * modules/mbscasecmp-tests (Files): Likewise.
37792         * modules/mbscasestr-tests (Files): Likewise.
37793         * modules/mbschr-tests (Files): Likewise.
37794         * modules/mbscspn-tests (Files): Likewise.
37795         * modules/mbsinit-tests (Files): Likewise.
37796         * modules/mbsncasecmp-tests (Files): Likewise.
37797         * modules/mbsnrtowcs-tests (Files): Likewise.
37798         * modules/mbspbrk-tests (Files): Likewise.
37799         * modules/mbspcasecmp-tests (Files): Likewise.
37800         * modules/mbsrchr-tests (Files): Likewise.
37801         * modules/mbsrtowcs-tests (Files): Likewise.
37802         * modules/mbsspn-tests (Files): Likewise.
37803         * modules/mbsstr-tests (Files): Likewise.
37804         * modules/memchr-tests (Files): Likewise.
37805         * modules/memchr2-tests (Files): Likewise.
37806         * modules/memcmp-tests (Files): Likewise.
37807         * modules/memmem-tests (Files): Likewise.
37808         * modules/memrchr-tests (Files): Likewise.
37809         * modules/mkdir-tests (Files): Likewise.
37810         * modules/mkfifo-tests (Files): Likewise.
37811         * modules/mkfifoat-tests (Files): Likewise.
37812         * modules/mknod-tests (Files): Likewise.
37813         * modules/nanosleep-tests (Files): Likewise.
37814         * modules/nl_langinfo-tests (Files): Likewise.
37815         * modules/obstack-printf-tests (Files): Likewise.
37816         * modules/open-tests (Files): Likewise.
37817         * modules/openat-tests (Files): Likewise.
37818         * modules/pipe-filter-gi-tests (Files): Likewise.
37819         * modules/pipe-filter-ii-tests (Files): Likewise.
37820         * modules/pipe2-tests (Files): Likewise.
37821         * modules/popen-safer-tests (Files): Likewise.
37822         * modules/popen-tests (Files): Likewise.
37823         * modules/posixtm-tests (Files): Likewise.
37824         * modules/pread-tests (Files): Likewise.
37825         * modules/printf-frexp-tests (Files): Likewise.
37826         * modules/printf-frexpl-tests (Files): Likewise.
37827         * modules/printf-posix-tests (Files): Likewise.
37828         * modules/priv-set-tests (Files): Likewise.
37829         * modules/quotearg-tests (Files): Likewise.
37830         * modules/random_r-tests (Files): Likewise.
37831         * modules/rawmemchr-tests (Files): Likewise.
37832         * modules/rbtree-list-tests (Files): Likewise.
37833         * modules/rbtree-oset-tests (Files): Likewise.
37834         * modules/rbtreehash-list-tests (Files): Likewise.
37835         * modules/readlink-tests (Files): Likewise.
37836         * modules/remove-tests (Files): Likewise.
37837         * modules/rename-tests (Files): Likewise.
37838         * modules/renameat-tests (Files): Likewise.
37839         * modules/rmdir-tests (Files): Likewise.
37840         * modules/round-tests (Files): Likewise.
37841         * modules/roundf-tests (Files): Likewise.
37842         * modules/roundl-tests (Files): Likewise.
37843         * modules/safe-alloc-tests (Files): Likewise.
37844         * modules/setenv-tests (Files): Likewise.
37845         * modules/sigaction-tests (Files): Likewise.
37846         * modules/signbit-tests (Files): Likewise.
37847         * modules/sleep-tests (Files): Likewise.
37848         * modules/snprintf-posix-tests (Files): Likewise.
37849         * modules/snprintf-tests (Files): Likewise.
37850         * modules/sprintf-posix-tests (Files): Likewise.
37851         * modules/stat-tests (Files): Likewise.
37852         * modules/stat-time-tests (Files): Likewise.
37853         * modules/strcasestr-tests (Files): Likewise.
37854         * modules/strchrnul-tests (Files): Likewise.
37855         * modules/strerror-tests (Files): Likewise.
37856         * modules/striconv-tests (Files): Likewise.
37857         * modules/striconveh-tests (Files): Likewise.
37858         * modules/striconveha-tests (Files): Likewise.
37859         * modules/strsignal-tests (Files): Likewise.
37860         * modules/strstr-tests (Files): Likewise.
37861         * modules/strtod-tests (Files): Likewise.
37862         * modules/strverscmp-tests (Files): Likewise.
37863         * modules/symlink-tests (Files): Likewise.
37864         * modules/symlinkat-tests (Files): Likewise.
37865         * modules/trunc-tests (Files): Likewise.
37866         * modules/truncf-tests (Files): Likewise.
37867         * modules/truncl-tests (Files): Likewise.
37868         * modules/uname-tests (Files): Likewise.
37869         * modules/unicase/cased-tests (Files): Likewise.
37870         * modules/unicase/ignorable-tests (Files): Likewise.
37871         * modules/unicase/locale-language-tests (Files): Likewise.
37872         * modules/unicase/tolower-tests (Files): Likewise.
37873         * modules/unicase/totitle-tests (Files): Likewise.
37874         * modules/unicase/toupper-tests (Files): Likewise.
37875         * modules/unicase/u8-casecmp-tests (Files): Likewise.
37876         * modules/unicase/u8-casecoll-tests (Files): Likewise.
37877         * modules/unicase/u8-casefold-tests (Files): Likewise.
37878         * modules/unicase/u8-is-cased-tests (Files): Likewise.
37879         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
37880         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
37881         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
37882         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
37883         * modules/unicase/u8-tolower-tests (Files): Likewise.
37884         * modules/unicase/u8-totitle-tests (Files): Likewise.
37885         * modules/unicase/u8-toupper-tests (Files): Likewise.
37886         * modules/unicase/u16-casecmp-tests (Files): Likewise.
37887         * modules/unicase/u16-casecoll-tests (Files): Likewise.
37888         * modules/unicase/u16-casefold-tests (Files): Likewise.
37889         * modules/unicase/u16-is-cased-tests (Files): Likewise.
37890         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
37891         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
37892         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
37893         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
37894         * modules/unicase/u16-tolower-tests (Files): Likewise.
37895         * modules/unicase/u16-totitle-tests (Files): Likewise.
37896         * modules/unicase/u16-toupper-tests (Files): Likewise.
37897         * modules/unicase/u32-casecmp-tests (Files): Likewise.
37898         * modules/unicase/u32-casecoll-tests (Files): Likewise.
37899         * modules/unicase/u32-casefold-tests (Files): Likewise.
37900         * modules/unicase/u32-is-cased-tests (Files): Likewise.
37901         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
37902         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
37903         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
37904         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
37905         * modules/unicase/u32-tolower-tests (Files): Likewise.
37906         * modules/unicase/u32-totitle-tests (Files): Likewise.
37907         * modules/unicase/u32-toupper-tests (Files): Likewise.
37908         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
37909         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
37910         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
37911         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
37912         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
37913         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
37914         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
37915         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
37916         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
37917         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
37918         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
37919         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
37920         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
37921         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
37922         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
37923         * modules/unictype/bidicategory-name-tests (Files): Likewise.
37924         * modules/unictype/bidicategory-of-tests (Files): Likewise.
37925         * modules/unictype/bidicategory-test-tests (Files): Likewise.
37926         * modules/unictype/block-list-tests (Files): Likewise.
37927         * modules/unictype/block-of-tests (Files): Likewise.
37928         * modules/unictype/block-test-tests (Files): Likewise.
37929         * modules/unictype/category-C-tests (Files): Likewise.
37930         * modules/unictype/category-Cc-tests (Files): Likewise.
37931         * modules/unictype/category-Cf-tests (Files): Likewise.
37932         * modules/unictype/category-Cn-tests (Files): Likewise.
37933         * modules/unictype/category-Co-tests (Files): Likewise.
37934         * modules/unictype/category-Cs-tests (Files): Likewise.
37935         * modules/unictype/category-L-tests (Files): Likewise.
37936         * modules/unictype/category-Ll-tests (Files): Likewise.
37937         * modules/unictype/category-Lm-tests (Files): Likewise.
37938         * modules/unictype/category-Lo-tests (Files): Likewise.
37939         * modules/unictype/category-Lt-tests (Files): Likewise.
37940         * modules/unictype/category-Lu-tests (Files): Likewise.
37941         * modules/unictype/category-M-tests (Files): Likewise.
37942         * modules/unictype/category-Mc-tests (Files): Likewise.
37943         * modules/unictype/category-Me-tests (Files): Likewise.
37944         * modules/unictype/category-Mn-tests (Files): Likewise.
37945         * modules/unictype/category-N-tests (Files): Likewise.
37946         * modules/unictype/category-Nd-tests (Files): Likewise.
37947         * modules/unictype/category-Nl-tests (Files): Likewise.
37948         * modules/unictype/category-No-tests (Files): Likewise.
37949         * modules/unictype/category-P-tests (Files): Likewise.
37950         * modules/unictype/category-Pc-tests (Files): Likewise.
37951         * modules/unictype/category-Pd-tests (Files): Likewise.
37952         * modules/unictype/category-Pe-tests (Files): Likewise.
37953         * modules/unictype/category-Pf-tests (Files): Likewise.
37954         * modules/unictype/category-Pi-tests (Files): Likewise.
37955         * modules/unictype/category-Po-tests (Files): Likewise.
37956         * modules/unictype/category-Ps-tests (Files): Likewise.
37957         * modules/unictype/category-S-tests (Files): Likewise.
37958         * modules/unictype/category-Sc-tests (Files): Likewise.
37959         * modules/unictype/category-Sk-tests (Files): Likewise.
37960         * modules/unictype/category-Sm-tests (Files): Likewise.
37961         * modules/unictype/category-So-tests (Files): Likewise.
37962         * modules/unictype/category-Z-tests (Files): Likewise.
37963         * modules/unictype/category-Zl-tests (Files): Likewise.
37964         * modules/unictype/category-Zp-tests (Files): Likewise.
37965         * modules/unictype/category-Zs-tests (Files): Likewise.
37966         * modules/unictype/category-and-not-tests (Files): Likewise.
37967         * modules/unictype/category-and-tests (Files): Likewise.
37968         * modules/unictype/category-byname-tests (Files): Likewise.
37969         * modules/unictype/category-name-tests (Files): Likewise.
37970         * modules/unictype/category-none-tests (Files): Likewise.
37971         * modules/unictype/category-of-tests (Files): Likewise.
37972         * modules/unictype/category-or-tests (Files): Likewise.
37973         * modules/unictype/category-test-withtable-tests (Files): Likewise.
37974         * modules/unictype/combining-class-tests (Files): Likewise.
37975         * modules/unictype/ctype-alnum-tests (Files): Likewise.
37976         * modules/unictype/ctype-alpha-tests (Files): Likewise.
37977         * modules/unictype/ctype-blank-tests (Files): Likewise.
37978         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
37979         * modules/unictype/ctype-digit-tests (Files): Likewise.
37980         * modules/unictype/ctype-graph-tests (Files): Likewise.
37981         * modules/unictype/ctype-lower-tests (Files): Likewise.
37982         * modules/unictype/ctype-print-tests (Files): Likewise.
37983         * modules/unictype/ctype-punct-tests (Files): Likewise.
37984         * modules/unictype/ctype-space-tests (Files): Likewise.
37985         * modules/unictype/ctype-upper-tests (Files): Likewise.
37986         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
37987         * modules/unictype/decimal-digit-tests (Files): Likewise.
37988         * modules/unictype/digit-tests (Files): Likewise.
37989         * modules/unictype/mirror-tests (Files): Likewise.
37990         * modules/unictype/numeric-tests (Files): Likewise.
37991         * modules/unictype/property-alphabetic-tests (Files): Likewise.
37992         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
37993         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
37994         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
37995         Likewise.
37996         * modules/unictype/property-bidi-block-separator-tests (Files):
37997         Likewise.
37998         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
37999         Likewise.
38000         * modules/unictype/property-bidi-common-separator-tests (Files):
38001         Likewise.
38002         * modules/unictype/property-bidi-control-tests (Files): Likewise.
38003         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
38004         Likewise.
38005         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
38006         Likewise.
38007         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
38008         Likewise.
38009         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
38010         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
38011         Likewise.
38012         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
38013         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
38014         Likewise.
38015         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
38016         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
38017         * modules/unictype/property-bidi-segment-separator-tests (Files):
38018         Likewise.
38019         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
38020         * modules/unictype/property-byname-tests (Files): Likewise.
38021         * modules/unictype/property-combining-tests (Files): Likewise.
38022         * modules/unictype/property-composite-tests (Files): Likewise.
38023         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
38024         * modules/unictype/property-dash-tests (Files): Likewise.
38025         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
38026         * modules/unictype/property-default-ignorable-code-point-tests (Files):
38027         Likewise.
38028         * modules/unictype/property-deprecated-tests (Files): Likewise.
38029         * modules/unictype/property-diacritic-tests (Files): Likewise.
38030         * modules/unictype/property-extender-tests (Files): Likewise.
38031         * modules/unictype/property-format-control-tests (Files): Likewise.
38032         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
38033         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
38034         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
38035         * modules/unictype/property-hex-digit-tests (Files): Likewise.
38036         * modules/unictype/property-hyphen-tests (Files): Likewise.
38037         * modules/unictype/property-id-continue-tests (Files): Likewise.
38038         * modules/unictype/property-id-start-tests (Files): Likewise.
38039         * modules/unictype/property-ideographic-tests (Files): Likewise.
38040         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
38041         * modules/unictype/property-ids-trinary-operator-tests (Files):
38042         Likewise.
38043         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
38044         * modules/unictype/property-iso-control-tests (Files): Likewise.
38045         * modules/unictype/property-join-control-tests (Files): Likewise.
38046         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
38047         * modules/unictype/property-line-separator-tests (Files): Likewise.
38048         * modules/unictype/property-logical-order-exception-tests (Files):
38049         Likewise.
38050         * modules/unictype/property-lowercase-tests (Files): Likewise.
38051         * modules/unictype/property-math-tests (Files): Likewise.
38052         * modules/unictype/property-non-break-tests (Files): Likewise.
38053         * modules/unictype/property-not-a-character-tests (Files): Likewise.
38054         * modules/unictype/property-numeric-tests (Files): Likewise.
38055         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
38056         * modules/unictype/property-other-default-ignorable-code-point-tests
38057         (Files): Likewise.
38058         * modules/unictype/property-other-grapheme-extend-tests (Files):
38059         Likewise.
38060         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
38061         * modules/unictype/property-other-id-start-tests (Files): Likewise.
38062         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
38063         * modules/unictype/property-other-math-tests (Files): Likewise.
38064         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
38065         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
38066         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
38067         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
38068         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
38069         * modules/unictype/property-private-use-tests (Files): Likewise.
38070         * modules/unictype/property-punctuation-tests (Files): Likewise.
38071         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
38072         * modules/unictype/property-radical-tests (Files): Likewise.
38073         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
38074         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
38075         * modules/unictype/property-space-tests (Files): Likewise.
38076         * modules/unictype/property-terminal-punctuation-tests (Files):
38077         Likewise.
38078         * modules/unictype/property-test-tests (Files): Likewise.
38079         * modules/unictype/property-titlecase-tests (Files): Likewise.
38080         * modules/unictype/property-unassigned-code-value-tests (Files):
38081         Likewise.
38082         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
38083         * modules/unictype/property-uppercase-tests (Files): Likewise.
38084         * modules/unictype/property-variation-selector-tests (Files): Likewise.
38085         * modules/unictype/property-white-space-tests (Files): Likewise.
38086         * modules/unictype/property-xid-continue-tests (Files): Likewise.
38087         * modules/unictype/property-xid-start-tests (Files): Likewise.
38088         * modules/unictype/property-zero-width-tests (Files): Likewise.
38089         * modules/unictype/scripts-tests (Files): Likewise.
38090         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
38091         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
38092         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
38093         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
38094         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
38095         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
38096         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
38097         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
38098         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
38099         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
38100         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
38101         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
38102         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
38103         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
38104         * modules/uninorm/composition-tests (Files): Likewise.
38105         * modules/uninorm/decomposing-form-tests (Files): Likewise.
38106         * modules/uninorm/decomposition-tests (Files): Likewise.
38107         * modules/uninorm/filter-tests (Files): Likewise.
38108         * modules/uninorm/nfc-tests (Files): Likewise.
38109         * modules/uninorm/nfd-tests (Files): Likewise.
38110         * modules/uninorm/nfkc-tests (Files): Likewise.
38111         * modules/uninorm/nfkd-tests (Files): Likewise.
38112         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
38113         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
38114         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
38115         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
38116         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
38117         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
38118         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
38119         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38120         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
38121         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
38122         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
38123         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
38124         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38125         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
38126         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
38127         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
38128         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
38129         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38130         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
38131         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
38132         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
38133         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
38134         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38135         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
38136         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
38137         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
38138         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
38139         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
38140         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
38141         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
38142         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
38143         * modules/uniwidth/u8-width-tests (Files): Likewise.
38144         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
38145         * modules/uniwidth/u16-width-tests (Files): Likewise.
38146         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
38147         * modules/uniwidth/u32-width-tests (Files): Likewise.
38148         * modules/uniwidth/width-tests (Files): Likewise.
38149         * modules/unlink-tests (Files): Likewise.
38150         * modules/unsetenv-tests (Files): Likewise.
38151         * modules/usleep-tests (Files): Likewise.
38152         * modules/utimens-tests (Files): Likewise.
38153         * modules/utimensat-tests (Files): Likewise.
38154         * modules/vasnprintf-posix-tests (Files): Likewise.
38155         * modules/vasnprintf-tests (Files): Likewise.
38156         * modules/vasprintf-posix-tests (Files): Likewise.
38157         * modules/vasprintf-tests (Files): Likewise.
38158         * modules/vdprintf-posix-tests (Files): Likewise.
38159         * modules/vfprintf-posix-tests (Files): Likewise.
38160         * modules/vprintf-posix-tests (Files): Likewise.
38161         * modules/vsnprintf-posix-tests (Files): Likewise.
38162         * modules/vsnprintf-tests (Files): Likewise.
38163         * modules/vsprintf-posix-tests (Files): Likewise.
38164         * modules/wcrtomb-tests (Files): Likewise.
38165         * modules/wcsnrtombs-tests (Files): Likewise.
38166         * modules/wcsrtombs-tests (Files): Likewise.
38167         * modules/wctype-tests (Files): Likewise.
38168         * modules/wcwidth-tests (Files): Likewise.
38169         * modules/xmemdup0-tests (Files): Likewise.
38170         * modules/xprintf-posix-tests (Files): Likewise.
38171         * modules/xvasprintf-tests (Files): Likewise.
38172
38173 2009-12-24  Eric Blake  <ebb9@byu.net>
38174
38175         test-nanosleep: fix typo
38176         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
38177         patch.
38178         Reported by Bruno Haible.
38179
38180 2009-12-24  Bruno Haible  <bruno@clisp.org>
38181
38182         Reduce namespace pollution on glibc systems.
38183         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
38184         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
38185         systems.
38186         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
38187         <getopt.h> on glibc systems.
38188         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
38189         systems.
38190         * lib/fcntl.c: Include <unistd.h> here instead.
38191
38192 2009-12-24  Bruno Haible  <bruno@clisp.org>
38193
38194         * lib/stdlib.in.h (includes): Fix typo in today's commit.
38195
38196 2009-12-24  Eric Blake  <ebb9@byu.net>
38197
38198         tests: add signature checks
38199         * tests/signature.h (SIGNATURE_CHECK): New file.
38200         * modules/atexit-tests (Files): Use it.
38201         * modules/btowc-tests (Files): Likewise.
38202         * modules/canonicalize-lgpl-tests (Files): Likewise.
38203         * modules/ceilf-tests (Files): Likewise.
38204         * modules/ceill-tests (Files): Likewise.
38205         * modules/chown-tests (Files): Likewise.
38206         * modules/dprintf-posix-tests (Files): Likewise.
38207         * modules/dup2-tests (Files): Likewise.
38208         * modules/dup3-tests (Files): Likewise.
38209         * modules/duplocale-tests (Files): Likewise.
38210         * modules/fchdir-tests (Files): Likewise.
38211         * modules/fcntl-tests (Files): Likewise.
38212         * modules/fdopendir-tests (Files): Likewise.
38213         * modules/fflush-tests (Files): Likewise.
38214         * modules/flock-tests (Files): Likewise.
38215         * modules/floorf-tests (Files): Likewise.
38216         * modules/floorl-tests (Files): Likewise.
38217         * modules/fnmatch-tests (Files): Likewise.
38218         * modules/fopen-tests (Files): Likewise.
38219         * modules/fprintf-posix-tests (Files): Likewise.
38220         * modules/freopen-tests (Files): Likewise.
38221         * modules/frexp-nolibm-tests (Files): Likewise.
38222         * modules/frexp-tests (Files): Likewise.
38223         * modules/frexpl-nolibm-tests (Files): Likewise.
38224         * modules/frexpl-tests (Files): Likewise.
38225         * modules/fseek-tests (Files): Likewise.
38226         * modules/fseeko-tests (Files): Likewise.
38227         * modules/fsync-tests (Files): Likewise.
38228         * modules/ftell-tests (Files): Likewise.
38229         * modules/ftello-tests (Files): Likewise.
38230         * modules/futimens-tests (Files): Likewise.
38231         * modules/getaddrinfo-tests (Files): Likewise.
38232         * modules/getcwd-tests (Files): Likewise.
38233         * modules/getdelim-tests (Files): Likewise.
38234         * modules/getdtablesize-tests (Files): Likewise.
38235         * modules/getgroups-tests (Files): Likewise.
38236         * modules/gethostname-tests (Files): Likewise.
38237         * modules/getline-tests (Files): Likewise.
38238         * modules/getopt-posix-tests (Files): Likewise.
38239         * modules/gettimeofday-tests (Files): Likewise.
38240         * modules/glob-tests (Files): Likewise.
38241         * modules/iconv-tests (Files): Likewise.
38242         * modules/inet_ntop-tests (Files): Likewise.
38243         * modules/inet_pton-tests (Files): Likewise.
38244         * modules/isblank-tests (Files): Likewise.
38245         * modules/lchown-tests (Files): Likewise.
38246         * modules/ldexpl-tests (Files): Likewise.
38247         * modules/link-tests (Files): Likewise.
38248         * modules/linkat-tests (Files): Likewise.
38249         * modules/lseek-tests (Files): Likewise.
38250         * modules/lstat-tests (Files): Likewise.
38251         * modules/mbrtowc-tests (Files): Likewise.
38252         * modules/mbsinit-tests (Files): Likewise.
38253         * modules/mbsnrtowcs-tests (Files): Likewise.
38254         * modules/mbsrtowcs-tests (Files): Likewise.
38255         * modules/memchr-tests (Files): Likewise.
38256         * modules/memcmp-tests (Files): Likewise.
38257         * modules/memmem-tests (Files): Likewise.
38258         * modules/memrchr-tests (Files): Likewise.
38259         * modules/mkdir-tests (Files): Likewise.
38260         * modules/mkfifo-tests (Files): Likewise.
38261         * modules/mkfifoat-tests (Files): Likewise.
38262         * modules/mknod-tests (Files): Likewise.
38263         * modules/nanosleep-tests (Files): Likewise.
38264         * modules/nl_langinfo-tests (Files): Likewise.
38265         * modules/obstack-printf-tests (Files): Likewise.
38266         * modules/open-tests (Files): Likewise.
38267         * modules/openat-tests (Files): Likewise.
38268         * modules/perror-tests (Files): Likewise.
38269         * modules/pipe2-tests (Files): Likewise.
38270         * modules/poll-tests (Files): Likewise.
38271         * modules/popen-tests (Files): Likewise.
38272         * modules/posix_spawn-tests (Files): Likewise.
38273         * modules/posix_spawnp-tests (Files): Likewise.
38274         * modules/pread-tests (Files): Likewise.
38275         * modules/printf-posix-tests (Files): Likewise.
38276         * modules/pty-tests (Files): Likewise.
38277         * modules/random_r-tests (Files): Likewise.
38278         * modules/rawmemchr-tests (Files): Likewise.
38279         * modules/readlink-tests (Files): Likewise.
38280         * modules/remove-tests (Files): Likewise.
38281         * modules/rename-tests (Files): Likewise.
38282         * modules/renameat-tests (Files): Likewise.
38283         * modules/rmdir-tests (Files): Likewise.
38284         * modules/round-tests (Files): Likewise.
38285         * modules/roundf-tests (Files): Likewise.
38286         * modules/roundl-tests (Files): Likewise.
38287         * modules/select-tests (Files): Likewise.
38288         * modules/setenv-tests (Files): Likewise.
38289         * modules/sigaction-tests (Files): Likewise.
38290         * modules/sleep-tests (Files): Likewise.
38291         * modules/snprintf-posix-tests (Files): Likewise.
38292         * modules/snprintf-tests (Files): Likewise.
38293         * modules/sprintf-posix-tests (Files): Likewise.
38294         * modules/stat-tests (Files): Likewise.
38295         * modules/strcasestr-tests (Files): Likewise.
38296         * modules/strchrnul-tests (Files): Likewise.
38297         * modules/strerror-tests (Files): Likewise.
38298         * modules/strsignal-tests (Files): Likewise.
38299         * modules/strstr-tests (Files): Likewise.
38300         * modules/strtod-tests (Files): Likewise.
38301         * modules/strverscmp-tests (Files): Likewise.
38302         * modules/symlink-tests (Files): Likewise.
38303         * modules/symlinkat-tests (Files): Likewise.
38304         * modules/times-tests (Files): Likewise.
38305         * modules/trunc-tests (Files): Likewise.
38306         * modules/truncf-tests (Files): Likewise.
38307         * modules/truncl-tests (Files): Likewise.
38308         * modules/tsearch-tests (Files): Likewise.
38309         * modules/uname-tests (Files): Likewise.
38310         * modules/unlink-tests (Files): Likewise.
38311         * modules/unsetenv-tests (Files): Likewise.
38312         * modules/usleep-tests (Files): Likewise.
38313         * modules/utimensat-tests (Files): Likewise.
38314         * modules/vasprintf-tests (Files): Likewise.
38315         * modules/vdprintf-posix-tests (Files): Likewise.
38316         * modules/vfprintf-posix-tests (Files): Likewise.
38317         * modules/vprintf-posix-tests (Files): Likewise.
38318         * modules/vsnprintf-posix-tests (Files): Likewise.
38319         * modules/vsnprintf-tests (Files): Likewise.
38320         * modules/vsprintf-posix-tests (Files): Likewise.
38321         * modules/wcrtomb-tests (Files): Likewise.
38322         * modules/wcsnrtombs-tests (Files): Likewise.
38323         * modules/wcsrtombs-tests (Files): Likewise.
38324         * modules/wcwidth-tests (Files): Likewise.
38325         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
38326         * tests/test-isinf.c (isinf): Likewise.
38327         * tests/test-isnan.c (isnan): Likewise.
38328         * tests/test-signbit.c (signbit): Likewise.
38329         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
38330         declaration, either as macro or with correct signature.
38331         (select): Ensure function under test is declared with correct
38332         signature in correct header.
38333         * tests/test-atexit.c (atexit): Likewise.
38334         * tests/test-btowc.c (btowc): Likewise.
38335         * tests/test-canonicalize-lgpl.c (realpath)
38336         (canonicalize_file_name): Likewise.
38337         * tests/test-ceilf1.c (ceilf): Likewise.
38338         * tests/test-ceill.c (ceill): Likewise.
38339         * tests/test-chown.c (chown): Likewise.
38340         * tests/test-dprintf-posix.c (dprintf): Likewise.
38341         * tests/test-dup2.c (dup2): Likewise.
38342         * tests/test-dup3.c (dup3): Likewise.
38343         * tests/test-duplocale.c (duplocale): Likewise.
38344         * tests/test-fchdir.c (fchdir): Likewise.
38345         * tests/test-fchownat.c (fchownat): Likewise.
38346         * tests/test-fcntl.c (fcntl): Likewise.
38347         * tests/test-fdopendir.c (fdopendir): Likewise.
38348         * tests/test-fflush.c (fflush): Likewise.
38349         * tests/test-flock.c (flock): Likewise.
38350         * tests/test-floorf1.c (floorf): Likewise.
38351         * tests/test-floorl.c (floorl): Likewise.
38352         * tests/test-fnmatch.c (fnmatch): Likewise.
38353         * tests/test-fopen.c (fopen): Likewise.
38354         * tests/test-fprintf-posix.c (fprintf): Likewise.
38355         * tests/test-freopen.c (freopen): Likewise.
38356         * tests/test-frexp.c (frexp): Likewise.
38357         * tests/test-frexpl.c (frexpl): Likewise.
38358         * tests/test-fseek.c (fseek): Likewise.
38359         * tests/test-fseeko.c (fseeko): Likewise.
38360         * tests/test-fstatat.c (fstatat): Likewise.
38361         * tests/test-fsync.c (fsync): Likewise.
38362         * tests/test-ftell.c (ftell): Likewise.
38363         * tests/test-ftello.c (ftello): Likewise.
38364         * tests/test-futimens.c (futimens): Likewise.
38365         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
38366         (gai_strerror): Likewise.
38367         * tests/test-getcwd.c (getcwd): Likewise.
38368         * tests/test-getdelim.c (getdelim): Likewise.
38369         * tests/test-getdtablesize.c (getdtablesize): Likewise.
38370         * tests/test-getgroups.c (getgroups): Likewise.
38371         * tests/test-gethostname.c (gethostname): Likewise.
38372         * tests/test-getline.c (getline): Likewise.
38373         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
38374         Likewise.
38375         * tests/test-gettimeofday.c (gettimeofday): Likewise.
38376         * tests/test-glob.c (glob, globfree): Likewise.
38377         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
38378         * tests/test-inet_ntop.c (inet_ntop): Likewise.
38379         * tests/test-inet_pton.c (inet_pton): Likewise.
38380         * tests/test-isblank.c (isblank): Likewise.
38381         * tests/test-lchown.c (lchown): Likewise.
38382         * tests/test-ldexpl.c (ldexpl): Likewise.
38383         * tests/test-link.c (link): Likewise.
38384         * tests/test-linkat.c (linkat): Likewise.
38385         * tests/test-lseek.c (lseek): Likewise.
38386         * tests/test-lstat.c (lstat): Likewise.
38387         * tests/test-mbrtowc.c (mbrtowc): Likewise.
38388         * tests/test-mbsinit.c (mbsinit): Likewise.
38389         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
38390         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
38391         * tests/test-memchr.c (memchr): Likewise.
38392         * tests/test-memcmp.c (memcmp): Likewise.
38393         * tests/test-memmem.c (memmem): Likewise.
38394         * tests/test-memrchr.c (memrchr): Likewise.
38395         * tests/test-mkdir.c (mkdir): Likewise.
38396         * tests/test-mkdirat.c (mkdirat): Likewise.
38397         * tests/test-mkfifo.c (mkfifo): Likewise.
38398         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
38399         * tests/test-mknod.c (mknod): Likewise.
38400         * tests/test-nanosleep.c (nanosleep): Likewise.
38401         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
38402         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
38403         Likewise.
38404         * tests/test-open.c (open): Likewise.
38405         * tests/test-openat.c (openat): Likewise.
38406         * tests/test-perror.c (perror): Likewise.
38407         * tests/test-pipe2.c (pipe2): Likewise.
38408         * tests/test-poll.c (poll): Likewise.
38409         * tests/test-popen.c (popen, pclose): Likewise.
38410         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
38411         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
38412         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
38413         (posix_spawn_file_actions_destroy)
38414         (posix_spawn_file_actions_addclose)
38415         (posix_spawn_file_actions_addopen)
38416         (posix_spawn_file_actions_adddup2): Likewise.
38417         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
38418         * tests/test-pread.c (pread): Likewise.
38419         * tests/test-printf-posix.c (printf): Likewise.
38420         * tests/test-pty.c (openpty, forkpty): Likewise.
38421         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
38422         (random_r): Likewise.
38423         * tests/test-rawmemchr.c (rawmemchr): Likewise.
38424         * tests/test-readlink.c (readlink): Likewise.
38425         * tests/test-remove.c (remove): Likewise.
38426         * tests/test-rename.c (rename): Likewise.
38427         * tests/test-renameat.c (renameat): Likewise.
38428         * tests/test-rmdir.c (rmdir): Likewise.
38429         * tests/test-round1.c (round): Likewise.
38430         * tests/test-roundf1.c (roundf): Likewise.
38431         * tests/test-roundl.c (roundl): Likewise.
38432         * tests/test-setenv.c (setenv): Likewise.
38433         * tests/test-sigaction.c (sigaction): Likewise.
38434         * tests/test-sleep.c (sleep): Likewise.
38435         * tests/test-snprintf.c (snprintf): Likewise.
38436         * tests/test-sprintf-posix.c (sprintf): Likewise.
38437         * tests/test-stat.c (stat): Likewise.
38438         * tests/test-stpncpy.c (stpncpy): Likewise.
38439         * tests/test-strcasestr.c (strcasestr): Likewise.
38440         * tests/test-strchrnul.c (strchrnul): Likewise.
38441         * tests/test-strerror.c (strerror): Likewise.
38442         * tests/test-strsignal.c (strsignal): Likewise.
38443         * tests/test-strstr.c (strstr): Likewise.
38444         * tests/test-strtod.c (strtod): Likewise.
38445         * tests/test-strverscmp.c (strverscmp): Likewise.
38446         * tests/test-symlink.c (symlink): Likewise.
38447         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
38448         * tests/test-times.c (times): Likewise.
38449         * tests/test-trunc1.c (trunc): Likewise.
38450         * tests/test-truncf1.c (truncf): Likewise.
38451         * tests/test-truncl.c (truncl): Likewise.
38452         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
38453         Likewise.
38454         * tests/test-uname.c (uname): Likewise.
38455         * tests/test-unlink.c (unlink): Likewise.
38456         * tests/test-unlinkat.c (unlinkat): Likewise.
38457         * tests/test-unsetenv.c (unsetenv): Likewise.
38458         * tests/test-usleep.c (usleep): Likewise.
38459         * tests/test-utimensat.c (utimensat): Likewise.
38460         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
38461         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
38462         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
38463         * tests/test-vprintf-posix.c (vprintf): Likewise.
38464         * tests/test-vsnprintf.c (vsnprintf): Likewise.
38465         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
38466         * tests/test-wcrtomb.c (wcrtomb): Likewise.
38467         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
38468         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
38469         * tests/test-wcwidth.c (wcwidth): Likewise.
38470
38471         build: pull in conditional headers during GNULIB_POSIXCHECK
38472         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
38473         definitions from any conditionally-included headers.
38474         * lib/stdlib.in.h (includes): Likewise.
38475         * lib/unistd.in.h (includes): Likewise.
38476
38477 2009-12-24  Bruno Haible  <bruno@clisp.org>
38478
38479         * tests/test-argv-iter.c: Include header file being tested immediately
38480         after config.h.
38481         * tests/test-base64.c: Likewise.
38482         * tests/test-flock.c: Likewise.
38483         * tests/test-fsync.c: Likewise.
38484         * tests/test-getdate.c: Likewise.
38485         * tests/test-getndelim2.c: Likewise.
38486         * tests/test-isfinite.c: Likewise.
38487         * tests/test-isinf.c: Likewise.
38488         * tests/test-strerror.c: Likewise.
38489         * tests/test-strsignal.c: Likewise.
38490
38491 2009-12-23  Eric Blake  <ebb9@byu.net>
38492
38493         unistd: work around cygwin bug
38494         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
38495         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
38496         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38497
38498 2009-12-23  Bruno Haible  <bruno@clisp.org>
38499
38500         localename: More tests.
38501         * tests/test-localename.c (SIZEOF): New macro.
38502         (categories): New variable.
38503         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
38504         test_locale_name_default): Add test w.r.t. thread locale.
38505         (test_locale_name_thread): New function.
38506         (main): Invoke it.
38507
38508         localename: Make aware of thread locale.
38509         * lib/localename.h (gl_locale_name_thread): New declaration.
38510         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
38511         behaviour with respect to thread locale.
38512         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
38513         <langinfo.h>, glthread/lock.h.
38514         (SIZE_BITS): New macro.
38515         (string_hash): New function.
38516         (struct hash_node): New type.
38517         (HASH_TABLE_SIZE): New macro.
38518         (struniq_hash_table, struniq_lock): New variables.
38519         (struniq): New function.
38520         (gl_locale_name_thread): New function.
38521         (gl_locale_name): Invoke it.
38522         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
38523         * modules/localename (Depends-on): Add lock.
38524         Reported by Mike Gran <spk121@yahoo.com>.
38525
38526 2009-12-23  Eric Blake  <ebb9@byu.net>
38527
38528         va-args: new module
38529         * modules/va-args: New file.
38530         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
38531         * MODULES.html.sh (Core language properties): Mention it.
38532
38533         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
38534         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
38535         named alias for __attribute__((__unused__)).
38536         * lib/chown.c: Update client.
38537         * lib/fchmodat.c: Likewise.
38538         * lib/fts.c: Likewise.
38539         * lib/getdate.y: Likewise.
38540         * lib/getgroups.c: Likewise.
38541         * lib/getopt.c: Likewise.
38542         * lib/getugroups.c: Likewise.
38543         * lib/mkdir.c: Likewise.
38544         * lib/mkfifo.c: Likewise.
38545         * lib/mkfifoat.c: Likewise.
38546         * lib/mknod.c: Likewise.
38547         * lib/mknodat.c: Likewise.
38548         * lib/readlink.c: Likewise.
38549         * lib/se-context.in.h: Likewise.
38550         * lib/se-selinux.in.h: Likewise.
38551         * lib/sockets.c: Likewise.
38552         * lib/symlink.c: Likewise.
38553         * lib/symlinkat.c: Likewise.
38554         * lib/unicodeio.c: Likewise.
38555         * lib/unistr.h: Likewise.
38556         * tests/test-areadlink.c: Likewise.
38557         * tests/test-areadlinkat.c: Likewise.
38558         * tests/test-filenamecat.c: Likewise.
38559         * tests/test-fseeko.c: Likewise.
38560         * tests/test-ftello.c: Likewise.
38561         * tests/test-getdate.c: Likewise.
38562         * tests/test-getgroups.c: Likewise.
38563         * tests/test-gethostname.c: Likewise.
38564         * tests/test-quotearg.c: Likewise.
38565         * tests/test-version-etc.c: Likewise.
38566         * tests/test-xalloc-die.c: Likewise.
38567         * tests/test-xfprintf-posix.c: Likewise.
38568         * tests/test-xprintf-posix.c: Likewise.
38569         * tests/test-xvasprintf.c: Likewise.
38570
38571         tests: avoid compiler warnings
38572         * tests/test-fcntl.c (main): Delete unused parameters.
38573         * tests/test-freopen-safer.c (main): Likewise.
38574         * tests/test-xalloc-die.c (main): Mark unused parameters.
38575         * tests/test-fseeko.c (main): Likewise.
38576         * tests/test-ftello.c (main): Likewise.
38577         * tests/test-nanosleep.c (main): Avoid declaration warning.
38578         * tests/test-sleep.c (main): Likewise.
38579         * tests/test-unsetenv.c (main): Silence warning about string
38580         literal.
38581         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
38582
38583 2009-12-23  Bruno Haible  <bruno@clisp.org>
38584
38585         * tests/test-localename.c (test_locale_name): New function, extracted
38586         from main. Also test mixed situations.
38587         (test_locale_name_posix, test_locale_name_environ,
38588         test_locale_name_default): New functions.
38589         (main): Invoke them all.
38590         * modules/localename-tests (configure.ac): Test for newlocale.
38591
38592 2009-12-23  Bruno Haible  <bruno@clisp.org>
38593
38594         unistd: Ensure getcwd gets declared before being overridden.
38595         * lib/unistd.in.h: Conditionally include <io.h>.
38596
38597 2009-12-22  Bruno Haible  <bruno@clisp.org>
38598
38599         wchar: Diagnose broken combination of glibc and gcc versions and flags.
38600         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
38601         (gl_WCHAR_H): Invoke it.
38602         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
38603         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
38604         Reported by Karl Berry <karl@freefriends.org>.
38605
38606 2009-12-22  Eric Blake  <ebb9@byu.net>
38607
38608         math, unistd: avoid redundant includes
38609         * lib/math.in.h (isnan): No need to re-include <math.h>.
38610         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
38611
38612         getsubopt: work around cygwin bug
38613         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
38614         avoid conflicting with system getsubopt.
38615         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
38616         bug.
38617
38618         getopt: synchronize from glibc
38619         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
38620         parameter order.  Adjust all callers.
38621         (_getopt_internal_r, main): Adjust quoting in error messages.
38622         Drop considerations for outdated POSIX 1003.2 error message.
38623         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
38624         callers.
38625         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
38626
38627         test-getopt: test stderr behavior
38628         * modules/getopt-posix-tests (Depends-on): Add dup2.
38629         * tests/test-getopt.c (ASSERT): Avoid stderr.
38630         (main): Move stderr to a temporary file.
38631         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
38632         Instead, add parameter to inform caller if output occurred.
38633         (test_getopt): Adjust all existing tests to expect silence, and
38634         add new tests of leading ":".
38635         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38636         glibc shortcomings with leading "-:" or "+:" in optstring.
38637         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38638         Likewise.
38639         * doc/posix-functions/getopt.texi (getopt): Likewise.
38640
38641         test-getopt: enhance test
38642         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
38643         supports optind=0.
38644         * tests/test-getopt.c (OPTIND_MIN): Move...
38645         * tests/test-getopt.h (OPTIND_MIN): ...here.
38646         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
38647         Require that optind=0 works, since modern BSD supports it in
38648         addition to optreset, and since coreutils expects it.
38649         (test_getopt_long_only): New test.
38650         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38651         glibc shortcomings with 'W;', and enforcement of optind=0.
38652         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38653         Likewise.
38654
38655 2009-12-21  Bruno Haible  <bruno@clisp.org>
38656
38657         localename: Improvements for MacOS X and Cygwin.
38658         * lib/localename.h (gl_locale_name_environ): New declaration.
38659         * lib/localename.c (gl_locale_name_environ): New function, extracted from
38660         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
38661         (gl_locale_name_posix): Invoke it.
38662         (gl_locale_name_default): Add comments. Use Windows native API also on
38663         Cygwin.
38664
38665 2009-12-21  Bruno Haible  <bruno@clisp.org>
38666
38667         Update list of Win32 locale ids.
38668         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
38669         (LANG_SAMI): Renamed from LANG_SAAMI.
38670         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
38671         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
38672         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
38673         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
38674         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
38675         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
38676         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
38677         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
38678         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
38679         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
38680         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
38681         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
38682         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
38683         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
38684         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
38685         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
38686         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
38687         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
38688         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
38689         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
38690         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
38691         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
38692         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
38693         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
38694         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
38695         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
38696         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
38697         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
38698         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
38699         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
38700         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
38701         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
38702         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
38703         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
38704         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
38705         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
38706         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
38707         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
38708         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
38709         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
38710         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
38711         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
38712         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
38713         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
38714         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
38715         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
38716         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
38717         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
38718         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
38719         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
38720         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
38721         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
38722         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
38723         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
38724         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
38725         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
38726         Add more languages and countries for Sami, Sorbian. Add more countries
38727         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
38728         for Pashto. Change country for Syriac, Tswana.
38729
38730 2009-12-21  Eric Blake  <ebb9@byu.net>
38731
38732         test-utimens: avoid spurious failure
38733         * tests/test-chown.h (nap): Factor...
38734         * tests/nap.h: ...into new file.
38735         * tests/test-lchown.h (nap): Avoid duplication.
38736         * tests/test-utimens-common.h (nap): Use shared implementation,
38737         necessary on file systems with 1-second resolution.
38738         * modules/chown-tests (Files): Include new file.
38739         * modules/fdutimensat-tests (Files): Likewise.
38740         * modules/futimens-tests (Files): Likewise.
38741         * modules/lchown-tests (Files): Likewise.
38742         * modules/openat-tests (Files): Likewise.
38743         * modules/utimens-tests (Files): Likewise.
38744         * modules/utimensat-tests (Files): Likewise.
38745
38746 2009-12-19  Eric Blake  <ebb9@byu.net>
38747
38748         futimens, utimensat: work around Linux bug
38749         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
38750         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38751         * lib/utimensat.c (rpl_utimensat): Work around it.
38752         * lib/futimens.c (rpl_futimens): Adjust comment.
38753
38754         utimens: work around Linux ctime bug
38755         * lib/utimens.c (detect_ctime_bug): New helper function.
38756         (update_timespec): Differentiate between workaround needed for
38757         this bug vs. what is needed for systems that lack utimensat.
38758         (fdutimens, lutimens): Work around bug.
38759
38760         utimens: check for ctime update
38761         * tests/test-utimens-common.h (check_ctime): Define.
38762         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
38763         * tests/test-futimens.h (test_futimens): Likewise.
38764         * tests/test-lutimens.h (test_lutimens): Likewise.
38765         * doc/posix-functions/futimens.texi (futimens): Document the bug.
38766         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38767
38768 2009-12-19  Bruno Haible  <bruno@clisp.org>
38769
38770         dprintf-posix: Check against memory leak fixed on 2009-12-15.
38771         * tests/test-dprintf-posix2.sh: New file.
38772         * tests/test-dprintf-posix2.c: New file.
38773         * modules/dprintf-posix-tests (Files): Add them.
38774         (configure.ac): Check for getrlimit and setrlimit.
38775         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38776
38777 2009-12-19  Bruno Haible  <bruno@clisp.org>
38778
38779         fprintf-posix: Check against memory leak fixed on 2009-12-15.
38780         * tests/test-fprintf-posix3.sh: New file.
38781         * tests/test-fprintf-posix3.c: New file.
38782         * modules/fprintf-posix-tests (Files): Add them.
38783         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38784
38785 2009-12-19  Eric Blake  <ebb9@byu.net>
38786
38787         dirfd: fix prototype
38788         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
38789         * lib/dirfd.c (dirfd): Likewise.
38790
38791         canonicalize: reduce memory usage
38792         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
38793         allocation to size.
38794         Reported by Solar Designer <solar@openwall.com>.
38795
38796 2009-12-19  Bruno Haible  <bruno@clisp.org>
38797
38798         New module attribute 'Applicability'.
38799         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
38800         * gnulib-tool: New option --extract-applicability.
38801         (func_usage): Document it.
38802         (sed_extract_prog): Recognize it.
38803         (func_get_applicability): New function.
38804         (func_import): Generalize handling of 'link-warning' module.
38805         * modules/link-warning (Applicability): New section.
38806         * modules/arg-nonnull (Applicability): New section.
38807         Repoted by Simon Josefsson <simon@josefsson.org>.
38808
38809 2009-12-19  Bruno Haible  <bruno@clisp.org>
38810
38811         fflush: tweak
38812         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
38813         * lib/fseeko.c (rpl_fseeko): Likewise.
38814
38815 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
38816
38817         * lib/gl_list.h: Fix typo in comment.
38818
38819 2009-12-16  Eric Blake  <ebb9@byu.net>
38820
38821         fcntl: use to simplify other modules
38822         * modules/cloexec (Depends-on): Add fcntl.
38823         * modules/fchdir (Depends-on): Likewise.
38824         * modules/fd-safer-flag (Depends-on): Likewise.
38825         * modules/unistd-safer (Depends-on): Likewise.
38826         * modules/dup3 (configure.ac): Set module indicator.
38827         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
38828         missing.
38829         * lib/fchdir.c (_gl_register_dup): Fix comment.
38830         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
38831         * lib/dup-safer.c (dup_safer): Likewise.
38832         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
38833         * lib/dup3.c (dup3): Likewise.
38834         * tests/test-fchdir.c (main): Enhance test.
38835         Fixes a dup_cloexec bug reported by Ondřej Vašík.
38836
38837         fcntl: port portions of fcntl to mingw
38838         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
38839         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
38840         replacement for mingw.
38841         * modules/fcntl (Description): Update.
38842         (Depends-on): Add dup2.
38843         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
38844         * modules/fcntl-h (Makefile.am): Substitute it.
38845         * lib/fcntl.in.h (fcntl): Update declaration.
38846         (F_DUPFD, F_GETFD): New macros, when needed.
38847         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38848         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
38849         * tests/test-fcntl.c (check_flags, main): Enhance test for items
38850         we now guarantee.
38851
38852         fcntl: work around cygwin bug in F_DUPFD
38853         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
38854         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
38855         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
38856         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
38857         * doc/posix-functions/fcntl.texi (fcntl): Document it.
38858
38859         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
38860         * modules/fcntl (Files): List new files.
38861         (configure.ac): Run a test.
38862         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
38863         * lib/fcntl.c (rpl_fcntl): Likewise.
38864         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
38865         (gl_FCNTL_H): Always replace fcntl.h.
38866         * modules/fcntl-h (Makefile.am): Substitute witnesses.
38867         * lib/fcntl.in.h (fcntl): Declare replacement.
38868         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
38869         needed, plus a witness.
38870         * doc/posix-functions/fcntl.texi (fcntl): Document this.
38871         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38872         * tests/test-fcntl.c: New file.
38873         * modules/fcntl-tests: Likewise.
38874
38875         binary-io: avoid potential compilation warning
38876         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
38877         directives.
38878
38879         fflush: avoid compilation error on NetBSD
38880         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
38881         between off_t and fpos_t, since the latter is sometimes a struct.
38882         * lib/fseeko.c (rpl_fseeko): Likewise.
38883         Reported by Alexander Nasonov <alnsn@yandex.ru>.
38884
38885 2009-12-15  Eric Blake  <ebb9@byu.net>
38886
38887         fcntl-h, stdio, sys_ioctl: fix declarations
38888         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
38889         function must not take arguments.
38890         * lib/sys_ioctl.in.h (ioctl): Likewise.
38891         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
38892         (open): Add a link warning.
38893
38894 2009-12-15  Jim Meyering  <meyering@redhat.com>
38895
38896         areadlink, areadlink-with-size: relax license to LGPLv2+
38897         * modules/areadlink (License): Relax to LGPLv2+.
38898         * modules/areadlink-with-size (License): Likewise.
38899
38900 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
38901             Bruno Haible  <bruno@clisp.org>
38902
38903         *printf: Fix memory leak.
38904         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
38905         * lib/vfprintf.c (vfprintf): Likewise.
38906         * lib/dprintf.c (dprintf): Likewise.
38907         * lib/vdprintf.c (vdprintf): Likewise.
38908
38909 2009-12-14  Eric Blake  <ebb9@byu.net>
38910
38911         accept4: adjust module dependencies
38912         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
38913
38914         utimens: one more try at avoiding compiler warning
38915         * lib/utimens.c (lutimens): Lower scope of result.
38916
38917 2009-12-13  Bruno Haible  <bruno@clisp.org>
38918
38919         Move the malloc checking from module 'list' to new module 'xlist'.
38920         * modules/xlist: New file.
38921         * lib/gl_xlist.h: New file.
38922         * lib/gl_xlist.c: New file.
38923         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
38924         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
38925         gl_list_add_last, gl_list_add_before, gl_list_add_after,
38926         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
38927         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
38928         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
38929         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
38930         gl_sortedlist_nx_add): New declarations.
38931         (struct gl_list_implementation): Rename and change methods accordingly.
38932         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
38933         (gl_list_nx_create): Renamed from gl_list_create.
38934         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38935         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38936         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38937         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38938         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38939         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38940         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38941         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38942         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
38943         gl_list_create_empty.
38944         (gl_list_nx_create): Renamed from gl_list_create.
38945         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38946         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38947         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38948         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38949         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38950         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38951         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38952         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38953         * lib/gl_array_list.c: Don't include xalloc.h.
38954         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
38955         NULL upon out-of-memory.
38956         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
38957         out-of-memory.
38958         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
38959         Change return type to 'int'.
38960         (gl_array_nx_set_at): Renamed from gl_array_set_at.
38961         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38962         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
38963         upon out-of-memory.
38964         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
38965         upon out-of-memory.
38966         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
38967         upon out-of-memory.
38968         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
38969         upon out-of-memory.
38970         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
38971         out-of-memory.
38972         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
38973         Update.
38974         (gl_array_list_implementation): Update.
38975         * lib/gl_carray_list.c: Don't include xalloc.h.
38976         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
38977         Return NULL upon out-of-memory.
38978         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
38979         out-of-memory.
38980         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
38981         Change return type to 'int'.
38982         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
38983         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38984         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
38985         upon out-of-memory.
38986         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
38987         upon out-of-memory.
38988         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
38989         out-of-memory.
38990         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
38991         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
38992         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
38993         Update.
38994         (gl_carray_list_implementation): Update.
38995         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
38996         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
38997         gl_linked_create_empty. Return NULL upon out-of-memory.
38998         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
38999         out-of-memory.
39000         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
39001         Change return type to 'int'. Return -1 upon out-of-memory.
39002         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
39003         out-of-memory.
39004         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
39005         upon out-of-memory.
39006         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
39007         upon out-of-memory.
39008         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
39009         NULL upon out-of-memory.
39010         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
39011         upon out-of-memory.
39012         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
39013         out-of-memory.
39014         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
39015         Update.
39016         * lib/gl_linked_list.c: Don't include xalloc.h.
39017         (gl_linked_list_implementation): Update.
39018         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
39019         (add_to_bucket): Change return type to 'int'.
39020         (gl_linkedhash_list_implementation): Update.
39021         * lib/gl_anytree_list1.h (free_subtree): New function.
39022         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
39023         gl_tree_create_empty. Return NULL upon out-of-memory.
39024         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
39025         Change return type to 'int'. Return -1 upon out-of-memory.
39026         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
39027         out-of-memory.
39028         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
39029         (gl_tree_remove_node): New function, moved here from
39030         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
39031         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
39032         Update.
39033         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
39034         malloc, not xmalloc. Return NULL upon out-of-memory.
39035         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39036         out-of-memory.
39037         (gl_tree_remove_node_from_tree): New function, extracted from
39038         gl_tree_remove_node.
39039         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39040         upon out-of-memory.
39041         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39042         out-of-memory.
39043         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39044         upon out-of-memory.
39045         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39046         upon out-of-memory.
39047         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39048         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
39049         not xmalloc. Return NULL upon out-of-memory.
39050         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39051         out-of-memory.
39052         (gl_tree_remove_node_from_tree): New function, extracted from
39053         gl_tree_remove_node.
39054         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39055         upon out-of-memory.
39056         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39057         out-of-memory.
39058         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39059         upon out-of-memory.
39060         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39061         upon out-of-memory.
39062         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39063         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
39064         gl_anytree_list1.h before gl_anyavltree_list2.h.
39065         (gl_avltree_list_implementation): Update.
39066         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
39067         gl_anytree_list1.h before gl_anyavltree_list2.h.
39068         (gl_rbtree_list_implementation): Update.
39069         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
39070         Change return type to 'int'. Return -1 upon out-of-memory. Use
39071         __builtin_expect.
39072         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
39073         (gl_avltreehash_list_implementation): Update.
39074         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
39075         (gl_rbtreehash_list_implementation): Update.
39076         * modules/array-list (Depends-on): Remove xalloc.
39077         * modules/carray-list (Depends-on): Likewise.
39078         * modules/linked-list (Depends-on): Likewise.
39079         * modules/linkedhash-list (Depends-on): Likewise.
39080         * modules/avltree-list (Depends-on): Likewise.
39081         * modules/rbtree-list (Depends-on): Likewise.
39082         * modules/avltreehash-list (Depends-on): Likewise.
39083         * modules/rbtreehash-list (Depends-on): Likewise.
39084
39085         * modules/xsublist: New file.
39086         * lib/gl_xsublist.h: New file.
39087         * lib/gl_xsublist.c: New file.
39088         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
39089         (gl_sublist_nx_create): New declaration.
39090         * lib/gl_sublist.c: Don't include xalloc.h.
39091         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
39092         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
39093         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
39094         Change return type to 'int'. Return -1 upon out-of-memory.
39095         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
39096         upon out-of-memory.
39097         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
39098         NULL upon out-of-memory.
39099         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
39100         upon out-of-memory.
39101         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
39102         NULL upon out-of-memory.
39103         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
39104         NULL upon out-of-memory.
39105         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
39106         upon out-of-memory.
39107         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
39108         (gl_sublist_list_implementation): Update.
39109         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
39110         upon out-of-memory.
39111         * modules/sublist (Depends-on): Remove xalloc.
39112
39113         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
39114         * tests/test-carray_list.c: Likewise.
39115         * tests/test-linked_list.c: Likewise.
39116         * tests/test-linkedhash_list.c: Likewise.
39117         * tests/test-avltree_list.c: Likewise.
39118         * tests/test-rbtree_list.c: Likewise.
39119         * tests/test-avltreehash_list.c: Likewise.
39120         * tests/test-rbtreehash_list.c: Likewise.
39121         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
39122         * modules/carray-list-tests (Makefile.am): Likewise.
39123         * modules/linked-list-tests (Makefile.am): Likewise.
39124         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39125         * modules/avltree-list-tests (Makefile.am): Likewise.
39126         * modules/rbtree-list-tests (Makefile.am): Likewise.
39127         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39128         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39129
39130         * NEWS: Mention the changes.
39131
39132         * lib/clean-temp.c: Include gl_xlist.h.
39133         * modules/clean-temp (Depends-on): Add xlist.
39134
39135         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
39136         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
39137
39138         * tests/test-array_oset.c: Include gl_xlist.h.
39139         * modules/array-oset-tests (Depends-on): Add xlist.
39140
39141         Reported by José E. Marchesi <jemarch@gnu.org>.
39142
39143 2009-12-13  Bruno Haible  <bruno@clisp.org>
39144
39145         Move the malloc checking from module 'oset' to new module 'xoset'.
39146         * modules/xoset: New file.
39147         * lib/gl_xoset.h: New file.
39148         * lib/gl_xoset.c: New file.
39149         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
39150         declarations.
39151         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
39152         (struct gl_oset_implementation): Rename and change methods accordingly.
39153         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
39154         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39155         'int'. Mark as __warn_unused_result__.
39156         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
39157         gl_oset_create_empty.
39158         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39159         'int'.
39160         * lib/gl_array_oset.c: Don't include xalloc.h.
39161         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
39162         malloc, not xmalloc.
39163         (grow): Change return type to 'int'. Don't call xalloc_die.
39164         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
39165         to 'int'.
39166         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
39167         'int'.
39168         (gl_array_oset_implementation): Update.
39169         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
39170         gl_tree_create_empty.
39171         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
39172         'int'.
39173         * lib/gl_avltree_oset.c: Don't include xalloc.h.
39174         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39175         xmalloc.
39176         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39177         not xmalloc.
39178         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39179         xmalloc.
39180         (gl_avltree_oset_implementation): Update.
39181         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
39182         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39183         xmalloc.
39184         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39185         not xmalloc.
39186         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39187         xmalloc.
39188         (gl_rbtree_oset_implementation): Update.
39189         * modules/array-oset (Depends-on): Remove xalloc.
39190         * modules/avltree-oset (Depends-on): Likewise.
39191         * modules/rbtree-oset (Depends-on): Likewise.
39192         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
39193         * tests/test-avltree_oset.c: Likewise.
39194         * tests/test-rbtree_oset.c: Likewise.
39195         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39196         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
39197         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39198         * NEWS: Mention the change.
39199
39200 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
39201
39202         maint.mk: allow a project to override release-prep commands
39203         * top/maint.mk (alpha, beta, stable): Move release-preparatory
39204         commands into a new rule.
39205         (release-prep): New rule.
39206         (release-prep-hook): New overridable variable.
39207
39208 2009-12-13  Bruno Haible  <bruno@clisp.org>
39209
39210         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
39211
39212 2009-12-13  Jim Meyering  <meyering@redhat.com>
39213
39214         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
39215         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
39216
39217 2009-12-12  Bruno Haible  <bruno@clisp.org>
39218
39219         duplocale: Tweak.
39220         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
39221
39222 2009-12-12  Karl Berry  <karl@gnu.org>
39223
39224         * config/srclist.txt (strtoll.c): tab changes, no more sync.
39225
39226 2009-12-12  Bruno Haible  <bruno@clisp.org>
39227
39228         * m4/po.m4: Undo incorrect untabification.
39229
39230 2009-12-12  Bruno Haible  <bruno@clisp.org>
39231
39232         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
39233         * modules/c-strtod (Depends-on): Add locale.
39234         * modules/c-strtold (Depends-on): Likewise.
39235
39236 2009-12-12  Bruno Haible  <bruno@clisp.org>
39237
39238         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
39239
39240 2009-12-11  Eric Blake  <ebb9@byu.net>
39241
39242         setenv: relax requirement in light of POSIX ruling
39243         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
39244         not NULL.
39245         * tests/test-setenv.c (main): Relax test.
39246         * tests/test-unsetenv.c (main): Likewise.
39247         * doc/posix-functions/setenv.texi (setenv): Document this.
39248         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39249
39250 2009-12-11  Bruno Haible  <bruno@clisp.org>
39251
39252         New module 'fd-safer-flag'.
39253         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
39254         * lib/dup-safer.c (dup_safer_flag): Remove function.
39255         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
39256         * lib/fd-safer.c (fd_safer_flag): Remove function.
39257         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
39258         * modules/cloexec (configure.ac): Drop indicator macro.
39259         * modules/fd-safer-flag: New file.
39260         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
39261         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
39262         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
39263
39264 2009-12-11  Bruno Haible  <bruno@clisp.org>
39265
39266         Tests for module 'nl_langinfo'.
39267         * modules/nl_langinfo-tests: New file.
39268         * tests/test-nl_langinfo.sh: New file.
39269         * tests/test-nl_langinfo.c: New file.
39270
39271         New module 'nl_langinfo'.
39272         * lib/nl_langinfo.c: New file.
39273         * m4/nl_langinfo.m4: New file.
39274         * modules/nl_langinfo: New file.
39275         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
39276
39277 2009-12-11  Bruno Haible  <bruno@clisp.org>
39278
39279         Tests for module 'langinfo'.
39280         * modules/langinfo-tests: New file.
39281         * tests/test-langinfo.c: New file.
39282
39283         New module 'langinfo'.
39284         * lib/langinfo.in.h: New file.
39285         * m4/langinfo_h.m4: New file.
39286         * modules/langinfo: New file.
39287         * doc/posix-headers/langinfo.texi: Mention the new module.
39288
39289 2009-12-11  Bruno Haible  <bruno@clisp.org>
39290
39291         * lib/config.charset: Untabify.
39292
39293 2009-12-11  Bruno Haible  <bruno@clisp.org>
39294
39295         * modules/unistd-safer (configure.ac): Drop indicator macro.
39296
39297 2009-12-11  Bruno Haible  <bruno@clisp.org>
39298
39299         Move pipe2-safer code to its own file.
39300         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
39301         * lib/pipe-safer.c (pipe2_safer): Remove function.
39302         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
39303         (Makefile.am): Add it to lib_SOURCES.
39304
39305 2009-12-10  Bruno Haible  <bruno@clisp.org>
39306
39307         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
39308
39309 2009-12-10  Bruno Haible  <bruno@clisp.org>
39310
39311         Declare which arguments expect non-NULL values, for GCC and clang.
39312         * build-aux/arg-nonnull.h: New file.
39313         * modules/arg-nonnull: New file.
39314         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
39315         (inet_ntop, inet_pton): Use it.
39316         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
39317         (closedir, dirfd, opendir, scandir, alphasort): Use it.
39318         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
39319         (open, openat): Use it.
39320         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
39321         (fnmatch): Use it.
39322         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
39323         (getopt, getopt_long, getopt_long_only): Use it.
39324         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
39325         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
39326         Use it.
39327         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
39328         (iconv_open): Use it.
39329         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
39330         (strtoimax, strtoumax): Use it.
39331         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
39332         (duplocale): Use it.
39333         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
39334         (frexp, frexpl): Use it.
39335         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
39336         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
39337         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
39338         (tsearch, tfind, tdelete, twalk): Use it.
39339         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
39340         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
39341         sigpending): Use it.
39342         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
39343         (posix_spawn, posix_spawnp, posix_spawnattr_init,
39344         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
39345         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
39346         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
39347         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
39348         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
39349         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
39350         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
39351         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
39352         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
39353         Use it.
39354         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
39355         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
39356         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
39357         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
39358         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
39359         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
39360         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
39361         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
39362         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
39363         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
39364         strtoull, unsetenv): Use it.
39365         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
39366         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
39367         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
39368         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39369         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39370         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
39371         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
39372         (strcasecmp, strncasecmp): Use it.
39373         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
39374         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
39375         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
39376         rpl_setsockopt): Use it.
39377         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
39378         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
39379         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
39380         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
39381         (gettimeofday): Use it.
39382         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
39383         (times): Use it.
39384         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
39385         (uname): Use it.
39386         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
39387         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
39388         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
39389         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
39390         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
39391         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
39392         unlinkat, write): Use it.
39393         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
39394         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
39395         * lib/argv-iter.h: Include arg-nonnull.h.
39396         (_ATTRIBUTE_NONNULL_): Remove macro.
39397         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
39398         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
39399         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
39400         optimization.
39401         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
39402         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
39403         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
39404         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
39405         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
39406         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
39407         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
39408         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
39409         * modules/arpa_inet (Depends-on): Add arg-nonnull.
39410         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
39411         * modules/dirent (Depends-on): Add arg-nonnull.
39412         (Makefile.am): Insert arg-nonnull.h into dirent.h.
39413         * modules/fcntl-h (Depends-on): Add arg-nonnull.
39414         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
39415         * modules/fnmatch (Depends-on): Add arg-nonnull.
39416         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
39417         * modules/getopt-posix (Depends-on): Add arg-nonnull.
39418         (Makefile.am): Insert arg-nonnull.h into getopt.h.
39419         * modules/glob (Depends-on): Add arg-nonnull.
39420         (Makefile.am): Insert arg-nonnull.h into glob.h.
39421         * modules/iconv_open (Depends-on): Add arg-nonnull.
39422         (Makefile.am): Insert arg-nonnull.h into iconv.h.
39423         * modules/inttypes (Depends-on): Add arg-nonnull.
39424         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
39425         * modules/locale (Depends-on): Add arg-nonnull.
39426         (Makefile.am): Insert arg-nonnull.h into locale.h.
39427         * modules/math (Depends-on): Add arg-nonnull.
39428         (Makefile.am): Insert arg-nonnull.h into math.h.
39429         * modules/netdb (Depends-on): Add arg-nonnull.
39430         (Makefile.am): Insert arg-nonnull.h into netdb.h.
39431         * modules/search (Depends-on): Add arg-nonnull.
39432         (Makefile.am): Insert arg-nonnull.h into search.h.
39433         * modules/signal (Depends-on): Add arg-nonnull.
39434         (Makefile.am): Insert arg-nonnull.h into signal.h.
39435         * modules/spawn (Depends-on): Add arg-nonnull.
39436         (Makefile.am): Insert arg-nonnull.h into spawn.h.
39437         * modules/stdio (Depends-on): Add arg-nonnull.
39438         (Makefile.am): Insert arg-nonnull.h into stdio.h.
39439         * modules/stdlib (Depends-on): Add arg-nonnull.
39440         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
39441         * modules/string (Depends-on): Add arg-nonnull.
39442         (Makefile.am): Insert arg-nonnull.h into string.h.
39443         * modules/strings (Depends-on): Add arg-nonnull.
39444         (Makefile.am): Insert arg-nonnull.h into strings.h.
39445         * modules/sys_socket (Depends-on): Add arg-nonnull.
39446         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
39447         * modules/sys_stat (Depends-on): Add arg-nonnull.
39448         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
39449         * modules/sys_time (Depends-on): Add arg-nonnull.
39450         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
39451         * modules/sys_times (Depends-on): Add arg-nonnull.
39452         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
39453         * modules/sys_utsname (Depends-on): Add arg-nonnull.
39454         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
39455         * modules/time (Depends-on): Add arg-nonnull.
39456         (Makefile.am): Insert arg-nonnull.h into time.h.
39457         * modules/unistd (Depends-on): Add arg-nonnull.
39458         (Makefile.am): Insert arg-nonnull.h into unistd.h.
39459         * modules/wchar (Depends-on): Add arg-nonnull.
39460         (Makefile.am): Insert arg-nonnull.h into wchar.h.
39461         * modules/argv-iter (Depends-on): Add arg-nonnull.
39462         * tests/test-canonicalize.c (null_ptr): New function.
39463         (main): Use it.
39464         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
39465         (main): Use it.
39466         * tests/test-memmem.c (null_ptr): New function.
39467         (main): Use it.
39468         Reported by Jim Meyering.
39469
39470 2009-12-10  Bruno Haible  <bruno@clisp.org>
39471
39472         Use spaces for indentation, not tabs.
39473         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
39474         * m4/*.m4: Untabify.
39475         * build-aux/*.h: Untabify.
39476         * tests/**/*.[hc]: Untabify.
39477         * README: New section "Indent with spaces, not TABs", based on
39478         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
39479         * NEWS: Mention the change.
39480
39481 2009-12-10  Bruno Haible  <bruno@clisp.org>
39482
39483         pty test: Fix link error.
39484         * modules/pty-tests (Makefile.am): Add the default LDADD value to
39485         test_pty_LDADD.
39486
39487 2009-12-07  Simon Josefsson  <simon@josefsson.org>
39488
39489         * modules/pty: New file.
39490         * modules/pty-tests: New file.
39491         * m4/pty.m4: New file.
39492         * tests/test-pty.c: New file.
39493         * doc/glibc-headers/pty.texi: Modified.
39494         * doc/glibc-functions/forkpty.texi: Modified.
39495         * doc/glibc-functions/openpty.texi: Modified.
39496
39497 2009-12-10  Bruno Haible  <bruno@clisp.org>
39498
39499         Avoid syntax error in C++ mode.
39500         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
39501
39502 2009-12-10  Bruno Haible  <bruno@clisp.org>
39503
39504         Use sed with option -e.
39505         * gnulib-tool (func_version, func_emit_copyright_notice,
39506         func_emit_initmacro_end, func_import, func_create_testdir): Pass
39507         option -e to sed.
39508         * modules/link-warning (Makefile.am): Likewise.
39509
39510 2009-12-10  Jim Meyering  <meyering@redhat.com>
39511
39512         mgetgroups: do not write bytes beyond end of malloc'd buffer
39513         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
39514         username, we call getgroups with a one-element-shorter buffer,
39515         but still told it the length was original, max_n_groups.
39516
39517 2009-12-09  Eric Blake  <ebb9@byu.net>
39518
39519         cloexec: relax license
39520         * modules/cloexec (Maintainer): Add myself.
39521         (License): Use LGPL, not GPL.
39522
39523         link-warning: optimize generation
39524         * modules/link-warning (Makefile.am): Reduce process usage.
39525
39526 2009-12-09  Bruno Haible  <bruno@clisp.org>
39527
39528         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
39529         workaround was added on 2009-11-17.
39530
39531 2009-12-09  Jim Meyering  <meyering@redhat.com>
39532             Bruno Haible  <bruno@clisp.org>
39533
39534         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
39535         * modules/link-warning (Makefile.am): Make the comment-removing sed
39536         command more robust in the face of bootstrap-prepended comment lines.
39537
39538 2009-12-09  Bruno Haible  <bruno@clisp.org>
39539
39540         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
39541         most one group.
39542
39543 2009-12-09  Simon Josefsson <simon@josefsson.org>
39544             Bruno Haible  <bruno@clisp.org>
39545
39546         * build-aux/link-warning.h: Add copyright notice.
39547         * modules/link-warning (Makefile.am): Generate link-warning.h from
39548         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
39549         * NEWS: Mention change in link-warning module.
39550         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
39551         * modules/dirent (Makefile.am): Add dependency to dirent.h.
39552         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
39553         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
39554         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
39555         * modules/math (Makefile.am): Add dependency to math.h.
39556         * modules/search (Makefile.am): Add dependency to search.h.
39557         * modules/signal (Makefile.am): Add dependency to signal.h.
39558         * modules/spawn (Makefile.am): Add dependency to spawn.h.
39559         * modules/stdio (Makefile.am): Add dependency to stdio.h.
39560         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
39561         * modules/string (Makefile.am): Add dependency to string.h.
39562         * modules/strings (Makefile.am): Add dependency to strings.h.
39563         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
39564         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
39565         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
39566         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
39567         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
39568         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
39569         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
39570         * modules/unistd (Makefile.am): Add dependency to unistd.h.
39571         * modules/wchar (Makefile.am): Add dependency to wchar.h.
39572
39573 2009-12-09  Bruno Haible  <bruno@clisp.org>
39574
39575         fchdir: Optimize away rpl_fstat when possible.
39576         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
39577         REPLACE_OPEN_DIRECTORY.
39578         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
39579
39580 2009-12-09  Bruno Haible  <bruno@clisp.org>
39581
39582         * lib/fchdir.c: Update comment.
39583
39584 2009-12-09  Bruno Haible  <bruno@clisp.org>
39585
39586         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
39587
39588 2009-12-08  Eric Blake  <ebb9@byu.net>
39589
39590         fchdir: avoid memory leak on re-registration.
39591         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
39592
39593 2009-12-08  Jim Meyering  <meyering@redhat.com>
39594
39595         init.sh: avoid Solaris 10 /bin/sh portability problem
39596         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
39597         sourced script:
39598           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
39599           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
39600           bar
39601         tests/init.sh relied on that, accepting a --set-path=DIR argument,
39602         and two tests used that idiom.
39603         * tests/init.sh: Update suggested usage comments.
39604         (path_prepend_): New function, to be used in place
39605         of the --src-path=DIR option.
39606         (setup_): Move PATH-prepending code into path_prepend_.
39607         * tests/test-pread.sh: Adapt to new usage.
39608         * tests/test-xalloc-die.sh: Likewise.
39609
39610 2009-12-08  Simon Josefsson  <simon@josefsson.org>
39611
39612         * doc/gnulib.texi (Glibc pty.h): Add.
39613         * doc/glibc-functions/forkpty.texi: Add.
39614         * doc/glibc-functions/openpty.texi: Add.
39615         Suggested by Bruno Haible.
39616
39617 2009-12-08  Eric Blake  <ebb9@byu.net>
39618
39619         fchdir: fix logic bugs
39620         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
39621         * tests/test-fchdir.c (main): Enhance test.
39622         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
39623         is in use.
39624
39625         dup2: fix logic bugs
39626         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
39627         REPLACE_DUP2 to decide when rpl_dup2 is needed.
39628         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
39629         exists.
39630         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
39631
39632 2009-12-07  Eric Blake  <ebb9@byu.net>
39633
39634         unlink: fix m4 detection
39635         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
39636
39637         unistd-safer: add unit test
39638         * modules/unistd-safer-tests: New file.
39639         * tests/test-dup-safer.c: Likewise.
39640         * tests/test-cloexec.c (setmode): Avoid compiler warning.
39641         * tests/test-dup2.c (setmode): Likewise.
39642         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
39643
39644         cloexec: preserve text vs. binary across dup_cloexec
39645         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
39646         mode.
39647         * modules/dup2-tests (Depends-on): Add binary-io.
39648         * modules/cloexec-tests (Depends-on): Likewise.
39649         * tests/test-dup2.c (setmode, is_mode): New helpers.
39650         (main): Add tests that translation mode is preserved.
39651         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
39652         Reported by Bruno Haible.
39653
39654         mgetgroups: reduce duplicate listings
39655         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
39656         resulting array.
39657         * tests/test-chown.h (test_chown): Simplify client.
39658         * tests/test-lchown.h (test_lchown): Likewise.
39659
39660 2009-12-06  Bruno Haible  <bruno@clisp.org>
39661
39662         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
39663         value.
39664
39665 2009-12-06  Bruno Haible  <bruno@clisp.org>
39666
39667         * lib/progname.c: Include stdio.h, stdlib.h.
39668         (set_program_name): Reject a NULL argument.
39669
39670 2009-12-05  Eric Blake  <ebb9@byu.net>
39671
39672         pipe2-safer: new module
39673         * modules/pipe2-safer: New file.
39674         * lib/unistd-safer.h (pipe2_safer): New prototype.
39675         * lib/unistd--.h (pipe2): New wrapper.
39676         * lib/pipe-safer.c (pipe2_safer): New function.
39677         * modules/pipe (Depends-on): Add pipe2-safer.
39678         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
39679
39680         stdlib-safer: preserve cloexec flag for mkostemp[s]
39681         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
39682         fd_safer_flag.
39683
39684         unistd-safer: allow preservation of cloexec status via flag
39685         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
39686         prototypes.
39687         * lib/dup-safer.c (dup_safer_flag): New function.
39688         * lib/fd-safer.c (fd_safer_flag): Likewise.
39689         * modules/cloexec (configure.ac): Set witness.
39690
39691         test-dup2: enhance test
39692         * modules/dup2-tests (Depends-on): Add cloexec.
39693         * tests/test-dup2.c (main): Enhance test.
39694
39695         cloexec: add dup_cloexec
39696         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
39697         header and comments.
39698         * lib/cloexec.c (set_cloexec_flag): Add comments.
39699         (dup_cloexec): New function, with mingw implementation borrowed
39700         from...
39701         * lib/w32spawn.h (dup_noinherit): ...here.
39702         * modules/execute (Depends-on): Add cloexec.
39703         * modules/pipe (Depends-on): Likewise.
39704         * modules/cloexec (Depends-on): Add dup2.
39705         * modules/cloexec-tests (Files): New file.
39706         * tests/test-cloexec.c: Likewise.
39707
39708         test-xalloc-die: fix test for mingw
39709         * modules/xalloc-die-tests (Files): Add tests/init.sh.
39710         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
39711         directory and .exe suffix off argv[0] output.
39712
39713         test-fseeko: fix test for mingw
39714         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
39715         than undefining fseek, so test will pass on mingw.
39716
39717 2009-12-05  Bruno Haible  <bruno@clisp.org>
39718
39719         * lib/progname.h (set_program_name): Clarify specification.
39720         * lib/progname.c (set_program_name): Likewise.
39721         Reported by Jim Meyering.
39722
39723 2009-12-05  Jim Meyering  <meyering@redhat.com>
39724
39725         maint.mk: backslash-escape parens in default regexp
39726         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
39727         backslash-escape the literal parentheses.
39728
39729         maint.mk: news-date-check: use grep -E
39730         * top/maint.mk (today): Define a Make variable, not a...
39731         (news-date-check): ...shell variable.
39732         (news-date-regexp): Use the Make variable.
39733         Use grep's -E option.  Change the failing diagnostic to mention
39734         the variable, $(news-date-regexp).
39735
39736 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
39737
39738         maintainer-makefile: allow customization of NEWS entry format
39739         * top/maint.mk (news-date-regexp): New overridable variable.
39740         (news-date-check): Use it.
39741
39742 2009-12-04  Eric Blake  <ebb9@byu.net>
39743
39744         mgetgroups: add xgetgroups, and avoid ENOSYS failures
39745         * lib/mgetgroups.h (xgetgroups): New prototype.
39746         * lib/mgetgroups.c (xgetgroups): New wrapper.
39747         (mgetgroups): Handle ENOSYS.
39748         * modules/mgetgroups (Depends-on): Add realloc.
39749         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
39750
39751         mgetgroups: avoid argument promotion issues with -1
39752         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
39753         for invalid gid_t.
39754         * tests/test-chown.h (getegid, test_chown): Likewise.
39755         * tests/test-lchown.h (getegid, test_lchown): Likewise.
39756
39757 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
39758
39759         exclude: Fix header file problems.
39760         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
39761
39762 2009-12-01  Jim Meyering  <meyering@redhat.com>
39763
39764         fts: fts_open: do not let an empty string cause immediate failure
39765         This is required in support of GNU rm, for which the command
39766         "rm A '' B" must process and remove both A and B, in spite of
39767         the empty string argument.
39768         * lib/fts.c (fts_open): Do not let the presence of an empty string
39769         cause fts_open to fail immediately.  Most fts-using tools must be
39770         able to process all arguments, in order, and can be expected to
39771         diagnose such arguments themselves.
39772
39773 2009-11-30  Eric Blake  <ebb9@byu.net>
39774
39775         utimens: fix compilation error
39776         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
39777         Declare variable at right scope.
39778
39779 2009-11-29  Jim Meyering  <meyering@redhat.com>
39780
39781         bootstrap: handle perl-5.11's changed --version output
39782         * build-aux/bootstrap (get_version): Handle perl separately,
39783         since perl-5.11's --version output is different.
39784
39785 2009-11-28  Jim Meyering  <meyering@redhat.com>
39786
39787         userspec: depend on the inttostr module, too
39788         * modules/userspec (Depends-on): Add inttostr.
39789
39790         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
39791         * lib/userspec.c (parse_with_separator): Do not accept a user ID
39792         number of MAXUID when it evaluates to (uid_t) -1.
39793         Likewise for group ID.  Reported by Matt McCutchen in
39794         <http://savannah.gnu.org/bugs/?28113>
39795
39796         userspec: reformat to use spaces, not TABs
39797         * lib/userspec.c: Expand TABs to spaces.
39798         Add Emacs' "indent-tabs-mode: nil" hint.
39799
39800 2009-11-27  Eric Blake  <ebb9@byu.net>
39801
39802         getopt-gnu: flush out another BSD bug
39803         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
39804         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
39805         flush out BSD bug.
39806         * tests/test-getopt.h (test_getopt): End lists with NULL.
39807         * tests/test-getopt_long.h (test_getopt_long): Likewise.
39808         (test_getopt_long_posix): Enhance test.
39809         * modules/getopt-posix-tests (Depends-on): Add stdbool.
39810         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
39811         getopt-gnu.
39812         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39813         Likewise.
39814
39815 2009-11-27  Simon Josefsson  <simon@josefsson.org>
39816
39817         * modules/idpriv-droptemp-tests (Notice): Fix text.
39818
39819 2009-11-27  Jim Meyering  <meyering@redhat.com>
39820
39821         test-xalloc-die: avoid spurious failure due to libtool argv difference
39822         In a libtool-enabled project, this test would fail due to a difference
39823         in the emitted program name, e.g.,
39824         -test-xalloc-die: memory exhausted
39825         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
39826         Use program to avoid that.
39827         * modules/xalloc-die-tests (Depends-on): Add progname.
39828         * tests/test-xalloc-die.c: Include progname.h".
39829         (program_name): Remove decl.
39830         (main): Call set_program_name.
39831         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
39832
39833 2009-11-26  Richard Jones  <rjones@redhat.com>
39834
39835         w32sock: leave win32 error in place.
39836         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
39837
39838 2009-11-26  Eric Blake  <ebb9@byu.net>
39839
39840         init.sh: suggest to use skip_ and fail_ functions in comments
39841         * tests/init.sh: Add a sentence.
39842
39843 2009-11-25  Bruno Haible  <bruno@clisp.org>
39844
39845         init.sh: add documentation in comments
39846         * tests/init.sh: Add some developer and user documentation.
39847
39848 2009-11-26  Jim Meyering  <meyering@redhat.com>
39849
39850         init.sh: accommodate even those who specify bogus srcdir manually
39851         * tests/init.sh: Normally, srcdir is guaranteed by automake and
39852         configure-time tests to be sanitized, so that there is no need to
39853         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
39854         (with no double quotes) suffices.  However, since tests may be
39855         invoked manually, and since you may explicitly set srcdir to the
39856         name of a directory containing spaces, do quote its uses here.
39857         * tests/test-pread.sh: Likewise.
39858         Suggested by Bruno Haible.
39859
39860         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
39861         * tests/test-pread.sh: Write no data into the pipe, because
39862         test-pread actually reads none.  This avoids a diagnostic,
39863         "bash: echo: write error: Broken pipe", that arises in the unusual
39864         event something is ignoring SIGPIPE, and might be interpreted
39865         as some sort of failure.  Reported by Bruno Haible.
39866
39867 2009-11-25  Jim Meyering  <meyering@redhat.com>
39868
39869         test-pread: cover failure with ESPIPE and EINVAL
39870         * tests/test-pread.c (main): Test for failure, too.
39871         * tests/test-pread.sh: Invoke with stdin on a pipe.
39872         Suggested by Eric Blake.
39873
39874         pread: improvement and fix
39875         * modules/pread (Depends-on): Depend on lseek, for portability to
39876         e.g., mingw.  Suggested by Eric Blake.
39877         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
39878
39879         unistd.in.h: correct declaration of pread
39880         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
39881         Reported by Richard W.M. Jones.
39882
39883         test-pread.sh: distribute the test script
39884         * modules/pread-tests (Files): Include test-pread.sh.
39885
39886         test-pread.sh: clean up
39887         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
39888         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
39889         That is unnecessary, since it's always ".".
39890         Suggestion from Eric Blake.
39891
39892         test-pread.sh: make executable
39893         * tests/test-pread.sh: Set executable bit.
39894         Reported by Eric Blake.
39895
39896         correct typo in test-pread.sh
39897         * tests/test-pread.sh: Add #! line.
39898
39899         test pread
39900         * tests/test-pread.c: New file.
39901         * tests/test-pread.sh: Likewise.
39902         * modules/pread-tests: Likewise.
39903
39904         pread: new module
39905         * modules/pread: New file.
39906         * lib/unistd.in.h (pread): Define/declare.
39907         * lib/pread.c (pread): New file.
39908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
39909         * modules/unistd (Makefile.am): Substitute witnesses.
39910         * doc/posix-functions/pread.texi (pread): Update.
39911         * MODULES.html.sh: Add pread.
39912
39913 2009-11-25  Jim Meyering  <meyering@redhat.com>
39914
39915         tests/init.sh: new file to be used via most *.sh tests
39916         * tests/init.sh: New file.
39917
39918 2009-11-25  Eric Blake  <ebb9@byu.net>
39919
39920         utimens: work around older Linux failure with symlinks
39921         * lib/utimens.c (lutimensat_works_really): New variable.
39922         (fdutimens, lutimens): Use it to manage kernels that support
39923         nanosecond times on files, but not on symlinks.
39924         Reported by Ondřej Vašík.
39925
39926         utimes: fix configure grammar
39927         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
39928
39929 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
39930
39931         regex: Fix fastmap for multibyte character ranges.
39932         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
39933         characters when a multibyte character range is included.
39934
39935 2009-11-22  Andy Wingo  <wingo@pobox.com>
39936
39937         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
39938         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
39939
39940 2009-11-24  Bruno Haible  <bruno@clisp.org>
39941
39942         doc: Most *_l functions exist in MacOS X 10.5.
39943         * doc/posix-functions/duplocale.texi: Update platforms list.
39944         * doc/posix-functions/freelocale.texi: Likewise.
39945         * doc/posix-functions/newlocale.texi: Likewise.
39946         * doc/posix-functions/uselocale.texi: Likewise.
39947         * doc/posix-functions/isalnum_l.texi: Likewise.
39948         * doc/posix-functions/isalpha_l.texi: Likewise.
39949         * doc/posix-functions/isblank_l.texi: Likewise.
39950         * doc/posix-functions/iscntrl_l.texi: Likewise.
39951         * doc/posix-functions/isdigit_l.texi: Likewise.
39952         * doc/posix-functions/isgraph_l.texi: Likewise.
39953         * doc/posix-functions/islower_l.texi: Likewise.
39954         * doc/posix-functions/isprint_l.texi: Likewise.
39955         * doc/posix-functions/ispunct_l.texi: Likewise.
39956         * doc/posix-functions/isspace_l.texi: Likewise.
39957         * doc/posix-functions/isupper_l.texi: Likewise.
39958         * doc/posix-functions/iswalnum_l.texi: Likewise.
39959         * doc/posix-functions/iswalpha_l.texi: Likewise.
39960         * doc/posix-functions/iswblank_l.texi: Likewise.
39961         * doc/posix-functions/iswcntrl_l.texi: Likewise.
39962         * doc/posix-functions/iswctype_l.texi: Likewise.
39963         * doc/posix-functions/iswdigit_l.texi: Likewise.
39964         * doc/posix-functions/iswgraph_l.texi: Likewise.
39965         * doc/posix-functions/iswlower_l.texi: Likewise.
39966         * doc/posix-functions/iswprint_l.texi: Likewise.
39967         * doc/posix-functions/iswpunct_l.texi: Likewise.
39968         * doc/posix-functions/iswspace_l.texi: Likewise.
39969         * doc/posix-functions/iswupper_l.texi: Likewise.
39970         * doc/posix-functions/iswxdigit_l.texi: Likewise.
39971         * doc/posix-functions/isxdigit_l.texi: Likewise.
39972         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
39973         * doc/posix-functions/strcasecmp_l.texi: Likewise.
39974         * doc/posix-functions/strcoll_l.texi: Likewise.
39975         * doc/posix-functions/strfmon_l.texi: Likewise.
39976         * doc/posix-functions/strftime_l.texi: Likewise.
39977         * doc/posix-functions/strncasecmp_l.texi: Likewise.
39978         * doc/posix-functions/strxfrm_l.texi: Likewise.
39979         * doc/posix-functions/tolower_l.texi: Likewise.
39980         * doc/posix-functions/toupper_l.texi: Likewise.
39981         * doc/posix-functions/towctrans_l.texi: Likewise.
39982         * doc/posix-functions/towlower_l.texi: Likewise.
39983         * doc/posix-functions/towupper_l.texi: Likewise.
39984         * doc/posix-functions/wcscoll_l.texi: Likewise.
39985         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39986         * doc/posix-functions/wctrans_l.texi: Likewise.
39987         * doc/posix-functions/wctype_l.texi: Likewise.
39988         * doc/glibc-functions/strptime_l.texi: Likewise.
39989         * doc/glibc-functions/strtod_l.texi: Likewise.
39990         * doc/glibc-functions/strtof_l.texi: Likewise.
39991         * doc/glibc-functions/strtol_l.texi: Likewise.
39992         * doc/glibc-functions/strtold_l.texi: Likewise.
39993         * doc/glibc-functions/strtoll_l.texi: Likewise.
39994         * doc/glibc-functions/strtoul_l.texi: Likewise.
39995         * doc/glibc-functions/strtoull_l.texi: Likewise.
39996         * doc/glibc-functions/wcsftime_l.texi: Likewise.
39997         * doc/glibc-functions/wcstod_l.texi: Likewise.
39998         * doc/glibc-functions/wcstof_l.texi: Likewise.
39999         * doc/glibc-functions/wcstol_l.texi: Likewise.
40000         * doc/glibc-functions/wcstold_l.texi: Likewise.
40001         * doc/glibc-functions/wcstoll_l.texi: Likewise.
40002         * doc/glibc-functions/wcstoul_l.texi: Likewise.
40003         * doc/glibc-functions/wcstoull_l.texi: Likewise.
40004
40005 2009-11-24  Bruno Haible  <bruno@clisp.org>
40006
40007         duplocale: Fix logic bug.
40008         * lib/duplocale.c: Don't include <langinfo.h>.
40009         (_NL_LOCALE_NAME): Remove macro.
40010         (rpl_duplocale): Use setlocale instead of nl_langinfo.
40011         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
40012
40013 2009-11-23  Jim Meyering  <meyering@redhat.com>
40014
40015         test-update-copyright: don't hard-code /usr/bin/perl
40016         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
40017         perl to print the current year.  Gilles Espinasse reported that
40018         the replaced use of perl was hard-coded as /usr/bin/perl.
40019
40020 2009-11-23  Bruno Haible  <bruno@clisp.org>
40021
40022         duplocale: Add support for glibc 2.3.x.
40023         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
40024
40025 2009-11-22  Bruno Haible  <bruno@clisp.org>
40026
40027         vasnprintf: Tiny optimization.
40028         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
40029         MacOS X.
40030
40031 2009-11-22  Bruno Haible  <bruno@clisp.org>
40032
40033         Tests for module 'duplocale'.
40034         * modules/duplocale-tests: New file.
40035         * tests/test-duplocale.c: New file.
40036
40037         New module 'duplocale'.
40038         * m4/duplocale.m4: New file.
40039         * lib/locale.in.h (duplocale): New declaration.
40040         * lib/duplocale.c: New file.
40041         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
40042         gl_LOCALE_H_DEFAULTS): New macros.
40043         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
40044         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
40045         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
40046         REPLACE_DUPLOCALE.
40047         * modules/duplocale: New file.
40048         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
40049
40050 2009-11-22  Bruno Haible  <bruno@clisp.org>
40051
40052         * modules/locale-tests (configure.ac): Test for newlocale function.
40053         * tests/test-locale.c: When the system has extended locale functions,
40054         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
40055
40056         locale: Make locale_t available when possible.
40057         * lib/locale.in.h: Include <xlocale.h> when it exists.
40058         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
40059         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
40060         * modules/locale (Depends-on): Add extensions.
40061         (Makefile.am): Also substitute HAVE_XLOCALE_H.
40062         * doc/posix-headers/locale.texi: Document the problem with locale_t.
40063
40064 2009-11-22  Bruno Haible  <bruno@clisp.org>
40065
40066         Add comments.
40067         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
40068         invocation.
40069         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
40070         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
40071         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40072
40073 2009-11-22  Bruno Haible  <bruno@clisp.org>
40074
40075         error: account for the possibility of freopen (stdout).
40076         * lib/error.c: Include <unistd.h>.
40077         (flush_stdout): New function, extracted from error and error_at_line.
40078         Determine stdout's fd dynamically.
40079         (error, error_at_line): Invoke flush_stdout.
40080         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
40081         * modules/error (Depends-on): Add unistd.
40082
40083 2009-11-22  Bruno Haible  <bruno@clisp.org>
40084
40085         diffseq: Add comment.
40086         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
40087
40088 2009-11-22  Jim Meyering  <meyering@redhat.com>
40089
40090         c-stack: avoid defining an unused static function
40091         * lib/c-stack.c (find_stack_direction): Do not define this function
40092         when it will not be used.
40093
40094         diffseq: avoid spurious gcc warnings
40095         * lib/diffseq.h (IF_LINT2): Define.
40096         (compareseq): Use it to initialize two members of "part".
40097         This avoids two used-uninitialized warnings.
40098
40099 2009-11-21  Jim Meyering  <meyering@redhat.com>
40100
40101         c-stack: avoid "ignoring return value of `write'" warning
40102         * lib/c-stack.c: Include "ignore-value.h".
40103         (die): Explicitly ignore each write return value.
40104         * modules/c-stack (Depends-on): Add ignore-value.
40105
40106 2009-11-21  Bruno Haible  <bruno@clisp.org>
40107
40108         diffseq: reduce scope of variable 'best'.
40109         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
40110         variable, earlier used for two different purposes.
40111
40112 2009-11-21  Jim Meyering  <meyering@redhat.com>
40113
40114         diffseq: remove useless assignment to "best"
40115         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
40116         assignment.  At that point "best" is already guaranteed to be zero.
40117
40118 2009-11-20  Eric Blake  <ebb9@byu.net>
40119
40120         build: mention ftp redirector in release announcements
40121         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
40122         values that used to come from cfg.mk; mention FTP redirect URL.
40123         * build-aux/announce-gen: Mention the mirror list.
40124         Suggested by Karl Berry.
40125
40126         nanosleep: improve port to mingw
40127         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
40128         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
40129         LIB_NANOSLEEP, but only when needed.
40130         * modules/select (Link): Document LIBSOCKET.
40131         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
40132         enough.
40133
40134         nanosleep: work around cygwin bug
40135         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
40136         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
40137         bug.
40138         (getnow): Delete, not needed.
40139         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
40140         LIB_CLOCK_GETTIME.
40141         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
40142         clock-time, gettime.
40143         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
40144         bug.
40145         * modules/nanosleep-tests: New test.
40146         * tests/test-nanosleep.c: New file.
40147
40148         sleep: work around cygwin bug
40149         * lib/sleep.c (rpl_sleep): Work around the bug.
40150         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
40151         (gl_PREREQ_SLEEP): Delete unused macro.
40152         * modules/sleep (Depends-on): Add verify.
40153         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40154         * modules/unistd (Makefile.am): Substitute witness.
40155         * lib/unistd.in.h (sleep): Update prototype.
40156         * doc/posix-functions/sleep.texi (sleep): Document the bug.
40157         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
40158         * modules/sleep-tests (Depends-on): Check for alarm.
40159
40160 2009-11-20  Jim Meyering  <meyering@redhat.com>
40161
40162         maint.mk: improve sc_prohibit_magic_number_exit
40163         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
40164         so it does not match uses like System.exit(1).
40165         Add comments showing how to correct all offenders.
40166
40167 2009-11-19  Eric Blake  <ebb9@byu.net>
40168
40169         xalloc-die-tests: add missing library
40170         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
40171
40172         test-xvasprintf: silence compiler warnings
40173         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
40174         empty string from gcc.
40175
40176 2009-11-19  Jim Meyering  <meyering@redhat.com>
40177
40178         xfreopen: new module, from coreutils
40179         * modules/xfreopen: New module.
40180         * lib/xfreopen.c: New file.
40181         * lib/xfreopen.h: New file.
40182         * MODULES.html.sh (File stream based Input/Output"): Add it.
40183
40184 2009-11-19  Eric Blake  <ebb9@byu.net>
40185
40186         manywarnings: depend on warnings
40187         * modules/manywarnings (Depends-on): Add warnings.
40188
40189         build: avoid compiler warnings
40190         * lib/select.c (rpl_select): Delete unused variable.
40191         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
40192
40193 2009-11-18  Eric Blake  <ebb9@byu.net>
40194
40195         tests: avoid false negative with --with-packager
40196         * tests/test-version-etc.sh: Discard packager information.
40197         * tests/test-argp-version-etc-1.sh: Likewise.
40198         Reported by Mike Frysinger.
40199
40200         utimens: fix regression on Solaris
40201         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
40202         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
40203         can only change fd timestamps via futimesat.  Instead, use an
40204         additional witness macro to avoid BSD bug.
40205         Reported by Jim Meyering.
40206
40207 2009-11-17  Eric Blake  <ebb9@byu.net>
40208
40209         usleep: use it to simplify tests
40210         * modules/stat-time-tests (Depends-on): Add usleep.
40211         (configure.ac): Drop usleep check.
40212         * modules/chown-tests (Depends-on, configure.ac): Likewise.
40213         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
40214         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
40215         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
40216         * modules/openat-tests (Depends-on, configure.ac): Likewise.
40217         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
40218         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
40219         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
40220         Likewise.
40221         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
40222         * tests/test-lchown.h (nap): Likewise.
40223         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
40224         * tests/test-stat-time.c (nap): Likewise.
40225         * tests/test-utimens-common.h (nap): Update comments.
40226
40227         usleep: new module
40228         * modules/usleep: New file.
40229         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
40230         * lib/usleep.c (usleep): Likewise.
40231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40232         * modules/unistd (Makefile.am): Substitute witnesses.
40233         * lib/unistd.in.h (usleep): Add declaration.
40234         * doc/pastposix-functions/usleep.texi (usleep): Document this.
40235         * MODULES.html.sh (Date and time): Likewise.
40236         * modules/usleep-tests (Depends-on): New test.
40237         * tests/test-usleep.c: New file.
40238
40239         chown: work around OpenBSD bug
40240         * lib/chown.c (rpl_chown): Work around the bug.
40241         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
40242         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
40243         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
40244         * modules/chown (Depends-on): Add stdbool.
40245         * modules/lchown (Depends-on): Likewise.
40246         * doc/posix-functions/chown.texi (chown): Document the bug.
40247         * doc/posix-functions/lchown.texi (lchown): Likewise.
40248         * tests/test-lchown.h (test_chown): Relax test.
40249
40250         mkstemp: avoid conflict with C++ keyword template
40251         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
40252         * lib/mkostemp.c (mkostemp): Likewise.
40253         * lib/mkostemps.c (mkostemps): Likewise.
40254         * lib/mkstemp.c (mkstemp): Likewise.
40255         * lib/mkstemps.c (mkstemps): Likewise.
40256
40257         xalloc-die-tests: optimize
40258         * tests/test-xalloc-die.sh: Reduce number of processes.
40259
40260 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40261
40262         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
40263         patch from ludo@gnu.org (Ludovic Courtès).
40264
40265 2009-11-17  Jim Meyering  <meyering@redhat.com>
40266
40267         version-etc: use proper license string
40268         * modules/version-etc (License): Use LGPL, not LGPLv3+.
40269         * modules/version-etc-fsf: Likewise.
40270
40271 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40272
40273         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
40274         printed to stdout.  Deal with EOL differences.
40275
40276 2009-11-17  Eric Blake  <ebb9@byu.net>
40277
40278         unsetenv: work around Solaris bug
40279         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
40280         * lib/unsetenv.c (rpl_unsetenv): Work around it.
40281         Reported by Jim Meyering.
40282
40283         vasnprintf: avoid compiler warnings
40284         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
40285         variables.
40286         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
40287
40288 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40289
40290         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
40291         settings since xalloc-die is no longer the self test,
40292         xalloc-die.sh is.
40293
40294 2009-11-17  Jim Meyering  <meyering@redhat.com>
40295
40296         test-xalloc-die.sh: make the code agree with the commit log
40297         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
40298         at the end, just in case you happen to have a test-xalloc-die
40299         program in some other PATH directory.
40300
40301         test-xalloc-die.sh: fix a portability bug
40302         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
40303         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
40304         Otherwise, argv[0] (as often seen in diagnostics) would be too
40305         system-dependent, sometimes with, and sometimes without the leading "./".
40306
40307         version-etc-fsf: relax license to LGPLv3+
40308         * modules/version-etc-fsf (License): Relax license.
40309
40310 2009-11-16  Eric Blake  <ebb9@byu.net>
40311
40312         xalloc-die-tests: avoid printing null pointer
40313         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
40314         shell script.
40315         * tests/test-xalloc-die.c (program_name): Declare.
40316         * tests/test-xalloc-die.sh (tmpfiles): New file.
40317
40318         setenv, unsetenv: work around various bugs
40319         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
40320         (setenv) [HAVE_SETENV]: Work around bugs.
40321         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
40322         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
40323         for bugs.
40324         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
40325         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
40326         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
40327         * modules/stdlib (Makefile.am): Update substitutions.
40328         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
40329         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
40330         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
40331         * modules/setenv-tests: New test.
40332         * modules/unsetenv-tests: Likewise.
40333         * tests/test-setenv.c: New file.
40334         * tests/test-unsetenv.c: Likewise.
40335
40336 2009-11-16  Jim Meyering  <meyering@redhat.com>
40337
40338         version-etc: relax license to LGPLv3+
40339         * modules/version-etc (License): Relax license.
40340
40341         better AC_REQUIRE expanded-before-required-warning avoidance
40342         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
40343         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
40344         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
40345         which is no longer needed.
40346
40347 2009-11-16  Eric Blake  <ebb9@byu.net>
40348
40349         test-freading: clean up temporary file
40350         * tests/test-freading.c (main): Remove file on success, and use
40351         ASSERT more liberally.
40352         Reported by Jim Meyering.
40353
40354 2009-11-16  Jim Meyering  <meyering@redhat.com>
40355
40356         avoid new AC_REQUIRE expanded-before-required warnings
40357         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
40358         merely using it.
40359         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
40360         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
40361
40362 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40363
40364         * tests/test-xalloc-die.c: New file.
40365         * modules/xalloc-die-tests: New file.
40366         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
40367         XFAIL_TESTS so it can be appended by modules.
40368
40369 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40370
40371         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
40372         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
40373
40374 2009-11-14  Eric Blake  <ebb9@byu.net>
40375
40376         fnmatch: avoid compiler warning
40377         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
40378         to silence compiler warning about mismatch signedness in ?:.
40379         Reported by Robert Millan.
40380
40381         intprops: add double-inclusion guard
40382         * lib/intprops.h: Allow idempotent includes.
40383         Suggested by Bruce Korb.
40384
40385         openat: detect Solaris fchownat bug
40386         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
40387         penalizing glibc chownat when only lchownat is broken.
40388         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
40389         trailing slash bugs.
40390         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
40391         * modules/openat-tests (Files): Include more files.
40392         (Depends-on): Add mgetgroups, sleep, stat-time.
40393         (configure.ac): Add additional checks.
40394         (Makefile.am): Build new test.
40395         * tests/test-fchownat.c: New file.
40396
40397         lchown: detect Solaris and FreeBSD bug
40398         * lib/lchown.c (rpl_lchown): Work around bug.
40399         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
40400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40401         * modules/unistd (Makefile.am): Populate it.
40402         * lib/unistd.in.h (lchown): Update declaration.
40403         * doc/posix-functions/lchown.texi (lchown): Document the bug.
40404         * modules/lchown-tests: New file.
40405         * tests/test-lchown.h (test_lchown): Likewise.
40406         * tests/test-lchown.c (main): Likewise.
40407
40408         chown: detect Solaris and FreeBSD bug
40409         * lib/chown.c (rpl_chown): Work around bug.
40410         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
40411         (gl_PREREQ_CHOWN): Delete.
40412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40413         * modules/unistd (Makefile.am): Populate it.
40414         * lib/unistd.in.h (chown): Update declaration.
40415         * lib/lchown.c (chown): Update client.
40416         * modules/lchown (Depends-on): Add lstat.
40417         * doc/posix-functions/chown.texi (chown): Document the bug.
40418         * doc/posix-functions/getgroups.texi (getgroups): Document
40419         getgroups pitfall.
40420         * modules/chown-tests: New file.
40421         * tests/test-chown.h (test_chown): Likewise.
40422         * tests/test-chown.c (main): Likewise.
40423
40424 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
40425
40426         gnulib-tool: correctly detect absence of m4 directories
40427         * gnulib-tool: Avoid extra newline on data passed to wc -l.
40428
40429 2009-11-14  Jim Meyering  <meyering@redhat.com>
40430
40431         maint.mk: Prohibit inclusion of "xalloc.h" without use.
40432         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40433
40434 2009-11-14  John W. Eaton  <jwe@gnu.org>
40435
40436         strftime.h: wrap function declaration in extern "C" block
40437         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
40438
40439 2009-11-13  Eric Blake  <ebb9@byu.net>
40440
40441         getgroups: avoid compiler warning
40442         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
40443
40444         getgroups: work around FreeBSD bug
40445         * lib/getgroups.c (rpl_getgroups): Work around the bug.
40446         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
40447         * doc/posix-functions/getgroups.texi (getgroups): Document it.
40448         * tests/test-getgroups.c (main): Fix buffer overrun.
40449
40450         getgroups: avoid compilation failure
40451         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
40452         * modules/getgroups (Depends-on): Add stdint.
40453
40454 2009-11-13  Jim Meyering  <meyering@redhat.com>
40455
40456         test-getgroups: avoid compilation failure
40457         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
40458
40459 2009-11-13  Eric Blake  <ebb9@byu.net>
40460
40461         mgetgroups: new module, taken from coreutils
40462         * modules/mgetgroups: New file.
40463         * lib/mgetgroups.h: Likewise.
40464         * lib/mgetgroups.c (mgetgroups): Likewise.
40465         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
40466         * MODULES.html.sh (Users and groups): Mention it.
40467
40468         getgroups: don't expose GETGROUPS_T to user
40469         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
40470         an element at a time if GETGROUPS_T is wrong size.
40471         * lib/getugroups.h (getugroups): Change signature.
40472         * lib/unistd.in.h (getgroups): Likewise.
40473         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
40474         signature needs fixing.
40475         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
40476         AC_TYPE_GETGROUPS.
40477         * modules/group-member (Depends-on): Add getgroups.
40478         * lib/group-member.c (group_info, get_group_info): Use gid_t.
40479         (group_member): Rely on getgroups replacement.
40480         * lib/getugroups.c (getugroups): Use gid_t.
40481         * tests/test-getgroups.c (main): Likewise.
40482         * NEWS: Mention the signature change.
40483         * doc/posix-functions/getgroups.texi (getgroups): Mention the
40484         problem with signature.
40485         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
40486         GETGROUPS_T is still useful for setgroups.
40487
40488         getgroups, getugroups: provide stubs for mingw
40489         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
40490         * lib/getugroups.c (getugroups): Likewise.
40491         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
40492         function.  Modernize replacement scheme.
40493         (gl_PREREQ_GETGROUPS): Delete.
40494         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
40495         * modules/getgroups (configure.ac): Declare witness.
40496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40497         * modules/unistd (Depends-on): Substitute witness.
40498         * lib/unistd.in.h (getgroups): Declare replacement.
40499
40500         getgroups: avoid calling exit
40501         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
40502         drop xalloc.
40503         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
40504         dependencies.
40505         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
40506         exiting, in the rare case of malloc failure.
40507
40508         getgroups: fix logic error
40509         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
40510         has more than 20 groups.
40511         * modules/getgroups-tests: New test.
40512         * tests/test-getgroups.c: New file.
40513
40514 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40515
40516         * tests/test-base64.c: Improve.
40517
40518 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40519
40520         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
40521         Blake <ebb9@byu.net>.
40522
40523 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40524
40525         * tests/test-xvasprintf.c: Add %s%s related checks.
40526
40527 2009-11-12  Eric Blake  <ebb9@byu.net>
40528
40529         version-etc: match standards.texi style
40530         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
40531         and use <> only for URLs.
40532
40533 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
40534
40535         fts: do not fail on a submount during traversal
40536         * lib/fts.c (fts_build): Read the stat info again after opening
40537         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
40538         Original report at http://bugzilla.redhat.com/501848.
40539
40540 2009-11-12  Jim Meyering  <meyering@redhat.com>
40541
40542         bootstrap: sync from coreutils
40543         * build-aux/bootstrap (bootstrap_epilogue): New function.
40544         Use git_modules_config in one more place.  This make bootstrap's
40545         --gnulib-srcdir option more useful for testing.
40546
40547         bootstrap: generalize autoheader check
40548         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
40549         AC_CONFIG_HEADERS.
40550
40551 2009-11-11  Eric Blake  <ebb9@byu.net>
40552
40553         mkfifoat: use new modules for Solaris and BSD bugs
40554         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
40555         * lib/mkfifoat.c (mknodat): Split...
40556         * lib/mknodat.c (mknodat): ...into new file.
40557         * modules/mkfifoat (Files): Ship new file.
40558         (Depends-on): Add mkfifo, mknod.
40559         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
40560         (Depends-on): Add symlink.
40561         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
40562         redundant with test_mkfifo.h.
40563         (do_mkfifoat, do_mknodat): New helpers.
40564
40565         mknod: new module
40566         * modules/mknod: New file.
40567         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
40568         * lib/mknod.c (mknod): Likewise.
40569         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40570         defaults.
40571         * modules/sys_stat (Makefile.am): Substitute them.
40572         * lib/sys_stat.in.h (mknod): Declare replacement.
40573         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40574         Document it.
40575         * doc/posix-functions/mknod.texi (mknod): Likewise.
40576         * modules/mknod-tests: New test.
40577         * tests/test-mknod.c: Likewise.
40578
40579         mkfifo: new module
40580         * modules/mkfifo: New file.
40581         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
40582         * lib/mkfifo.c (mkfifo): Likewise.
40583         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40584         defaults.
40585         * modules/sys_stat (Makefile.am): Substitute them.
40586         * lib/sys_stat.in.h (mkfifo): Declare replacement.
40587         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40588         Document it.
40589         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
40590         * modules/mkfifo-tests: New test.
40591         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
40592         from test-mkfifoat.c.
40593         * tests/test-mkfifo.c: New file.
40594
40595         readlink: detect FreeBSD bug
40596         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
40597         slash on symlink.
40598         * doc/posix-functions/readlink.texi (readlink): Document the bug.
40599         * tests/test-readlink.h (test_readlink): Enhance test.
40600
40601         symlink: detect FreeBSD bug
40602         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
40603         slash on symlink.
40604         * doc/posix-functions/symlink.texi (symlink): Document the bug.
40605         * tests/test-symlink.h (test_symlink): Enhance test.
40606
40607 2009-11-10  Eric Blake  <ebb9@byu.net>
40608
40609         link: detect FreeBSD bug
40610         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
40611         symlink.
40612         * doc/posix-functions/link.texi (link): Document the bug.
40613         * tests/test-link.h (test_link): Enhance test.
40614         * tests/test-linkat.c (main): Update caller.
40615
40616         unlink, remove: detect FreeBSD bug
40617         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
40618         slash on symlink.
40619         * doc/posix-functions/unlink.texi (unlink): Document the bug.
40620         * doc/posix-functions/remove.texi (remove): Likewise.
40621         * tests/test-unlink.h (test_unlink): Enhance test.
40622         * tests/test-remove.c (main): Likewise.
40623
40624 2009-11-09  Eric Blake  <ebb9@byu.net>
40625
40626         rename: detect FreeBSD bug
40627         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
40628         slash on symlink.
40629         * modules/renameat-tests (Depends-on): Add filenamecat.
40630         * tests/test-rename.h (test_rename): Allow one more errno.
40631         * tests/test-renameat.c (main): Likewise.
40632         * doc/posix-functions/rename.texi (rename): Document the bug.
40633
40634         open: detect FreeBSD bug
40635         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
40636         symlink.
40637         * doc/posix-functions/open.texi (open): Document the bug.
40638         * doc/posix-functions/utimes.texi (utimes): Likewise.
40639         * tests/test-open.h (test_open): Add parameters, and test symlink
40640         handling.
40641         * tests/test-open.c (main): Adjust caller.
40642         * tests/test-fcntl-safer.c (main): Likewise.
40643         * modules/open-tests (Depends-on): Add stdbool, symlink.
40644         * modules/fcntl-safer-tests (Depends-on): Likewise.
40645         * tests/test-openat.c (main): Add test-open tests.
40646
40647         stat: detect FreeBSD bug
40648         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
40649         symlink.
40650         * doc/posix-functions/stat.texi (stat): Document the bug.
40651         * tests/test-stat.h (test_stat_func): Add argument.
40652         * tests/test-stat.c (main): Adjust caller.
40653         * tests/test-fstatat.c (main): Likewise.
40654         * modules/stat-tests (Depends-on): Add stdbool, symlink.
40655         Reported by Jim Meyering.
40656
40657 2009-11-09  James Youngman  <jay@gnu.org>
40658
40659         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
40660         * lib/strftime.c: Correct placement of #include "ignore-value.h".
40661
40662 2009-11-08  Jim Meyering  <meyering@redhat.com>
40663
40664         utimens: remove invalid futimesat call
40665         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
40666         It used the file descriptor of the target file as the DIR_FD
40667         parameter and NULL as the file name.  That caused failure with
40668         errno == EFAULT on FreeBSD-8.0-rc2
40669
40670 2009-11-07  Eric Blake  <ebb9@byu.net>
40671
40672         fflush, freadseek: use fseeko, not fseek
40673         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
40674         (clear_ungetc_buffer): Avoid potential problems on large files.
40675         * lib/freadseek.c (freadseek): Likewise.
40676         * modules/freadseek (Depends-on): Add fseeko.
40677         * modules/fseek (configure.ac): Set a witness.
40678         * tests/test-fflush.c (main): Use fseeko.
40679         * tests/test-fpurge.c (fseek): Disable link warning.
40680         * tests/test-freadable.c (fseek): Likewise.
40681         * tests/test-freading.c (fseek): Likewise.
40682         * tests/test-fseeko.c (fseek): Likewise.
40683         * tests/test-ftell.c (fseek): Likewise.
40684         * tests/test-ftello.c (fseek): Likewise.
40685         * tests/test-fwritable.c (fseek): Likewise.
40686         * tests/test-fwriting.c (fseek): Likewise.
40687
40688 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40689
40690         * modules/memchr (Depends-on): Drop getpagesize dependency.
40691
40692 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40693
40694         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
40695         Reported by Ludovic Courtès.
40696         * build-aux/pmccabe2html: Improve example usage.
40697         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
40698
40699 2009-11-06  Jim Meyering  <meyering@redhat.com>
40700
40701         do-release-commit-and-tag: New module.
40702         Automate the release-commit and tag process.
40703         * build-aux/do-release-commit-and-tag: New script, from coreutils.
40704         * modules/do-release-commit-and-tag: New file.
40705         * MODULES.html.sh (Support for maintaining and releasing): Add it.
40706
40707 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40708
40709         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
40710         because test-select.c uses inet_pton.
40711
40712 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40713
40714         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
40715         GETADDRINFO_LIB.  Bump serial number.
40716         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
40717         Suggested by Eric Blake <ebb9@byu.net>.
40718
40719 2009-11-05  Eric Blake  <ebb9@byu.net>
40720
40721         strtod: detect darwin bug
40722         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
40723         Reported by Leo Davis.
40724
40725         freopen-safer: new module
40726         * modules/freopen-safer: New module.
40727         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
40728         * lib/freopen-safer.c (freopen_safer): New file.
40729         * lib/stdio-safer.h (freopen_safer): New declaration.
40730         * lib/stdio--.h (freopen): New override.
40731         * MODULES.html.sh (File stream based Input/Output): Mention it.
40732         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
40733         freopen-safer module.
40734         * doc/posix-functions/stderr.texi (stderr): Likewise.
40735         * doc/posix-functions/stdin.texi (stdin): Likewise.
40736         * doc/posix-functions/stdout.texi (stdout): Likewise.
40737         * modules/freopen-safer-tests: New test.
40738         * tests/test-reopen-safer.c: New file.
40739
40740 2009-11-05  Jim Meyering  <meyering@redhat.com>
40741
40742         maint.mk: Prohibit inclusion of "close-stream.h" without use.
40743         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40744
40745 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40746
40747         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
40748
40749 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40750
40751         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
40752
40753 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40754
40755         Fix link error.
40756         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40757         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40758
40759 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40760
40761         * tests/test-func.c: Also test value of __func__.
40762
40763 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40764
40765         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
40766         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
40767
40768 2009-11-05  Bruno Haible  <bruno@clisp.org>
40769
40770         Fix link error.
40771         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40772         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40773         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
40774
40775 2009-11-05  Bruno Haible  <bruno@clisp.org>
40776
40777         Tests for module 'inet_pton'.
40778         * modules/inet_pton-tests: New file.
40779         * tests/test-inet_pton.c: New file.
40780
40781 2009-11-05  Bruno Haible  <bruno@clisp.org>
40782
40783         Tests for module 'inet_ntop'.
40784         * modules/inet_ntop-tests: New file.
40785         * tests/test-inet_ntop.c: New file.
40786
40787 2009-11-04  Eric Blake  <ebb9@byu.net>
40788
40789         stdlib-safer: wrap all mkstemp variants
40790         * modules/mkostemp (configure.ac): Set witness.
40791         * modules/mkostemps (configure.ac): Likewise.
40792         * modules/mkstemps (configure.ac): Likewise.
40793         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
40794         (mkstemps_safer): Wrap more functions.
40795         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
40796         wrapping.
40797         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
40798         (mkstemps_safer): Implement the wrappers.
40799
40800         mkstemps, mkostemps: new modules
40801         * modules/mkostemps: New module.
40802         * modules/mkstemps: Likewise.
40803         * lib/mkostemps.c (mkostemps): New file.
40804         * lib/mkstemps.c (mkstemps): Likewise.
40805         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
40806         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
40807         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
40808         * modules/stdlib (Makefile.am): Substitute them.
40809         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
40810         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
40811         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
40812         * doc/gnulib.texi (Glibc stdlib.h): Include them.
40813         * MODULES.html.sh (File system functions): Mention them.
40814
40815         tempname: resync from glibc
40816         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
40817         same values for __GT_FILE as glibc.  Abort even when assertions
40818         are disabled.
40819         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
40820         match its value otherwise.  Allow idempotent inclusion.
40821         * lib/mkdtemp.c (mkdtemp): Adjust caller.
40822         * lib/mkostemp.c (mkostemp): Likewise.
40823         * lib/mkstemp.c (mkstemp): Likewise.
40824         * lib/tmpfile.c (tmpfile): Likewise.
40825         * NEWS: Document this.
40826
40827         utimens: fix use of futimens on older Linux
40828         * lib/utimens.c (fdutimens): Use updated, rather than original,
40829         timespec to avoid bug in older Linux kernel.
40830         Reported by Simon Josefsson.
40831
40832 2009-11-04  Bruno Haible  <bruno@clisp.org>
40833
40834         Make num_processors more flexible and consistent.
40835         * lib/nproc.h (enum nproc_query): New type.
40836         (num_processors): Add a 'query' argument.
40837         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
40838         (num_processors): Add a 'query' argument. Test the value of the
40839         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
40840         mingw, count the number of CPUs available for the current process.
40841         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
40842         Check for sched_getaffinity and sched_getaffinity_np.
40843         * modules/nproc (Depends-on): Add c-ctype, extensions.
40844         * NEWS: Mention the change.
40845
40846 2009-11-03  Bruno Haible  <bruno@clisp.org>
40847
40848         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
40849
40850 2009-11-03  Jim Meyering  <meyering@redhat.com>
40851
40852         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
40853         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
40854         if it is defined.
40855
40856 2009-11-02  Eric Blake  <ebb9@byu.net>
40857
40858         mktime, timegm: share common declaration
40859         * lib/mktime-internal.h: New file.
40860         * lib/mktime.c: Use it rather than open-coding a declaration.
40861         * lib/timegm.c: Likewise.
40862         * modules/mktime (Files): Ship it.
40863         * modules/timegm (Files): Likewise.
40864         Suggested by Bruno Haible.
40865
40866         test-update-copyright: update test to match script changes
40867         * tests/test-update-copyright.sh: Avoid hard-coding perl
40868         location.  Don't update *.bak created by earlier runs.
40869
40870 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40871             Simon Josefsson  <simon@josefsson.org>
40872             Bruno Haible  <bruno@clisp.org>
40873
40874         Fix link error on Solaris 8.
40875         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
40876         also in libnsl. Define also INET_PTON_LIB.
40877         * modules/inet_pton (Link): New section.
40878
40879 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40880             Bruno Haible  <bruno@clisp.org>
40881
40882         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
40883         * modules/inet_ntop (Link): New section.
40884         Reported by Boyan Kasarov <bkasarov@gmail.com>.
40885
40886 2009-11-02  Eric Blake  <ebb9@byu.net>
40887
40888         maint: avoid compiler warnings in m4 macros
40889         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
40890         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
40891
40892 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40893
40894         * m4/pmccabe2html.m4: Remove file.
40895         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
40896         function.  Change maintainer.
40897         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
40898         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
40899         Courtès).
40900
40901 2009-10-31  Eric Blake  <ebb9@byu.net>
40902
40903         fseeko: fix m4 regression
40904         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
40905         regression from 2009-10-27.
40906         Reported by Ralf Wildenhues.
40907
40908 2009-10-31  Jim Meyering  <meyering@redhat.com>
40909
40910         inttostr: aesthetics and improved (compile-time) safety
40911         Define inttype_is_signed rather than inttype_is_unsigned,
40912         since the sole use is via "#if inttype_is_signed".
40913         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
40914         inttype_is_unsigned.
40915         * lib/offtostr.c (inttype_is_signed): Likewise.
40916         * lib/uinttostr.c (inttype_is_signed): Likewise.
40917         * lib/umaxtostr.c (inttype_is_signed): Likewise.
40918         * lib/inttostr.c (inttostr): Use verify to cross-check the
40919         inttype_is_signed value and the signedness of the actual type.
40920         * modules/inttostr (Depends-on): Add verify.
40921
40922 2009-10-30  Eric Blake  <ebb9@byu.net>
40923
40924         build: avoid compiler warnings
40925         * lib/fchmodat.c (lchmod): Mark unused variables.
40926         * lib/getopt.c (_getopt_initialize): Likewise.
40927         * lib/mktime.c (__mktime_internal): Provide prototype.
40928         * lib/inttostr.c (inttostr): Avoid compiler warning even with
40929         older gcc that do not understand #pragma GCC diagnostic.
40930         * lib/uinttostr.c (inttype_is_unsigned): Define.
40931         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
40932
40933 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
40934
40935         stat: fix compilation on AIX
40936         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
40937         only see struct stat64.
40938
40939 2009-10-30  Eric Blake  <ebb9@byu.net>
40940
40941         exclude: make more robust
40942         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
40943         rather than masking a coding bug.
40944         Suggested by Bruno Haible.
40945
40946 2009-10-30  Jim Meyering  <meyering@redhat.com>
40947
40948         perl scripts: remove #!/usr/bin/perl in favor of more portable...
40949         Rather than putting #!/usr/bin/perl on the first line,
40950         start with a variant of what's recommended by "man perlrun" that
40951         invokes the first "perl" program from your shell's search path.
40952         * build-aux/gitlog-to-changelog: Replace #!... as above.
40953         Add a "Local Variables" perl mode setting.
40954         Prompted by a patch from Ludovic Courtès.
40955         Improved by Eric Blake.
40956         * build-aux/useless-if-before-free: Likewise.
40957         * build-aux/announce-gen: Likewise.
40958         * build-aux/update-copyright: Likewise.
40959
40960 2009-10-29  Eric Blake  <ebb9@byu.net>
40961
40962         filenamecat-lgpl: adjust clients
40963         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
40964         filenamecat.
40965         * modules/renameat (Depends-on): Likewise.
40966
40967         filenamecat: split into filenamecat-lgpl
40968         * modules/filenamecat-lgpl: New module.
40969         * modules/filenamecat (Files): Move library-safe files into
40970         filenamecat-lgpl.
40971         (Depends-on): Add filenamecat-lgpl.
40972         (configure.ac): Declare witness.
40973         * lib/filenamecat.h (file_name_concat): Only declare when using
40974         GPL module.
40975         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
40976         Move...
40977         * lib/filenamecat-lgpl.c: ...into new file.
40978         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
40979         (gl_FILE_NAME_CONCAT): Use it.
40980         * MODULES.html.sh (File system functions): Mention new module.
40981
40982         argp: avoid memory leak
40983         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
40984         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
40985         base_name, since the latter malloc()s and can call exit().
40986         Leak introduced 2006-07-03.
40987
40988         dirname-lgpl: adjust clients that don't need full dirname
40989         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
40990         * modules/filenamecat (Depends-on): Likewise.
40991         * modules/linkat (Depends-on): Likewise.
40992         * modules/mkancesdirs (Depends-on): Likewise.
40993         * modules/mkdir (Depends-on): Likewise.
40994         * modules/openat (Depends-on): Likewise.
40995         * modules/savewd (Depends-on): Likewise.
40996         * modules/rename (Depends-on): Likewise.
40997         (License): Relax license.
40998         * modules/mkdir-tests (Depends-on): Drop progname.
40999         (Makefile.am): Delete unneeded LDADD.
41000         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
41001
41002         dirname: split into dirname-lgpl
41003         * modules/dirname-lgpl: New module.
41004         * modules/dirname (Files): Move library-safe files into
41005         dirname-lgpl.
41006         (Depends-on): Add dirname-lgpl.
41007         (configure.ac): Declare witness.
41008         * modules/double-slash-root (License): Relax license.
41009         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
41010         module.
41011         * lib/dirname.c (dir_len, mdir_name): Move...
41012         * lib/dirname-lgpl.c: ...into new file.
41013         * lib/basename.c (last_component, base_len): Move...
41014         * lib/basename-lgpl.c: ...into new file.
41015         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
41016         (gl_DIRNAME): Use it.
41017         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
41018         Mention new module.
41019         * modules/dirname-tests (Depends-on): Add progname.
41020         * tests/test-dirname.c (program_name): Delete.
41021
41022         mkdir: make safe for libraries
41023         * modules/mkdir (Depends-on): Drop xalloc.
41024         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
41025         exit.
41026
41027         tests: avoid some compiler warnings
41028         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
41029         literals.
41030         * tests/test-memchr.c (main): Avoid type mismatch.
41031         * tests/test-arpa_inet.c (main): Avoid unused parameters.
41032         * tests/test-base64.c (main): Likewise.
41033         * tests/test-getdelim.c (main): Likewise.
41034         * tests/test-gethostname.c (main): Likewise.
41035         * tests/test-getline.c (main): Likewise.
41036         * tests/test-netinet_in.c (main): Likewise.
41037         * tests/test-select.c (open_server_socket, main): Likewise.
41038         * tests/test-select-stdin.c (main): Likewise.
41039         * tests/test-sockets.c (main): Likewise.
41040         * tests/test-strsignal.c (main): Likewise.
41041         * tests/test-sys_select.c (main): Likewise.
41042         * tests/test-sys_socket.c (main): Likewise.
41043         * tests/test-u64.c (main): Likewise.
41044         * tests/test-xfprintf-posix.c (main): Likewise.
41045         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
41046
41047         sockets: avoid compiler warning
41048         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
41049
41050         maint: detect usage(1) and other suspicious exits
41051         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
41052
41053 2009-10-29  Jim Meyering  <meyering@redhat.com>
41054
41055         timespec: long-to-int truncation could make timespec_cmp malfunction
41056         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
41057         a multiple of 2^32 nanoseconds as no difference.
41058
41059 2009-10-28  Jim Meyering  <meyering@redhat.com>
41060
41061         fprintftime: wrap macro code argument in "do {...} while(0)"
41062         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
41063         cpy macro must be a statement that can be followed by a semicolon.
41064         Now that the else clause contains a comment and is hence longer
41065         than one line, I require curly braces.  That in turn requires
41066         that we wrap this code block in the standard do...while(0).
41067
41068         fprintftime: remove stray semicolon from previous change
41069         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
41070
41071         fprintftime: avoid a warning about ignored fwrite return value
41072         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
41073         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
41074         that is unsafe.
41075         * modules/fprintftime (Depends-on): Add ignore-value.
41076
41077         exclude: avoid an unwarranted warning
41078         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
41079
41080 2009-10-27  Eric Blake  <ebb9@byu.net>
41081
41082         fseek: avoid compilation failure when fflush is replaced
41083         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
41084         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
41085         module is in use.
41086         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
41087         module is not in use; since REPLACE_FSEEK worked otherwise.
41088         (GNULIB_FTELLO): Likewise for ftell.
41089         Reported by Ian Beckwith and others.
41090
41091 2009-10-27  Bruno Haible  <bruno@clisp.org>
41092
41093         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
41094         Reported by Jim Meyering.
41095
41096 2009-10-27  Jim Meyering  <jim@meyering.net>
41097             Bruno Haible  <bruno@clisp.org>
41098
41099         Avoid warning despite dropping the return value of fwrite.
41100         * lib/unicodeio.c: Include ignore-value.h.
41101         (fwrite_success_callback): Explicitly ignore fwrite's return value.
41102         * modules/unicodeio (Depends-on): Add ignore-value.
41103
41104 2009-10-26  Eric Blake  <ebb9@byu.net>
41105
41106         areadlinkat: fix fallback path
41107         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
41108         pointer and zero.
41109
41110 2009-10-22  Pádraig Brady  <P@draigBrady.com>
41111
41112         Use a better IO block size for modern systems
41113         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
41114         * lib/md2.c: Likewise.
41115         * lib/md4.c: Likewise.
41116         * lib/md5.c: Likewise.
41117         * lib/sha1.c: Likewise.
41118         * lib/sha256.c: Likewise.
41119         * lib/sha512.c: Likewise.
41120
41121 2009-10-22  Eric Blake  <ebb9@byu.net>
41122
41123         tests: avoid several compiler warnings
41124         * tests/test-getcwd.c (main): Avoid buffer underflow.
41125         * tests/test-getdate.c (main): String literals are not safe with
41126         putenv, so use setenv.  Declare unused argument.
41127         * modules/getdate-tests (Depends-on): Add setenv.
41128         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
41129         problems with string literals in char *.
41130         * tests/test-hash.c (main): Avoid shadowing declaration.
41131         (insert_new): Treat string literals as char const *.
41132         * tests/test-getopt.h (test_getopt): Likewise.
41133         (getopt_loop): Alter types to minimize casting elsewhere.
41134         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
41135         (test_getopt_long_posix): Likewise.
41136         (do_getopt_long): Add wrapper to minimize casting.
41137         * tests/test-atexit.c (clear_temp_file): Use void.
41138         * tests/test-areadlink-with-size.c (main): Declare unused
41139         arguments.
41140         * tests/test-areadlink.c (main): Likewise.
41141         * tests/test-areadlinkat-with-size.c (main): Likewise.
41142         * tests/test-areadlinkat.c (main): Likewise.
41143         * tests/test-canonicalize-lgpl.c (main): Likewise.
41144         * tests/test-canonicalize.c (main): Likewise.
41145         * tests/test-dirent-safer.c (main): Likewise.
41146         * tests/test-dirname.c (main): Likewise.
41147         * tests/test-dup2.c (main): Likewise.
41148         * tests/test-fchdir.c (main): Likewise.
41149         * tests/test-fcntl-h.c (main): Likewise.
41150         * tests/test-fcntl-safer.c (main): Likewise.
41151         * tests/test-fdopendir.c (main): Likewise.
41152         * tests/test-fdutimensat.c (main): Likewise.
41153         * tests/test-fflush.c (main): Likewise.
41154         * tests/test-filenamecat.c (main): Likewise.
41155         * tests/test-filevercmp.c (main): Likewise.
41156         * tests/test-fopen-safer.c (main): Likewise.
41157         * tests/test-fopen.c (main): Likewise.
41158         * tests/test-fpending.c (main): Likewise.
41159         * tests/test-fpurge.c (main): Likewise.
41160         * tests/test-freading.c (main): Likewise.
41161         * tests/test-fstatat.c (main): Likewise.
41162         * tests/test-fsync.c (main): Likewise.
41163         * tests/test-futimens.c (main): Likewise.
41164         * tests/test-getndelim2.c (main): Likewise.
41165         * tests/test-gettimeofday.c (main): Likewise.
41166         * tests/test-getopt.c (main): Likewise.
41167         * tests/test-i-ring.c (main): Likewise.
41168         * tests/test-inttypes.c (main): Likewise.
41169         * tests/test-link.c (main): Likewise.
41170         * tests/test-lstat.c (main): Likewise.
41171         * tests/test-math.c (main): Likewise.
41172         * tests/test-md5.c (main): Likewise.
41173         * tests/test-memchr2.c (main): Likewise.
41174         * tests/test-memrchr.c (main): Likewise.
41175         * tests/test-mkdir.c (main): Likewise.
41176         * tests/test-mkdirat.c (main): Likewise.
41177         * tests/test-mkfifoat.c (main): Likewise.
41178         * tests/test-open.c (main): Likewise.
41179         * tests/test-openat-safer.c (main): Likewise.
41180         * tests/test-openat.c (main): Likewise.
41181         * tests/test-quotearg.c (main): Likewise.
41182         * tests/test-rawmemchr.c (main): Likewise.
41183         * tests/test-readlink.c (main): Likewise.
41184         * tests/test-remove.c (main): Likewise.
41185         * tests/test-rename.c (main): Likewise.
41186         * tests/test-renameat.c (main): Likewise.
41187         * tests/test-rmdir.c (main): Likewise.
41188         * tests/test-sha1.c (main): Likewise.
41189         * tests/test-signal.c (main): Likewise.
41190         * tests/test-sigaction.c (main): Likewise.
41191         * tests/test-stat.c (main): Likewise.
41192         * tests/test-stat-time.c (main): Likewise.
41193         * tests/test-stddef.c (main): Likewise.
41194         * tests/test-stdint.c (main): Likewise.
41195         * tests/test-stdio.c (main): Likewise.
41196         * tests/test-stdlib.c (main): Likewise.
41197         * tests/test-strchrnul.c (main): Likewise.
41198         * tests/test-strerror.c (main): Likewise.
41199         * tests/test-string.c (main): Likewise.
41200         * tests/test-strtod.c (main): Likewise.
41201         * tests/test-strverscmp.c (main): Likewise.
41202         * tests/test-symlink.c (main): Likewise.
41203         * tests/test-symlinkat.c (main): Likewise.
41204         * tests/test-sys_stat.c (main): Likewise.
41205         * tests/test-sys_time.c (main): Likewise.
41206         * tests/test-time.c (main): Likewise.
41207         * tests/test-unistd.c (main): Likewise.
41208         * tests/test-unlink.c (main): Likewise.
41209         * tests/test-unlinkat.c (main): Likewise.
41210         * tests/test-utimens.c (main): Likewise.
41211         * tests/test-utimensat.c (main): Likewise.
41212         * tests/test-version-etc.c (main): Likewise.
41213         * tests/test-wchar.c (main): Likewise.
41214         * tests/test-wctype.c (main): Likewise.
41215         * tests/test-xprintf-posix.c (main): Likewise.
41216         * tests/test-posixtm.c (main): Likewise.
41217         (STREQ): Delete unused macro.
41218         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
41219         shadowed variables.
41220         * tests/test-memchr.c (main): Likewise.
41221
41222 2009-10-21  Eric Blake  <ebb9@byu.net>
41223
41224         areadlinkat: avoid failure on older glibc
41225         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
41226         rather than mis-comparing 0 against FUNC_RESULT of char*.
41227
41228 2009-10-21  Bruno Haible  <bruno@clisp.org>
41229
41230         * modules/stpncpy (License): Relicense under LGPLv2+.
41231         Reported by David Lutterkort <lutter@redhat.com>.
41232
41233 2009-10-20  Eric Blake  <ebb9@byu.net>
41234
41235         utimensat: work around Solaris 9 bug
41236         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
41237         has trailing slash bugs.
41238         * tests/test-lutimens.h (test_lutimens): Enhance test.
41239         * tests/test-utimens.h (test_utimens): Likewise.
41240         * doc/posix-functions/utime.texi (utime): Enhance documentation.
41241         * doc/posix-functions/utimes.texi (utimes): Likewise.
41242         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41243         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
41244         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
41245         * doc/posix-functions/futimens.texi (futimens): Likewise.
41246
41247         fdutimensat: new module
41248         * modules/fdutimensat: New file.
41249         * lib/fdutimensat.c (fdutimensat): Likewise.
41250         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
41251         * MODULES.html.sh (File system functions): Mention module.
41252         * modules/fdutimensat-tests: New test.
41253         * tests/test-fdutimensat.c: Likewise.
41254
41255         doc: regenerate INSTALL
41256         * doc/INSTALL: Reflect recent autoconf update.
41257         * doc/INSTALL.ISO: Likewise.
41258         * doc/INSTALL.UTF-8: Likewise.
41259
41260 2009-10-20  Pádraig Brady  <P@draigBrady.com>
41261
41262         acl: warn if ACL support is not detected
41263         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
41264
41265 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
41266
41267         * lib/nproc.h: Add extern "C" block for C++.
41268
41269 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
41270             Bruno Haible  <bruno@clisp.org>
41271
41272         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
41273         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
41274         * doc/posix-functions/isalpha.texi: Likewise.
41275         * doc/posix-functions/isblank.texi: Likewise.
41276         * doc/posix-functions/iscntrl.texi: Likewise.
41277         * doc/posix-functions/isdigit.texi: Likewise.
41278         * doc/posix-functions/isgraph.texi: Likewise.
41279         * doc/posix-functions/islower.texi: Likewise.
41280         * doc/posix-functions/isprint.texi: Likewise.
41281         * doc/posix-functions/ispunct.texi: Likewise.
41282         * doc/posix-functions/isspace.texi: Likewise.
41283         * doc/posix-functions/isupper.texi: Likewise.
41284         * doc/posix-functions/isxdigit.texi: Likewise.
41285
41286 2009-10-18  Bruno Haible  <bruno@clisp.org>
41287
41288         Tests for module 'isblank'.
41289         * modules/isblank-tests: New file.
41290         * tests/test-isblank.c: New file.
41291
41292         New module 'isblank'.
41293         * lib/isblank.c: New file.
41294         * m4/isblank.m4: New file.
41295         * modules/isblank: New file.
41296         * doc/posix-functions/isblank.texi: Mention the new module.
41297
41298 2009-10-18  Bruno Haible  <bruno@clisp.org>
41299
41300         New module 'ctype'.
41301         * lib/ctype.in.h: New file.
41302         * m4/ctype.m4: New file.
41303         * modules/ctype: New file.
41304         * doc/posix-headers/ctype.texi: Mention the new module.
41305
41306 2009-10-18  Jim Meyering  <meyering@redhat.com>
41307
41308         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
41309         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
41310         right after its initialization, rather than farther down.
41311         Keeping these in close proximity makes it easier to ensure
41312         that each such variable is initialized.  E.g.,
41313
41314             LIB_CLOCK_GETTIME=
41315             AC_SUBST([LIB_CLOCK_GETTIME])
41316
41317         This change also increments these serial numbers.
41318         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
41319         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41320         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41321
41322 2009-10-18  Bruno Haible  <bruno@clisp.org>
41323
41324         Don't let environment variables perturb build.
41325         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
41326         (gl_PREREQ_GETHRXTIME): ... not here.
41327
41328 2009-10-18  Bruno Haible  <bruno@clisp.org>
41329
41330         Avoid symlink attack in localcharset module.
41331         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
41332         (O_NOFOLLOW): Define fallback.
41333         (get_charset_aliases): Don't open the file if it is a symbolic link.
41334         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
41335         gl_FCNTL_H.
41336         (gl_FCNTL_H): Require it.
41337         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
41338         * modules/localcharset (Files): Add m4/fcntl_h.m4.
41339         Reported by Fergal Glynn <fglynn@veracode.com>.
41340
41341 2009-10-18  Bruno Haible  <bruno@clisp.org>
41342
41343         Implement nproc for mingw.
41344         * lib/nproc.c: Include <windows.h>
41345         (num_processors): On native Windows platforms, try GetSystemInfo.
41346
41347 2009-10-18  Bruno Haible  <bruno@clisp.org>
41348
41349         Implement nproc for IRIX.
41350         * lib/nproc.c: Include <sys/sysmp.h>.
41351         (num_processors): On IRIX systems, try sysmp.
41352         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
41353
41354 2009-10-18  Bruno Haible  <bruno@clisp.org>
41355
41356         Implement nproc for HP-UX.
41357         * lib/nproc.c: Include <sys/pstat.h>
41358         (num_processors): On HP-UX systems, try pstat_getdynamic.
41359         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
41360         pstat_getdynamic.
41361
41362 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
41363             Bruno Haible  <bruno@clisp.org>
41364
41365         Implement nproc for NetBSD, OpenBSD.
41366         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
41367         (ARRAY_SIZE): New macro.
41368         (num_processors): On BSD systems, try sysctl of HW_NCPU.
41369         * m4/nproc.m4: New file.
41370         * modules/nproc (Files): Add m4/nproc.m4.
41371         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
41372         (Makefile.am): Instead, augment lib_SOURCES.
41373
41374 2009-10-18  Bruno Haible  <bruno@clisp.org>
41375
41376         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
41377         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
41378         sys/param.h.
41379
41380 2009-10-16  Eric Blake  <ebb9@byu.net>
41381
41382         utimensat: new module
41383         * modules/utimensat: New file.
41384         * lib/utimensat.c (utimensat): Likewise.
41385         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41386         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
41387         so we can work around Linux bugs.
41388         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41389         * modules/sys_stat (Makefile.am): Substitute them.
41390         * lib/sys_stat.in.h (utimensat): Declare it.
41391         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41392         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41393         * modules/utimensat-tests: New test.
41394         * tests/test-utimensat.c: Likewise.
41395
41396         utimens: let lutimens work on non-symlinks
41397         * lib/utimens.c (lutimens): Fall back to utimens rather than
41398         failing with ENOSYS, when file is not a symlink.
41399         (utimens): Reduce redirection.
41400         * tests/test-lutimens.h (test_lutimens): Update test to cover
41401         non-symlinks.
41402         * tests/test-utimens.h (test_utimens): Update test to cover
41403         symlinks.
41404         * tests/test-utimens.c (main): Update caller.
41405
41406         utimens: cache whether utimensat syscall works
41407         * lib/utimens.c (utimensat_works_really): New cache variable.
41408         (fdutimens, lutimens): Use it to avoid failing syscall.
41409
41410         test-stat-time, test-utimens: improve portability
41411         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
41412         ext4 on alpha, and for cygwin.
41413         * tests/test-utimens-common.h: New file.
41414         (nap): Factor delays into single function.
41415         * tests/test-lutimens.h (test_lutimens): Use new header.
41416         * tests/test-futimens.h (test_futimens): Likewise.
41417         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
41418         timestamps to occur from same machine, as was done previously for
41419         test_utimens.
41420         * modules/utimens-tests (Files): Ship new file.
41421         * modules/futimens-tests (Files): Likewise.
41422         Reported in part by Jim Meyering.
41423
41424         sys_stat: sort replacement declarations
41425         * lib/sys_stat.in.h: Sort declarations.
41426         * lib/futimens.c (futimens): Fix typo.
41427
41428 2009-10-15  Jim Meyering  <meyering@redhat.com>
41429
41430         don't let environment settings perturb build
41431         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
41432         could cause a configure-time and/or build-time malfunction.
41433         Typically, a configure-time function-in-library test is performed
41434         via code like this:
41435
41436           LIB_VAR=
41437           AC_SUBST([LIB_VAR])
41438           prefix_saved_LIBS=$LIBS
41439             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
41440                        [test "$ac_cv_search_FUNC" = "none required" ||
41441                         LIB_VAR=$ac_cv_search_FUNC])
41442           LIBS=$prefix_saved_LIBS
41443
41444         However, in each of the files affected by this change, the LIB_VAR=
41445         initialization was omitted.  Thus, when set in the environment, its
41446         value would propagate into generated Makefiles when FUNC is not found
41447         in LIB_NAME.
41448         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
41449         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41450         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41451
41452 2009-10-14  Eric Blake  <ebb9@byu.net>
41453
41454         fchdir: avoid infinite recursion in mingw
41455         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
41456         recursing.
41457
41458         test-stat-time: port to mingw
41459         * tests/test-stat-time.c (force_unlink): Return a value.
41460         (test_ctime) [W32]: Fix compilation error.
41461         (nap): Don't call usleep with too large an argument.  Use
41462         force_unlink.
41463         * doc/pastposix-functions/usleep.texi (usleep): Document the
41464         portability issue.
41465
41466 2009-10-13  Jim Meyering  <meyering@redhat.com>
41467
41468         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
41469         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
41470         * modules/pipe-filter-ii: Likewise.
41471         * modules/sys_socket-tests: Likewise.
41472         * modules/tsearch-tests: Likewise.
41473         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
41474         (check): Depend on it.
41475
41476 2009-10-12  Eric Blake  <ebb9@byu.net>
41477
41478         utimens-tests: port to NFS file systems
41479         * tests/test-utimens.h (test_utimens): Refactor utimecmp
41480         comparisons to avoid spurious failures from timestamp drift
41481         between NFS machines.
41482
41483 2009-10-12  Eric Blake  <ebb9@byu.net>
41484
41485         stat-time-tests: minor cleanups
41486         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
41487         * tests/test-stat-time.c (nap): Separate assignment from call.
41488         Suggested by Paolo Bonzini and Bruno Haible.
41489
41490         sys_stat: guarantee struct timespec
41491         * lib/sys_stat.in.h (includes): Always include <time.h>
41492         * modules/sys_stat (Depends-on): Add time.
41493         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
41494         mode_t permission values.
41495         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
41496         get at subsecond timestamps.
41497
41498 2009-10-10  Eric Blake  <ebb9@byu.net>
41499
41500         futimens: new module
41501         * modules/futimens: New file.
41502         * lib/futimens.c (futimens): Likewise.
41503         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
41504         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
41505         we can work around Linux bugs.
41506         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41507         * modules/sys_stat (Makefile.am): Substitute them.
41508         * lib/sys_stat.in.h (futimens): Declare it.
41509         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41510         * doc/posix-functions/futimens.texi (futimens): Likewise.
41511         * modules/futimens-tests: New test.
41512         * tests/test-futimens.c: Likewise.
41513
41514         utimens: introduce fdutimens
41515         * lib/utimens.h (fdutimens): New prototype.
41516         * lib/utimens.c (gl_futimens): Move guts...
41517         (fdutimens): ...to new interface.
41518         * tests/test-utimens.c (do_fdutimens): Use it.
41519
41520         utimens: add UTIME_NOW and UTIME_OMIT support
41521         * lib/utimens.c (validate_timespec, update_timespec): New helper
41522         functions.
41523         (gl_futimens, lutimens): Use them.
41524         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
41525         stdbool, sys_stat.
41526         (Link): Mention resulting library dependency.
41527         * modules/utimecmp (Link): Likewise.
41528         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
41529         (Makefile.am): Pick up library dependency.
41530         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
41531         definition.
41532         * tests/test-sys_stat.c: Test the definitions.
41533         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
41534         * NEWS: Document library dependency.
41535
41536         utimecmp: support symlink timestamps
41537         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
41538         hashing when possible.  Use pathconf when available.
41539         (SYSCALL_RESOLUTION): Recognize tighter resolution.
41540         * modules/utimecmp (Depends-on): Add lstat.
41541
41542         utimens: add lutimens interface
41543         * lib/utimens.c (lutimens): New function.
41544         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
41545         * lib/utimens.h (lutimens): Declare new interface.
41546         * tests/test-utimens.c (main): Enhance test.
41547         * tests/test-lutimens.h (test_lutimens): New file.
41548         * modules/utimens-tests (Files): Distribute it.
41549         (Depends-on): Add symlink.
41550         (configure.ac): Check for usleep.
41551
41552         utimens: validate futimens usage
41553         * lib/utimens.c (gl_futimens): Require valid fd up front, using
41554         fewer syscalls on failure later on.  Avoid compiler warning on
41555         mingw.
41556         * modules/utimens (Depends-on): Add dup2.
41557
41558         utimens: add test
41559         * modules/utimens-tests: New test.
41560         * tests/test-utimens.h: New file.
41561         * tests/test-futimens.h: Likewise.
41562         * tests/test-utimens.c: Likewise.
41563
41564         doc: mention timestamp portability issues
41565         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
41566         instead.
41567         * doc/posix-functions/utime.texi (utime): Likewise.
41568         * doc/posix-functions/utimes.texi (utimes): Likewise.
41569         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
41570         instead.
41571         * doc/posix-functions/futimens.texi (futimens): Mention utimens
41572         module.
41573         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41574         Mention weakness with symlink timestamps.
41575         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
41576         to utimensat/futimens instead.
41577         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
41578
41579         test-dup2: enhance test
41580         * tests/test-dup2.c (main): Also check AT_FDCWD.
41581
41582         test-stat-time: avoid more spurious failures
41583         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
41584         xfs; and avoid race if the two timestamps cross quantization edge.
41585
41586         relocatable: prefer 'file system' over 'filesystem'
41587         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
41588         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
41589         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
41590         * doc/relocatable.texi (Enabling Relocatability): Likewise.
41591         * lib/relocatable.c (compute_curr_prefix): Likewise.
41592
41593 2009-10-10  Jim Meyering  <meyering@redhat.com>
41594
41595         stat-time-tests: check for the usleep function
41596         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
41597
41598 2009-10-10  Bruno Haible  <bruno@clisp.org>
41599
41600         * modules/xnanosleep: Put the Link section after the Include section.
41601
41602 2009-10-09  Eric Blake  <ebb9@byu.net>
41603
41604         dup2: work around FreeBSD 6.1 bug
41605         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
41606         * doc/posix-functions/dup2.texi (dup2): Document it.
41607         Reported by Nelson H. F. Beebe and Jim Meyering.
41608
41609         test-stat-time: port to buggy NFS clients
41610         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
41611         (test_ctime): Also skip test if mtime and ctime are skewed.
41612
41613         maint: prefer 'file system' over 'filesystem'
41614         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41615         * doc/posix-functions/lstat.texi (lstat): Likewise.
41616         * lib/file-has-acl.c (file_has_acl): Likewise.
41617         * lib/fwriteerror.c [TEST]: Likewise.
41618         * tests/test-areadlink.h (test_areadlink): Likewise.
41619         * tests/test-areadlinkat-with-size.c (main): Likewise.
41620         * tests/test-areadlinkat.c (main): Likewise.
41621         * tests/test-canonicalize-lgpl.c (main): Likewise.
41622         * tests/test-canonicalize.c (main): Likewise.
41623         * tests/test-fstatat.c (main): Likewise.
41624         * tests/test-linkat.c (main): Likewise.
41625         * tests/test-lstat.h (test_lstat_func): Likewise.
41626         * tests/test-mkdir.h (test_mkdir): Likewise.
41627         * tests/test-readlink.h (test_readlink): Likewise.
41628         * tests/test-remove.c (main): Likewise.
41629         * tests/test-rename.h (test_rename): Likewise.
41630         * tests/test-renameat.c (main): Likewise.
41631         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41632         * tests/test-symlink.h (test_symlink): Likewise.
41633         * tests/test-symlinkat.c (main): Likewise.
41634         * tests/test-unlink.h (test_unlink_func): Likewise.
41635         * tests/test-unlinkat.c (main): Likewise.
41636
41637         maint: make realtime library usage explicit
41638         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
41639         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
41640         * modules/settime (Link): Likewise.
41641         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
41642
41643         test-stat-time: speed up execution
41644         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
41645         warning on mingw.
41646         (nap): New helper function.
41647         (prepare_test): Use it to reduce sleep time.
41648         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
41649         execution.
41650         * modules/stat-time-tests (configure.ac): Check for usleep.
41651
41652 2009-10-09  Jim Meyering  <meyering@redhat.com>
41653
41654         selinux-h: always use getfilecon wrappers
41655         * lib/getfilecon.c: New file.
41656         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
41657         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
41658         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
41659         (fgetfilecon): Provide a stub.
41660         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
41661         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
41662         file unconditionally.
41663         When <selinux/selinux.h> is found, arrange to use wrappers.
41664         * modules/selinux-h (Files): Add getfilecon.c.
41665         (Makefile.am): Substitute include-next-related bits
41666         into the now-always-generated selinux/selinux.h file.
41667         * doc/glibc-functions/lgetfilecon.texi: New file.
41668         * doc/glibc-functions/fgetfilecon.texi: New file.
41669         * doc/glibc-functions/getfilecon.texi: New file.
41670         * doc/glibc-functions/getfilecon-desc.texi: New file.
41671         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
41672         which to pull in the new files.
41673         * MODULES.html.sh (Misc): Add selinux-h.
41674
41675 2009-10-08  Jim Meyering  <meyering@redhat.com>
41676
41677         unistd: fix comment typo
41678         * lib/unistd.in.h (euidaccess): Fix a comment typo.
41679
41680 2009-10-08  Eric Blake  <ebb9@byu.net>
41681
41682         areadlink: use SIZE_MAX consistently
41683         * modules/areadlink (Depends-on): Add stdint.
41684         * modules/areadlink-with-size (Depends-on): Likewise.
41685         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
41686         gives NULL; drop sys/types, since unistd gives size_t; and add
41687         stdint for SIZE_MAX.
41688         (SIZE_MAX): Rely on headers.
41689         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
41690         and add stdint.
41691         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
41692         (SIZE_MAX): Likewise.
41693         (INITIAL_BUF_SIZE): Turn into enum.
41694         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
41695
41696 2009-10-08  Jim Meyering  <meyering@redhat.com>
41697
41698         areadlinkat: avoid compilation failure
41699         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
41700         Fix typo in comment.
41701
41702 2009-10-07  Eric Blake  <ebb9@byu.net>
41703
41704         areadlinkat-with-size: new module
41705         * modules/areadlinkat-with-size: New module.
41706         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
41707         * lib/areadlink.h (areadlinkat): Declare it.
41708         * MODULES.html.sh (File system functions): Mention it.
41709         * modules/areadlinkat-with-size-tests: New test.
41710         * tests/test-areadlinkat-with-size.c: New file.
41711
41712         xreadlinkat: new module
41713         * modules/xreadlinkat: New module.
41714         * lib/xreadlinkat.c (xreadlinkat): New file.
41715         * lib/xreadlink.h (xreadlinkat): Declare it.
41716         * MODULES.html.sh (File system functions): Mention it.
41717
41718         areadlinkat: new module
41719         * lib/at-func.c (FUNC_FAIL): New define.
41720         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
41721         * modules/areadlinkat: New module.
41722         * lib/linkat.c (areadlinkat): Move...
41723         * lib/areadlinkat.c (areadlinkat): ...to new file.
41724         * lib/areadlink.h (areadlinkat): Declare it.
41725         * modules/linkat (Depends-on): Add areadlinkat.
41726         * MODULES.html.sh (File system functions): Mention it.
41727         * modules/areadlinkat-tests: New test.
41728         * tests/test-areadlinkat.c: New file.
41729
41730         areadlink, areadlink-with-size: add tests
41731         * modules/areadlink-tests: New test.
41732         * modules/areadlink-with-size-tests: Likewise.
41733         * tests/test-areadlink.h: New file.
41734         * tests/test-areadlink.c: Likewise.
41735         * tests/test-areadlink-with-size.c: Likewise.
41736
41737         maint: minor cleanups
41738         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
41739         _UNUSED_PARAMETER_ instead.
41740         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
41741         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
41742         * modules/linkat-tests (Files): Distribute test-link.h.
41743
41744         openat, utimens: whitespace cleanup
41745         * lib/openat.c: Prefer space throughout, rather than mix of 8
41746         spaces vs. tabs.
41747         * lib/at-func.c: Likewise.
41748         * lib/utimens.c: Likewise.
41749
41750         openat: avoid using wrong fd
41751         * lib/openat.c (openat_permissive): Reject user's fd if saving the
41752         working directory chooses same fd.
41753         * lib/at-func.c (AT_FUNC_NAME): Likewise.
41754
41755         mkdir, mkdirat: fix cygwin 1.5.x bug
41756         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
41757         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
41758         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
41759         bug.
41760         (gl_PREREQ_MKDIR): Delete unused macro.
41761         * modules/mkdir (Files): Track file rename.
41762         (configure.ac): Update macro name.
41763         * modules/openat (Depends-on): Add mkdir.
41764         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
41765
41766         mkdir, mkdirat: add tests
41767         * modules/mkdir-tests: New test.
41768         * tests/test-mkdir.h: New file.
41769         * tests/test-mkdir.c: Likewise.
41770         * tests/test-mkdirat.c: Likewise.
41771         * modules/openat-tests (Files): Add new files.
41772         (Makefile.am): Run new test.
41773
41774 2009-10-06  Eric Blake  <ebb9@byu.net>
41775
41776         doc: tweak *at function documentation
41777         * doc/posix-functions/faccessat.texi (faccessat): Mention
41778         known issue with replacement.
41779         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
41780         * doc/posix-functions/linkat.texi (linkat): Likewise.
41781         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41782         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41783         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41784         * doc/posix-functions/renameat.texi (renameat): Likewise.
41785         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41786
41787         openat: fix GNU/Hurd bug in unlinkat
41788         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
41789         broken.
41790         * doc/posix-functions/unlink.texi (unlink): Document this.
41791         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
41792
41793         fdopendir: fix GNU/Hurd bug
41794         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
41795         allowing non-directory fds.
41796         * lib/fdopendir.c (rpl_fdopendir): Work around it.
41797         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
41798         * modules/dirent (Makefile.am): Substitute it.
41799         * lib/dirent.in.h (fdopendir): Declare replacement.
41800         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
41801         * tests/test-fdopendir.c (main): Test something other than
41802         /dev/null, since on Hurd that behaves like a directory.
41803
41804         test-symlink: port to GNU/Hurd
41805         * tests/test-symlink.h (test_symlink): Relax expected errno.
41806
41807         doc: tweak more cygwin information
41808         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
41809         now compatible with glibc.
41810         * doc/posix-functions/getopt.texi (getopt): Likewise.
41811
41812         getopt-gnu: add another test
41813         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
41814         guarantee behavior relied on by m4.
41815         * tests/test-getopt.c (main): Use it.
41816         * modules/getopt-posix-tests (Depends-on): Add setenv.
41817         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
41818
41819         getopt: fix compilation on darwin
41820         * lib/getopt.in.h (includes): Leave breadcrumbs during system
41821         include.
41822         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
41823         Reported by Ludovic Courtès.
41824
41825 2009-10-06  Bruno Haible  <bruno@clisp.org>
41826
41827         * modules/size_max (Description): Discourage its use.
41828         Reported by Simon Josefsson.
41829
41830 2009-10-06  Jim Meyering  <meyering@redhat.com>
41831
41832         linkat: avoid compilation failure
41833         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
41834
41835 2009-10-05  Eric Blake  <ebb9@byu.net>
41836
41837         linkat: support Linux 2.6.17
41838         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
41839         linkat on Linux, but allow cache variable override.
41840         * lib/linkat.c (rpl_linkat): Define override.
41841         * modules/linkat (Depends-on): Add symlinkat.
41842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
41843         * modules/unistd (Makefile.am): Substitute it.
41844         * lib/unistd.in.h (linkat): Declare replacement.
41845         Reported by Pádraig Brady.
41846
41847         quotearg: port test to systems with C.UTF-8 locale
41848         * tests/test-quotearg.c (struct result_strings): Add another
41849         member, differentiating between C.ASCII and C.UTF-8 handling.
41850         (compare_strings): Add parameter.
41851         (main): Adjust all callers.
41852
41853         getopt: avoid clash with FreeBSD _getopt_internal
41854         * lib/getopt.in.h (_getopt_internal): Override the name.
41855         * lib/getopt_int.h (includes): Pick up any overrides.
41856         Reported by Reuben Thomas.
41857
41858         hash: allow C89 compilation
41859         * lib/hash.c (check_tuning): Move declaration before statement.
41860         Reported by Reuben Thomas.
41861
41862 2009-10-05  Karl Berry  <karl@gnu.org>
41863
41864         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
41865
41866 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
41867             Bruno Haible  <bruno@clisp.org>
41868
41869         * lib/uname.c (uname): Use a table-driven algorithm to compute
41870         Windows NT versions.
41871
41872 2009-10-04  Bruno Haible  <bruno@clisp.org>
41873
41874         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
41875         program_invocation_short_name.
41876         * modules/progname (configure.ac): Test for presence of
41877         program_invocation_short_name.
41878         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41879
41880 2009-10-04  Bruno Haible  <bruno@clisp.org>
41881
41882         * lib/progname.c (set_program_name): Fix comment.
41883         Reported by Jim Meyering.
41884
41885 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41886             Bruno Haible  <bruno@clisp.org>
41887
41888         * lib/uname.c: Include <string.h>.
41889         (uname): Do only one call to GetVersionEx in the common case.
41890
41891 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41892             Bruno Haible  <bruno@clisp.org>
41893
41894         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
41895         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
41896         (uname): Add support for Windows CE and various non-x86 CPU types.
41897
41898 2009-10-03  Bruno Haible  <bruno@clisp.org>
41899
41900         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
41901         invocation to tests/configure.ac.
41902         Reported by Ian Beckwith <ianb@erislabs.net>.
41903
41904 2009-10-02  Eric Blake  <ebb9@byu.net>
41905
41906         fchdir: avoid compiler warning
41907         * lib/fchdir.c (canonicalize_file_name)
41908         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
41909
41910         test-open: support mingw errno values
41911         * tests/test-open.h (test_open): Relax test.
41912         * tests/test-fopen.h (test_fopen): Likewise.
41913         * tests/test-openat-safer.c (main): Likewise.
41914
41915         open: fix opening directory on mingw
41916         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
41917
41918         test-open: on GNU/Hurd, /dev/null is a directory
41919         * tests/test-fopen.h (main): Rename...
41920         (test_fopen): ...to this.  Use a guaranteed non-directory when
41921         confirming open behavior on trailing slash.
41922         * tests/test-openat-safer.c (main): Likewise.
41923         * tests/test-open.h (main): Likewise....
41924         (test_open): ...to this.
41925         * tests/test-fopen.c (main): Adjust caller.
41926         * tests/test-fopen-safer.c (main): Likewise.
41927         * tests/test-open.c (main): Likewise.
41928         * tests/test-fcntl-safer.c (main): Likewise.
41929         Reported by Samuel Thibault.
41930
41931         rename, fchdir: don't ignore chdir failure
41932         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
41933         * lib/rename.c (rpl_rename) [W32]: Likewise.
41934         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
41935         an empty destination directory if source cannot be renamed,
41936         although there is still possibility for failure.
41937         * doc/posix-functions/rename.texi (rename): Document the race.
41938         Reported by Jim Meyering.
41939
41940         maint: cleanup whitespace in recent commits
41941         * lib/rename.c (rpl_rename): Remove tabs.
41942         * tests/test-link.h (test_link): Likewise.
41943         * lib/fchdir.c (get_name): Likewise.
41944         Reported by Jim Meyering.
41945
41946 2009-10-02  Ben Pfaff  <blp@gnu.org>
41947
41948         relocatable-prog-wrapper: Add missing dependency on
41949         double-slash-root.
41950         * modules/relocatable-prog-wrapper: Add dependency.
41951         Reported by Ian Beckwith <ianb@erislabs.net>.
41952
41953 2009-10-02  Eric Blake  <ebb9@byu.net>
41954
41955         renameat: fix Solaris bugs
41956         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
41957         needed fixing.
41958         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
41959         * modules/stdio (Makefile.am): Substitute it.
41960         * lib/stdio.in.h (renameat): Declare replacement.
41961         * lib/renameat.c (rpl_renameat): Implement fix.
41962
41963         renameat: new module
41964         * modules/renameat: New file.
41965         * lib/renameat.c (renameat): Likewise.
41966         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
41967         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41968         * modules/stdio (Makefile.am): Substitute them.
41969         * lib/stdio.in.h (renameat): Declare it.
41970         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41971         * doc/posix-functions/renameat.texi (renameat): Likewise.
41972         * modules/renameat-tests: New test.
41973         * tests/test-renameat.c: Likewise.
41974
41975         rename: fix mingw bugs
41976         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
41977         directory overwrite bugs.
41978
41979         rename: fix another cygwin 1.5 bug
41980         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
41981         checks.
41982         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
41983         unnecessary cygwin workarounds.  Also work around bug with moving
41984         full directory onto an empty one.
41985         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
41986
41987         rename-dest-slash: merge into rename module
41988         * modules/rename-dest-slash (Status): Mark obsolete.
41989         (Depends-on): Add rename.
41990         (Files): Let rename do it all.
41991         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
41992         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
41993         * m4/rename-dest-slash.m4: ...so this file can be deleted.
41994         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
41995         * lib/rename.c (rpl_rename): Update comments.
41996
41997         rename: fix cygwin 1.5.x bugs
41998         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
41999         * lib/rename.c (rpl_rename): Work around them.
42000         * modules/rename (Depends-on): Add same-inode.
42001
42002         rename: fix Solaris 10 bug
42003         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42004         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
42005         was the only bug.
42006
42007         rename: fix Solaris 9 bug
42008         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
42009         on non-directory.  Avoid calling exit.
42010         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
42011         strdup.
42012         * modules/rename-tests (Depends-on): Drop lstat.
42013         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42014         (gl_PREREQ_RENAME): Delete unused macro.
42015
42016         rename-dest-slash: fix NetBSD bug
42017         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
42018         links.
42019         * modules/rename-dest-slash (Depends-on): Add same-inode.
42020
42021         rename-tests: new test, exposes several platform bugs
42022         * modules/rename-tests: New file.
42023         * tests/test-rename.h: Likewise.
42024         * tests/test-rename.c: Likewise.
42025         * doc/posix-functions/rename.texi (rename): Improve documentation,
42026         including bugs that will eventually be fixed in gnulib.
42027
42028 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
42029
42030         * lib/uname.c: Include <stdlib.h>
42031         (uname): Assume version info is available.
42032
42033 2009-10-02  Jim Meyering  <meyering@redhat.com>
42034
42035         gnu-web-doc-update: correct --help output
42036         * build-aux/gnu-web-doc-update: Make --help output relevant.
42037
42038         gnu-web-doc-update: add standard options
42039         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
42040
42041         gnu-web-doc-update: New module.
42042         Use this script to automatically update the on-line web documentation
42043         for your GNU project at http://www.gnu.org/software/$pkg/manual/
42044         * modules/gnu-web-doc-update: New file, from coreutils.
42045         * build-aux/gnu-web-doc-update: New script.
42046
42047 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
42048
42049         link: LoadLibrary is not needed.
42050         * lib/link.c: Use GetModuleHandle.
42051
42052 2009-10-01  Eric Blake  <ebb9@byu.net>
42053
42054         getopt: bump serial number
42055         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
42056         change.
42057
42058         tests: tighten link, rmdir, and remove tests
42059         * tests/test-link.h (includes): No need to use <config.h> here.
42060         Clean up if directory hard link was created, otherwise test for
42061         trailing '.'.
42062         * tests/test-linkat.c (main): Simplify.
42063         * tests/test-remove.c (main): Enhance test for trailing '.'.
42064         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42065
42066 2009-10-01  Jim Meyering  <meyering@redhat.com>
42067
42068         maint.mk: requiring "make major" was annoying, for a "minor" release.
42069         What is intended is "stable", to contrast with alpha and beta,
42070         so require "make stable", not "make major".
42071         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
42072         (get_tool_versions): Likewise.
42073         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
42074
42075 2009-09-30  Ben Pfaff  <blp@gnu.org>
42076
42077         Fix broken build of replacement for Windows tmpfile().
42078         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
42079         flags argument added along with the 'mkostemp' module.
42080
42081 2009-09-28  Bruno Haible  <bruno@clisp.org>
42082
42083         Avoid identifier clash with POSIX function 'remove' defined as a macro.
42084         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
42085         to 'remove_elt'.
42086         (gl_list_remove): Update.
42087         * lib/gl_list.c (gl_list_remove): Update.
42088         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
42089         to 'remove_elt'.
42090         (gl_oset_remove): Update.
42091         * lib/gl_list.c (gl_oset_remove): Update.
42092         Reported by Eric Blake.
42093
42094 2009-09-28  Eric Blake  <ebb9@byu.net>
42095
42096         doc: mention yet more cygwin 1.7 status
42097         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
42098         cygwin.
42099         * doc/glibc-functions/execvpe.texi (execvpe): New file.
42100         * doc/gnulib.texi (Glibc unistd.h): Mention it.
42101
42102         argp: fix test failure
42103         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
42104         that are not upper-case.  Pass correct range to tolower.
42105
42106 2009-09-27  Jim Meyering  <meyering@redhat.com>
42107
42108         test-yesno: work around sparc-dash here-document infelicity
42109         Without this change, the literal \177 byte in a here document
42110         would make dash 0.5.5.1-3 access uninitialized memory.
42111         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
42112         Instead, use a marker, "@", and filter through tr to create the desired
42113         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
42114
42115 2009-09-27  Bruno Haible  <bruno@clisp.org>
42116
42117         Disable untested support for new flavours of ACLs on AIX.
42118         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
42119         progress.
42120         * lib/set-mode-acl.c (qset_acl): Likewise.
42121
42122 2008-12-07  Bruno Haible  <bruno@clisp.org>
42123
42124         Add support for new flavours of ACLs on AIX. (Untested.)
42125         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
42126         (file_has_acl): Add support for newer AIX.
42127         * lib/set-mode-acl.c (qset_acl): Likewise.
42128         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
42129         Rainer Tammer <tammer@tammer.net>.
42130
42131 2009-09-26  Eric Blake  <ebb9@byu.net>
42132
42133         argp: fix compilation of getopt
42134         * lib/getopt.in.h (includes): Use different guard than glibc.
42135         Reported by Sergey Poznyakoff.
42136
42137         doc: mention more cygwin 1.7 status
42138         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
42139         bug.
42140         * doc/posix-functions/execl.texi (execl): Likewise.
42141         * doc/posix-functions/execle.texi (execle): Likewise.
42142         * doc/posix-functions/execlp.texi (execlp): Likewise.
42143         * doc/posix-functions/execv.texi (execv): Likewise.
42144         * doc/posix-functions/execve.texi (execve): Likewise.
42145         * doc/posix-functions/execvp.texi (execvp): Likewise.
42146         * doc/glibc-functions/canonicalize_file_name.texi
42147         (canonicalize_file_name): Cygwin 1.7 now provides this.
42148         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
42149         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
42150         on AT_SYMLINK_NOFOLLOW.
42151
42152 2009-09-24  Eric Blake  <ebb9@byu.net>
42153
42154         test-linkat: make test more robust
42155         * tests/test-linkat.c (main): Avoid collision with EEXIST.
42156
42157         getopt: fix inclusion guards for cygwin
42158         * modules/getopt-posix (Depends-on): Add include-next.
42159         (Makefile.am): Substitute more items in replacement header.
42160         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
42161         <getopt.h>.
42162         * lib/getopt.in.h (includes): Use split inclusion guard, and
42163         prefer <getopt.h> over include <unistd.h> when one is present.
42164         (option): Also override name of 'struct option'.
42165
42166         same-inode: revert prior change; it is not yet ready
42167         * NEWS: Undo mention of this change.
42168         * lib/same-inode.h (same-inode.h): Undo tri-state change.
42169         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42170         * lib/cycle-check.c (cycle_check): Likewise.
42171         * lib/same.c (same_name): Likewise.
42172         * lib/at-func2.c (at_func2): Likewise.
42173
42174 2009-09-23  Eric Blake  <ebb9@byu.net>
42175
42176         linkat: new module
42177         * modules/linkat: New file.
42178         * lib/at-func2.c (at_func2): Likewise.
42179         * lib/linkat.c (linkat): Likewise.
42180         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
42181         * lib/openat-priv.h (at_func2): Add declaration.
42182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42183         * modules/unistd (Makefile.am): Substitute them.
42184         * lib/unistd.in.h (linkat): Declare it.
42185         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42186         * doc/posix-functions/linkat.texi (linkat): Likewise.
42187         * doc/posix-functions/link.texi (link): Tweak wording.
42188         * tests/test-link.c (main): Move guts...
42189         * tests/test-link.h (test_link): ...into new file.
42190         * modules/linkat-tests: New test.
42191         * tests/test-linkat.c: Likewise.
42192         * modules/link-tests (Files): Ship new file.
42193         (Depends-on): Add stdbool.
42194
42195         dirname: add library-safe mdir_name
42196         * lib/dirname.h (mdir_name): New prototype.
42197         * lib/dirname.c (dir_name): Move guts...
42198         (mdir_name): ...to new function that avoids xalloc_die.
42199
42200         fchdir: another mingw fix
42201         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
42202         * lib/fchdir.c (get_name): New helper method; skips canonicalize
42203         on mingw (where it has not yet been ported), and make it optional
42204         elsewhere.
42205         (_gl_register_fd): Use it.
42206
42207         same-inode: make SAME_INODE tri-state, to port to mingw
42208         * NEWS: Mention this change.
42209         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
42210         st_ino always being 0.
42211         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42212         * lib/cycle-check.c (cycle_check): Likewise.
42213         * lib/same.c (same_name): Likewise.
42214
42215         lstat: avoid mingw compilation error
42216         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
42217         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
42218         lstat ourselves.
42219         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
42220         was adequate.
42221         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
42222         the checks for lstat.
42223         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
42224
42225         link: fix test failure on Solaris 9
42226         * lib/link.c (rpl_link): Don't assume link will catch bogus
42227         trailing slash on source.
42228
42229         test-symlinkat: enhance test
42230         * tests/test-readlink.c (main): Move guts...
42231         * tests/test-readlink.h (test_readlink): ...into new file.
42232         * tests/test-symlink.c (main): Move guts...
42233         * tests/test-symlink.h (test_symlink): ...into new file.
42234         * tests/test-symlinkat.c (main): Use new files for further
42235         coverage.
42236         (do_symlink, do_readlink): New helper functions.
42237         * modules/symlink-tests (Files): Ship new file.
42238         (Depends-on): Add stdbool.
42239         * modules/readlink-tests (Files): Ship new file.
42240         (Depends-on): Add stdbool.
42241         * modules/symlinkat-tests (Files): Use new files.
42242
42243 2009-09-23  Eric Blake  <ebb9@byu.net>
42244
42245         readlink: document portability issue with symlink length
42246         * doc/posix-functions/lstat.texi (lstat): Mention that some file
42247         systems have bogus st_size on symlinks, and mention the
42248         areadlink-with-size module.
42249         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42250         * doc/posix-functions/readlink.texi (readlink): Mention the
42251         areadlink module, and ERANGE failure.
42252         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42253         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
42254
42255         readlink: fix Solaris 9 bug with trailing slash
42256         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
42257         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
42258         * doc/posix-functions/readlink.texi (readlink): Document this.
42259         * modules/readlink-tests: New test.
42260         * tests/test-readlink.c: Likewise.
42261
42262         readlink: fix cygwin 1.5.x bug with return type
42263         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
42264         * lib/unistd.in.h (readlink): Use ssize_t.
42265         * lib/readlink.c (readlink): Likewise.
42266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42267         * modules/unistd (Makefile.am): Substitute it.
42268         * lib/unistd.in.h (readlink): Declare replacement.
42269         * doc/posix-functions/readlink.texi (readlink): Document this.
42270
42271         symlink: use throughout gnulib
42272         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
42273         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
42274         symlink is not used.
42275         * modules/symlinkat (Depends-on): Add symlink.
42276         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42277         * modules/canonicalize-tests (Depends-on): Likewise.
42278         * modules/lstat-tests (Depends-on): Likewise.
42279         * modules/openat-tests (Depends-on): Likewise.
42280         * modules/remove-tests (Depends-on): Likewise.
42281         * modules/rmdir-tests (Depends-on): Likewise.
42282         * modules/unlink-tests (Depends-on): Likewise.
42283         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
42284         * tests/test-canonicalize.c (symlink): Likewise.
42285         * tests/test-fstatat.c (symlink): Likewise.
42286         * tests/test-lstat.c (symlink): Likewise.
42287         * tests/test-remove.c (symlink): Likewise.
42288         * tests/test-rmdir.c (symlink): Likewise.
42289         * tests/test-unlink.c (symlink): Likewise.
42290         * tests/test-unlinkat.c (symlink): Likewise.
42291
42292         symlink: new module, for Solaris 9 bug
42293         * modules/symlink: New file.
42294         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
42295         * lib/symlink.c: Likewise.
42296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42297         * modules/unistd (Makefile.am): Substitute them.
42298         * lib/unistd.in.h (symlink): Declare replacement.
42299         * MODULES.html.sh (File system functions): Mention it.
42300         * doc/posix-functions/symlink.texi (symlink): Likewise.
42301         * modules/symlink-tests: New test.
42302         * tests/test-symlink.c: Likewise.
42303
42304 2009-09-23  Bruno Haible  <bruno@clisp.org>
42305
42306         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
42307         when needed.
42308         Test case: gnulib-tool --import --with-tests atexit inttypes.
42309         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
42310
42311 2009-09-23  Bruno Haible  <bruno@clisp.org>
42312
42313         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
42314         subcommand, not in a subshell.
42315
42316 2009-09-22  Eric Blake  <ebb9@byu.net>
42317
42318         unistd: sort replacement declarations
42319         * lib/unistd.in.h: Sort declarations.
42320
42321         open, openat: minor optimization
42322         * lib/open.c (open): If open succeeded, len is non-zero.
42323         * lib/openat.c (rpl_openat): Likewise.
42324
42325         link-follow: ensure correct result
42326         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
42327         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
42328         distinguish between possible failures.
42329
42330 2009-09-21  Eric Blake  <ebb9@byu.net>
42331
42332         fts: avoid compiler warning
42333         * lib/fts.c (dirent_inode_sort_may_be_useful)
42334         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
42335
42336 2009-09-19  Bruno Haible  <bruno@clisp.org>
42337
42338         * lib/progreloc.c (canonicalize_file_name): New declaration.
42339
42340 2009-09-19  Eric Blake  <ebb9@byu.net>
42341
42342         link: fix quoting
42343         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
42344
42345         openat: fix openat bugs on Solaris 9
42346         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
42347         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
42348         * modules/openat (Depends-on): Add open.
42349         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
42350         * modules/fcntl-h (Makefile.am): Substitute it.
42351         * lib/fcntl.in.h (openat): Declare replacement.
42352         * doc/posix-functions/openat.texi (openat): Document this.
42353
42354         openat: move fstatat and unlinkat into correct files
42355         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
42356         compiled.
42357         * lib/openat.c (fstatat, unlinkat): Move...
42358         * lib/fstatat.c (fstatat): ...into correct files.
42359         * lib/unlinkat.c (unlinkat): Likewise.
42360
42361         openat: fix unlinkat bugs on Solaris 9
42362         * lib/unlinkat.c (unlinkat): New file.
42363         * modules/openat (Depends-on): Add unlink.
42364         (Files): Distribute it.
42365         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
42366         trailing slash behavior is broken.
42367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42368         * modules/unistd (Makefile.am): Substitute it.
42369         * lib/unistd.in.h (unlinkat): Declare replacement.
42370         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
42371
42372         openat: fix fstatat bugs on Solaris 9
42373         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
42374         stat.
42375         * doc/posix-functions/fstatat.texi (fstatat): Document this.
42376
42377         test-unlinkat: enhance test, to expose Solaris 9 bug
42378         * tests/test-unlink.c (main): Factor guts...
42379         * tests/test-unlink.h (test_rmdir_func): ...into new file.
42380         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
42381         * tests/test-rmdir.c (main): Adjust caller.
42382         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
42383         (unlinker): New helper function.
42384         (rmdirat): Enhance check.
42385         * modules/rmdir-tests (Depends-on): Add stdbool.
42386         * modules/unlink-tests (Depends-on): Likewise.
42387         (Files): Add test-unlink.h.
42388         * modules/openat-tests (Files): Likewise.
42389         (Depends-on): Add unlinkdir.
42390
42391         test-fstatat: new test, to expose Solaris 9 bugs
42392         * tests/test-stat.c (main): Factor guts...
42393         * tests/test-stat.h (test_stat_func): ...into new file.
42394         * tests/test-lstat.c (main): Factor guts...
42395         * tests/test-lstat.h (test_lstat_func): ...into new file.
42396         * tests/test-fstatat.c: New file.
42397         * modules/stat-tests (Files): Add test-stat.h.
42398         * modules/lstat-tests (Files): Add test-lstat.h.
42399         (Depends-on): Add stdbool.
42400         * modules/openat-tests (Depends-on): Add pathmax.
42401         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
42402         (Makefile.am): Run new test.
42403
42404         remove: new module, for mingw and Solaris 9 bugs
42405         * modules/remove: New file.
42406         * lib/remove.c: Likewise.
42407         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
42408         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42409         * modules/stdio (Makefile.am): Use them.
42410         * lib/stdio.in.h (remove): Declare replacement.
42411         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42412         * doc/posix-functions/remove.texi (remove): Likewise.
42413         * modules/remove-tests: New test.
42414         * tests/test-remove.c: Likewise.
42415
42416         unlink: new module, for Solaris 9 bug
42417         * modules/unlink: New file.
42418         * lib/unlink.c: Likewise.
42419         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
42420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42421         * modules/unistd (Makefile.am): Use them.
42422         * lib/unistd.in.h (stat): Declare replacement.
42423         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42424         * doc/posix-functions/unlink.texi (unlink): Likewise.
42425         * modules/unlink-tests: New test.
42426         * tests/test-unlink.c: Likewise.
42427
42428         lstat: fix Solaris 9 bug
42429         * lib/lstat.c (lstat): Also check for trailing slash on
42430         non-symlink, non-directories.  Use stat module to simplify logic.
42431         * doc/posix-functions/lstat.texi (lstat): Document it.
42432         * modules/lstat-tests (Depends-on): Add errno, same-inode.
42433         (configure.ac): Check for symlink.
42434         * tests/test-lstat.c (main): Add more tests.
42435
42436         stat: add as dependency to other modules
42437         * modules/chown (Depends-on): Add stat.
42438         * modules/euidaccess (Depends-on): Likewise.
42439         * modules/fchdir (Depends-on): Likewise.
42440         * modules/isdir (Depends-on): Likewise.
42441         * modules/link (Depends-on): Likewise.
42442         * modules/lstat (Depends-on): Likewise.
42443         * modules/mkdir-p (Depends-on): Likewise.
42444         * modules/modechange (Depends-on): Likewise.
42445         * modules/open (Depends-on): Likewise.
42446         * modules/readlink (Depends-on): Likewise.
42447         * modules/same (Depends-on): Likewise.
42448
42449         stat: fix Solaris 9 bug
42450         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
42451         slash.
42452         * lib/stat.c (rpl_stat): Work around it.
42453         * doc/posix-functions/stat.texi (stat): Update documentation.
42454
42455         stat: new module, for mingw bug
42456         * modules/stat: New file.
42457         * lib/stat.c: Likewise.
42458         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
42459         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42460         * modules/sys_stat (Makefile.am): Use them.
42461         * lib/sys_stat.in.h (stat): Declare replacement.
42462         * lib/openat.c (fstatat): Deal with lstat and stat being function
42463         macros.
42464         * modules/openat (Depends-on): Add inline.
42465         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42466         * doc/posix-functions/stat.texi (stat): Likewise.
42467         * modules/stat-tests: New test.
42468         * tests/test-stat.c: Likewise.
42469
42470 2009-09-19  Jim Meyering  <meyering@redhat.com>
42471
42472         syntax-check: detect unnecessary inclusion of canonicalize.h
42473         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
42474
42475 2009-09-19  Eric Blake  <ebb9@byu.net>
42476
42477         canonicalize-lgpl: adjust clients to use correct header
42478         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42479         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
42480         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
42481         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
42482         * lib/progreloc.c (includes): Likewise.
42483
42484 2009-09-19  Jim Meyering  <meyering@redhat.com>
42485
42486         test-posixtm.c: correct a comment
42487         * tests/test-posixtm.c: Correct first-line comment.
42488         Spotted by Eric Blake.
42489
42490 2009-09-16  Jim Meyering  <meyering@redhat.com>
42491
42492         posixtm-tests: make T const-correct; add a test case
42493         * tests/test-posixtm.c (T): Declare const.
42494         Add a test for -(2^31+1).
42495         Remove useless can-succeed-only-in-2002 test.
42496
42497         posixtm-tests: adjust the sole failing test
42498         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
42499         expected output matches what mktime now produces.  Cross-checked via
42500         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
42501
42502         posixtm: move #ifdef'd tests into a new module
42503         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
42504         * tests/test-posixtm.c: ... this new file.
42505         * modules/posixtm-tests: New module.
42506
42507 2009-09-19  Eric Blake  <ebb9@byu.net>
42508
42509         openat: simplify use of at-func.c
42510         * lib/at-func.c (includes): Include prerequisites here, to
42511         simplify requirements on client files.
42512         * lib/openat-priv.h: Add double-inclusion guard.
42513         * lib/faccessat.c (includes): Simplify.
42514         * lib/fchmodat.c (includes): Likewise.
42515         * lib/fchownat.c (includes): Likewise.
42516         * lib/mkdirat.c (includes): Likewise.
42517         * lib/mkfifoat.c (includes): Likewise.
42518         * lib/symlinkat.c (includes): Likewise.
42519
42520         openat: allow return of fd 0
42521         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
42522         * modules/save-cwd (Depends-on): Replace fcntl-safer with
42523         unistd-safer.
42524         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
42525         <fcntl.h>; this module does not leak fds.
42526         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
42527         must be allowed to return 0, leaving openat_safer to add the
42528         safety.
42529         (openat_permissive): Avoid writing to just-opened fd 2 if
42530         restoring the current directory fails.
42531         * lib/openat-die.c (openat_restore_fail): Add comment.
42532         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
42533         (save_cwd): Guarantee safe fd, but without use of open_safer.
42534         * tests/test-openat.c: New test.
42535         * modules/openat-tests (Files, Makefile.am): Distribute and build
42536         new file.
42537
42538         relocatable-prog-wrapper: fix build
42539         * modules/relocatable-prog-wrapper (Files): Update name of
42540         canonicalize m4 file, broken on 2009-09-17.
42541         Reported by emad hajjar <aleppos@hotmail.com>.
42542
42543 2009-09-19  Bruno Haible  <bruno@clisp.org>
42544
42545         * lib/safe-alloc.h: Use the standard header with GPL copyright.
42546         * lib/safe-alloc.c: Likewise.
42547         Reported by Ian Beckwith <ianb@erislabs.net>.
42548
42549 2009-09-18  Bruno Haible  <bruno@clisp.org>
42550
42551         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
42552         Reported by <erobles@sensacd.com.mx>.
42553
42554 2009-09-17  Eric Blake  <ebb9@byu.net>
42555
42556         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
42557         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
42558         slashes when checking if last component is missing.
42559         * tests/test-canonicalize.c (main): Test this.
42560
42561         canonicalize, canonicalize-lgpl: honor // if distinct from /
42562         * modules/canonicalize (Files): Add double-slash-root.m4.
42563         * modules/canonicalize-lgpl (Files): Likewise.
42564         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42565         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
42566         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
42567         fallback definition.
42568         (canonicalize_filename_mode): Use it to protect //.
42569         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
42570         (__realpath): Likewise.
42571         * tests/test-canonicalize.c (main): Test this.
42572         * tests/test-canonicalize-lgpl.c (main): Likewise.
42573         * modules/canonicalize-tests (Depends-on): Add same-inode.
42574         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42575
42576         canonicalize-lgpl: fix glibc bug with trailing slash
42577         * m4/canonicalize-lgpl.m4: Move contents...
42578         * m4/canonicalize.m4: ...here.
42579         (gl_CANONICALIZE_LGPL): Factor realpath check...
42580         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
42581         glibc 2.3.5 bug, fixed 2005-04-27.
42582         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
42583         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
42584         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
42585         * modules/canonicalize-lgpl (Files): Manage file rename.
42586         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42587         * modules/stdlib (Makefile.am): Substitute witness.
42588         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
42589         is needed.
42590         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
42591         replacement is required.
42592         * lib/canonicalize.c (canonicalize_file_name): Likewise.
42593         * doc/glibc-functions/canonicalize_file_name.texi
42594         (canonicalize_file_name): Document this.
42595         * doc/posix-functions/realpath.texi (realpath): Likewise.
42596
42597         canonicalize-lgpl: reject non-directory with trailing slash
42598         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
42599         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
42600         catches failures in glibc 2.3.5.
42601         * tests/test-canonicalize.c (main): Likewise.
42602
42603         canonicalize-lgpl: use native realpath if it works
42604         * lib/canonicalize-lgpl.c (realpath): Guard with
42605         FUNC_REALPATH_WORKS.
42606         * lib/stdlib.in.h (realpath): Make declaration optional based on
42607         HAVE_REALPATH.
42608         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
42609         native realpath works.
42610         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42611         * modules/stdlib (Makefile.am): Substitute witness.
42612
42613         canonicalize, canonicalize-lgpl: use <stdlib.h>
42614         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
42615         (Include): Mention <stdlib.h>.
42616         (configure.ac): Mention functions we provide.
42617         * modules/canonicalize (configure.ac): Likewise.
42618         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
42619         realpath if canonicalize_file_name is missing.
42620         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
42621         * modules/stdlib (Makefile.am): Substitute witnesses.
42622         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
42623         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
42624         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
42625         * NEWS: Document this.
42626         * doc/glibc-functions/canonicalize_file_name.texi
42627         (canonicalize_file_name): Likewise.
42628         * doc/posix-functions/realpath.texi (realpath): Likewise.
42629         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
42630
42631         test-canonicalize: consolidate into single C program
42632         * tests/test-canonicalize.sh: Delete; move setup into...
42633         * tests/test-canonicalize.c (main): ...the program, making it
42634         easier to run in debugger.  Add some tests.
42635         * modules/canonicalize-tests (Files): Remove unused file.
42636         (Depends-on): Add progname.
42637         (configure.ac, Makefile.am): Simplify.
42638
42639         test-canonicalize-lgpl: consolidate into single C program
42640         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
42641         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
42642         easier to run in debugger.  Add some tests.
42643         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
42644         (configure.ac, Makefile.am): Simplify.
42645
42646         canonicalize: avoid resolvepath
42647         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
42648         unnecessary checks.
42649         * lib/canonicalize.c (includes): Simplify.
42650         (canonicalize_file_name): Drop resolvepath implementation.
42651         * modules/canonicalize (Depends-on): Drop filenamecat.
42652
42653         canonicalize: don't lose errno
42654         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
42655         over calls to free.
42656
42657         canonicalize: simplify errno handling
42658         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
42659         assignment.
42660
42661         canonicalize, canonicalize-lgpl: update module dependencies
42662         * modules/canonicalize (Depends-on): Add extensions, lstat,
42663         pathmax, stdlib.
42664         (Files): Drop pathmax.h.
42665         (configure.ac): Adjust macro name.
42666         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
42667         lstat, stdlib, sys_stat.
42668         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
42669         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
42670         extensions.
42671         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
42672         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
42673         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
42674         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
42675         declaration, if available.
42676         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
42677         we can rely on the readlink module.
42678         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
42679         (includes): Use <unistd.h> unconditionally.
42680
42681 2009-09-17  Eric Blake  <ebb9@byu.net>
42682
42683         maint: make Include sections of modules consistent
42684         * modules/alloca: Use only header name; no need to list #include.
42685         * modules/alloca-opt: Likewise.
42686         * modules/arpa_inet: Likewise.
42687         * modules/canon-host: Likewise.
42688         * modules/configmake: Likewise.
42689         * modules/dirent: Likewise.
42690         * modules/eealloc: Likewise.
42691         * modules/environ: Likewise.
42692         * modules/fchdir: Likewise.
42693         * modules/fcntl: Likewise.
42694         * modules/fcntl-h: Likewise.
42695         * modules/gethrxtime: Likewise.
42696         * modules/gettime: Likewise.
42697         * modules/ignore-value: Likewise.
42698         * modules/inet_ntop: Likewise.
42699         * modules/inet_pton: Likewise.
42700         * modules/inttypes: Likewise.
42701         * modules/isnand-nolibm: Likewise.
42702         * modules/isnanf-nolibm: Likewise.
42703         * modules/mbchar: Likewise.
42704         * modules/mbfile: Likewise.
42705         * modules/mbiter: Likewise.
42706         * modules/mbuiter: Likewise.
42707         * modules/netdb: Likewise.
42708         * modules/netinet_in: Likewise.
42709         * modules/nproc: Likewise.
42710         * modules/pagealign_alloc: Likewise.
42711         * modules/poll: Likewise.
42712         * modules/printf-frexp: Likewise.
42713         * modules/pthread: Likewise.
42714         * modules/putenv: Likewise.
42715         * modules/random_r: Likewise.
42716         * modules/relocatable-prog: Likewise.
42717         * modules/search: Likewise.
42718         * modules/select: Likewise.
42719         * modules/selinux-h: Likewise.
42720         * modules/settime: Likewise.
42721         * modules/signal: Likewise.
42722         * modules/size_max: Likewise.
42723         * modules/socklen: Likewise.
42724         * modules/ssize_t: Likewise.
42725         * modules/stdarg: Likewise.
42726         * modules/stdbool: Likewise.
42727         * modules/stddef: Likewise.
42728         * modules/stdint: Likewise.
42729         * modules/stdio: Likewise.
42730         * modules/stdlib: Likewise.
42731         * modules/string: Likewise.
42732         * modules/strings: Likewise.
42733         * modules/sys_file: Likewise.
42734         * modules/sys_ioctl: Likewise.
42735         * modules/sys_select: Likewise.
42736         * modules/sys_socket: Likewise.
42737         * modules/sys_stat: Likewise.
42738         * modules/sys_time: Likewise.
42739         * modules/sys_times: Likewise.
42740         * modules/sys_utsname: Likewise.
42741         * modules/sys_wait: Likewise.
42742         * modules/sysexits: Likewise.
42743         * modules/time: Likewise.
42744         * modules/times: Likewise.
42745         * modules/tmpfile: Likewise.
42746         * modules/trim: Likewise.
42747         * modules/unistd: Likewise.
42748         * modules/wchar: Likewise.
42749         * modules/wctype: Likewise.
42750
42751 2009-09-17  Bruno Haible  <bruno@clisp.org>
42752
42753         Make getdate.y compile on QNX and NetBSD 5 / i386.
42754         * m4/getdate.m4 (gl_GETDATE): Conditionally define
42755         TIME_T_FITS_IN_LONG_INT.
42756         * lib/getdate.y (long_time_t): New type.
42757         (relative_time): Change type of 'seconds' field to long_time_t.
42758         (get_date): Update types of local variables. Check against overflow
42759         during conversion from long_time_t to time_t.
42760         Reported by Matt Kraai <kraai@ftbfs.org>
42761         and Hasso Tepper <hasso@netbsd.org>.
42762
42763 2009-09-17  Bruno Haible  <bruno@clisp.org>
42764
42765         * modules/COPYING: Update copyright years.
42766         * modules/README: Likeiwse.
42767         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
42768         Reported by Ian Beckwith <ianb@erislabs.net>.
42769
42770 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42771
42772         * users.txt: Update references for gnuit package.
42773
42774 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42775
42776         * m4/getdelim.m4: Fix typo in copyright line.
42777
42778 2009-09-17  Bruno Haible  <bruno@clisp.org>
42779
42780         * lib/atoll.c: Use the standard header with GPL copyright.
42781         * lib/argz.in.h: Likewise.
42782         * lib/glob.c: Likewise.
42783         * lib/glob-libc.h: Likewise.
42784         * lib/random_r.c: Likewise.
42785         * lib/siglist.h: Likewise.
42786         * lib/strsignal.c: Likewise.
42787         Reported by Ian Beckwith <ianb@erislabs.net>.
42788
42789 2009-09-17  Eric Blake  <ebb9@byu.net>
42790
42791         rmdir: ensure correct dependency order
42792         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
42793
42794 2009-09-17  Bruno Haible  <bruno@clisp.org>
42795
42796         Disable assertion that fails on NetBSD 5 / i386.
42797         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
42798         Reported by Sam Steingold <sds@gnu.org>
42799         and Hasso Tepper <hasso@netbsd.org>.
42800
42801 2009-09-16  Eric Blake  <ebb9@byu.net>
42802
42803         unlinkdir: port to mingw
42804         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
42805         on which no one can unlink a directory.
42806
42807         stdlib: sort witness names
42808         * modules/stdlib (Makefile.am): Sort replacements.
42809         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42810         * lib/stdlib.in.h: Likewise.
42811
42812         parse-duration-tests: avoid link failure
42813         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
42814         LIBINTL.
42815         Reported by Tom G. Christensen.
42816
42817         openat-tests: ensure unlinkat behaves like rmdir
42818         * tests/test-rmdir.c (main): Factor guts...
42819         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
42820         * modules/rmdir-tests (Files): Ship new file.
42821         * modules/openat-tests: New test.
42822         * tests/test-unlinkat.c: Likewise.
42823
42824         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
42825         * modules/rmdir-errno (Status, Notice): Now obsolete.
42826
42827         rmdir: work around cygwin 1.5.x and mingw bugs
42828         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
42829         * lib/rmdir.c (rmdir): Work around it.
42830         * modules/rmdir (Status, Notice): No longer obsolete.
42831         (Files): Add dos.m4.
42832         (Depends-on): Add unistd.
42833         (configure.ac): Set witnesses.
42834         (License): Relax to LGPLv2+.
42835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
42836         * modules/unistd (Makefile.am): Substitute witnesses.
42837         * lib/unistd.in.h (rmdir): Declare replacement.
42838         * doc/posix-functions/rmdir.texi (rmdir): Document this.
42839         * modules/rmdir-tests: New tests.
42840         * tests/test-rmdir.c: Likewise.
42841
42842 2009-09-15  Eric Blake  <ebb9@byu.net>
42843
42844         fchdir: improve use of replacement functions
42845         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
42846         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
42847         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
42848         REPLACE_CLOSEDIR.
42849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
42850         * modules/sys_stat (Makefile.am): Substitute correct witness.
42851         * modules/dirent (Makefile.am): Likewise.
42852         * modules/unistd (Makefile.am): Likewise.
42853         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
42854         * lib/unistd.in.h (dup): Likewise.
42855         * lib/sys_stat.in.h (fstat): Likewise.
42856
42857         maint: ignore gnulib-tool temp files
42858         * .gitignore: Ignore files created during gnulib-tool --test.
42859
42860 2009-09-13  Jim Meyering  <meyering@redhat.com>
42861
42862         posixtm: don't reject a time that specify "60" as the number of seconds
42863         * lib/posixtm.c (posixtime): The code to reject invalid dates
42864         would also reject a time specified with the .60 suffix.
42865         But POSIX allows that, in order to accommodate leap seconds.
42866         So don't reject it.
42867         (main): Adjust tests accordingly.
42868         * modules/posixtm (Depends-on): Add stpcpy.
42869
42870 2009-09-11  Jim Meyering  <meyering@redhat.com>
42871
42872         announce-gen: include [$release_type] in emitted Subject:
42873         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
42874         e.g., [stable] in the emitted Subject: line.
42875
42876 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42877
42878         Remove obsolete macros from several modules.
42879         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
42880         obsolete Autoconf macros with their modern counterparts.
42881         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
42882         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
42883         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
42884         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
42885         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
42886         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42887         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42888         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42889         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
42890         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
42891         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42892         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42893         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
42894         * m4/sockets.m4 (gl_SOCKETS): Likewise.
42895         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
42896         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
42897         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
42898         * m4/time_r.m4 (gl_TIME_R): Likewise.
42899         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
42900         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
42901         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42902
42903         Fix copyright header in build-aux scripts.
42904         * build-aux/git-version-gen: Fix copyright header to match GPLv3
42905         recommendation.
42906         * build-aux/ncftpput-ftp: Likewise.
42907         * build-aux/update-copyright: Likewise.
42908
42909 2009-09-09  Eric Blake  <ebb9@byu.net>
42910
42911         test-link: allow Linux choice of errno
42912         * tests/test-link.c (main): Relax test for alternate error.
42913
42914         strndup: fix improper m4 caching
42915         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
42916         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
42917         (gl_PREREQ_STRNDUP): Delete.
42918         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
42919         * modules/string (Makefile.am): Substitute it.
42920         * lib/string.in.h (strndup): Modernize prototype.
42921
42922         getcwd: port to mingw
42923         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
42924         different from the POSIX assumptions made throughout the getcwd
42925         module; fortunately, the mingw getcwd does not need replacement.
42926         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
42927         * modules/getcwd-tests: New test.
42928         * tests/test-getcwd.c: Likewise.
42929
42930         link: fix platform bugs
42931         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
42932         * lib/link.c (link): Work around them.  Fix related mingw bug.
42933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
42934         * modules/unistd (Makefile.am): Substitute it.
42935         * lib/unistd.in.h (link): Declare replacement.
42936         * doc/posix-functions/link.texi (link): Document this.
42937         * modules/link (Depends-on): Add strdup-posix, sys_stat.
42938
42939         test-link: consolidate into single C program, test more cases
42940         * tests/test-link.sh: Delete.
42941         * tests/test-link.c: Test more error conditions.  Exposes bugs on
42942         at least Cygwin and Solaris.
42943         * modules/link-tests (Files): Remove unused file.
42944         (Depends-on): Add errno, sys_stat.
42945         (Makefile.am): Simplify.
42946
42947 2009-09-08  Bruno Haible  <bruno@clisp.org>
42948
42949         Work around towlower, towupper bug on mingw.
42950         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
42951         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
42952         * doc/posix-functions/towlower.texi: Mention the mingw bug.
42953         * doc/posix-functions/towupper.texi: Likewise.
42954         Reported by Eric Blake.
42955
42956 2009-09-08  Jim Meyering  <meyering@redhat.com>
42957
42958         build: don't try to run autoheader if we don't use it
42959         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
42960         is not used in configure.ac.
42961
42962 2009-09-08  Eric Blake  <ebb9@byu.net>
42963
42964         euidaccess: fix compilation error
42965         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
42966
42967         rawmemchr: relax license
42968         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
42969         okay.
42970         Reported by Jim Meyering.
42971
42972         mkfifoat: new module
42973         * modules/mkfifoat: New file.
42974         * lib/mkfifoat.c: Likewise.
42975         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
42976         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42977         * modules/sys_stat (Makefile.am): Use them.
42978         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
42979         * MODULES.html.sh (File system functions): Mention module.
42980         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42981         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42982         * modules/mkfifoat-tests: New test.
42983         * tests/test-mkfifoat.c: Likewise.
42984
42985         strchrnul: relax license
42986         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
42987         okay.
42988         Reported by Jim Meyering.
42989
42990 2009-09-08  Eric Blake  <ebb9@byu.net>
42991
42992         fstatat: fix compilation on Solaris
42993         * lib/fstatat.c (includes): Add fcntl.h.
42994         Reported by Pádraig Brady.
42995
42996 2009-09-07  Eric Blake  <ebb9@byu.net>
42997
42998         rename: modernize replacement
42999         * modules/rename (Depends-on): Add stdio.
43000         (configure.ac): Declare witness.
43001         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
43002         stdio take care of replacement.
43003         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
43004         * modules/stdio (Makefile.am): Substitute them.
43005         * lib/stdio.in.h (rename): Declare replacement.
43006         * lib/rename.c (includes): Allow cross-compilation to non-windows
43007         machines.
43008         * doc/posix-functions/rename.texi (rename): Improve
43009         documentation.
43010
43011         stdio: sort witness names
43012         * modules/stdio (Makefile.am): Sort replacements.
43013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43014         * lib/stdio.in.h: Likewise.
43015
43016         getcwd: minor cleanups
43017         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
43018         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
43019
43020         openat: provide more convenience names
43021         * modules/faccessat (configure.ac): Add C witness.
43022         * lib/unistd.in.h (readlinkat): Fix typo.
43023         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
43024         convenience wrappers.
43025         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
43026         wrappers in syntax checks.
43027
43028 2009-09-06  Eric Blake  <ebb9@byu.net>
43029
43030         doc: fix comments in recent patches
43031         * lib/faccessat.c: Mention correct function.
43032         * lib/fchmodat.c: Likewise.
43033         * lib/fchownat.c: Likewise.
43034         * lib/symlinkat.c: Likewise.
43035         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
43036         constants.
43037
43038         faccessat, symlinkat: continue cleanup of previous patch
43039         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
43040         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43041         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
43042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
43043         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
43044         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
43045         set.
43046
43047 2009-09-06  Bruno Haible  <bruno@clisp.org>
43048
43049         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
43050         (fstatat): Declare if GNULIB_FSTATAT is set.
43051         (mkdirat): Declare if GNULIB_MKDIRAT is set.
43052         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
43053         (unlinkat): Declare if GNULIB_UNLINKAT is set.
43054         * modules/fcntl-h (Files): Remove m4/openat.m4.
43055         * modules/sys_stat (Files): Remove m4/openat.m4.
43056         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
43057         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
43058         * modules/unistd (Files): Remove m4/openat.m4.
43059         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
43060         GNULIB_OPENAT.
43061         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
43062         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
43063         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
43064         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
43065         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
43066         gl_OPENAT_DEFAULTS.
43067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
43068         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
43069         Don't require gl_OPENAT_DEFAULTS.
43070         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
43071         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
43072         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
43073         (gl_OPENAT_DEFAULTS): Remove macro.
43074
43075 2009-09-06  Bruno Haible  <bruno@clisp.org>
43076
43077         * modules/openat (configure.ac): Remove unneeded witness.
43078
43079 2009-09-06  Bruno Haible  <bruno@clisp.org>
43080
43081         Set errno to ENOSYS when a function is entirely unsupported.
43082         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
43083         EOPNOTSUPP.
43084         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43085         * modules/chown (Depends-on): Remove errno.
43086
43087 2009-09-06  Bruno Haible  <bruno@clisp.org>
43088
43089         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
43090
43091 2009-09-06  Bruno Haible  <bruno@clisp.org>
43092
43093         * lib/sys_stat.in.h: Fix preprocessor command indentation.
43094
43095 2009-09-06  Ben Pfaff  <blp@gnu.org>
43096             Bruno Haible  <bruno@clisp.org>
43097
43098         Work around a glibc bug in strtok_r.
43099         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
43100         Undefine if UNDEFINE_STRTOK_R is set.
43101         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
43102         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43103         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
43104         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
43105         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
43106         UNDEFINE_STRTOK_R.
43107         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
43108
43109 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
43110
43111         exclude: minor fix
43112         * lib/exclude.c: Include wctype.h
43113
43114 2009-09-06  Akim Demaille  <demaille@gostai.com>
43115
43116         bootstrap: improve error message
43117         * build-aux/bootstrap (find_tool): Upon failure, report the list
43118         of candidates.
43119         Honor the initial value of the envvar.
43120
43121 2009-09-05  Eric Blake  <ebb9@byu.net>
43122
43123         symlinkat: new module
43124         * modules/symlinkat: New file.
43125         * lib/symlinkat.c: Likewise.
43126         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
43127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43128         * modules/unistd (Makefile.am): Use them.
43129         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
43130         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
43131         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
43132         * MODULES.html.sh (File system functions): Mention module.
43133         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43134         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43135         * modules/symlinkat-tests: New test.
43136         * tests/test-symlinkat.c: Likewise.
43137
43138         test-openat-safer: add more checks
43139         * tests/test-openat-safer.c (main): Check more code paths.
43140
43141 2009-09-05  Jim Meyering  <meyering@redhat.com>
43142
43143         syntax-check: detect unnecessary inclusion of openat.h
43144         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
43145
43146 2009-09-05  Bruno Haible  <bruno@clisp.org>
43147
43148         Support towlower, towupper.
43149         * doc/posix-functions/towlower.texi: Mention module wctype.
43150         * doc/posix-functions/towupper.texi: Likewise.
43151         * lib/wctype.in.h (towlower, towupper): New functions.
43152         * tests/test-wctype.c: Include stdio.h, stdlib.h.
43153         (ASSERT): New macro.
43154         (e): New variable.
43155         (main): Test also towlower, towupper. Test WEOF argument.
43156         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43157
43158 2009-09-05  Bruno Haible  <bruno@clisp.org>
43159
43160         Fix conversion behaviour when the input is invalid.
43161         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
43162         mark occurring in first pass of indirect conversion.
43163         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
43164         input.
43165         Found by clang's static analyzer.
43166
43167 2009-09-05  Bruno Haible  <bruno@clisp.org>
43168
43169         * tests/test-striconveh.c (main): Test indirect conversion on platforms
43170         where direct conversion is possible.
43171
43172 2009-09-04  Eric Blake  <ebb9@byu.net>
43173
43174         openat: fail with ENOENT on empty name
43175         * lib/openat-proc.c (openat_proc_name): Special-case the empty
43176         buffer.
43177
43178         link-follow: fix logic bug in prior patch
43179         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
43180         reversed sense of yes and no in prior patch.  Avoid confusing
43181         compilation failure with desired semantics.
43182
43183         link-follow: accommodate mingw and cross-compilation
43184         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
43185         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
43186         cross-compilation results to -1, to make linkat easier to
43187         implement when cross-compiling.  Trivially support mingw.
43188         * modules/link-follow (configure.ac): Call new name.
43189         * NEWS: Mention this.
43190
43191 2009-09-03  Eric Blake  <ebb9@byu.net>
43192
43193         faccessat: compile replacement
43194         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
43195         needed.
43196
43197         fts: fix compilation error
43198         * lib/fts.c (includes): Re-add "openat.h", for
43199         openat_needs_fchdir.
43200
43201         faccessat: new module
43202         * modules/faccessat: New file.
43203         * lib/faccessat.c: Likewise.
43204         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43205         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43206         * modules/unistd (Makefile.am): Use it.
43207         * lib/unistd.in.h (faccessat): Declare it.
43208         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
43209         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
43210         * MODULES.html.sh (File system functions): Mention it.
43211         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
43212         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
43213
43214         euidaccess: prefer POSIX over non-standard implementation
43215         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
43216         * lib/euidaccess.c (euidaccess): Use it if available.
43217
43218         openat: make template easier to use
43219         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
43220         AT_FUNC_F2 to be undefined.
43221         (VALIDATE_FLAG): New macro; use it to reject bad flags.
43222         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
43223         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
43224         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
43225         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
43226         Likewise.
43227         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
43228         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
43229         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
43230         Likewise.
43231
43232         openat: declare in POSIX headers
43233         * NEWS: Mention this.
43234         * modules/openat (configure.ac): Declare witnesses.
43235         (Depends-on): Add fcntl-h, sys_stat, unistd.
43236         (Include): Mention correct headers.
43237         * modules/fcntl-h (Depends-on): Add link-warning.
43238         (Files): Add openat.m4.
43239         (Makefile.am): Substitute witnesses.
43240         * modules/sys_stat (Files, Makefile.am): Likewise.
43241         * modules/unistd (Files, Makefile.am): Likewise.
43242         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
43243         (gl_OPENAT_DEFAULTS): New macro.
43244         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
43245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
43246         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
43247         (SYS_STAT_H): Remove unused variable.
43248         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
43249         * lib/fcntl--.h (includes): Remove unneeded header.
43250         * lib/openat-safer.c (includes): Likewise.
43251         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
43252         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
43253         appropriate headers.
43254         (__OPENAT_PREFIX): Delete.
43255         * lib/fcntl.in.h (openat): Provide declaration.
43256         (AT_FDCWD): Fix Solaris bug.
43257         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
43258         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
43259         * lib/fchmodat.c (includes):  Adjust to find declaration.
43260         * lib/fchownat.c (includes): Likewise.
43261         * lib/mkdirat.c (includes): Likewise.
43262         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
43263         still visible.
43264
43265 2009-09-02  Eric Blake  <ebb9@byu.net>
43266
43267         errno: use consistently
43268         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
43269         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
43270         * lib/canonicalize.c (ELOOP): Likewise.
43271         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
43272         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
43273         * lib/lchown.c (EOPNOTSUPP): Likewise.
43274         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
43275         * lib/savewd.c (ESTALE): Likewise.
43276         * lib/settime.c (ENOSYS): Likewise.
43277         * lib/utimens.c (ENOSYS): Likewise.
43278         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
43279         * lib/chdir-safer.c (ELOOP): Likewise.
43280         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
43281         * modules/c-stack (Depends-on): Add errno.
43282         * modules/canonicalize (Depends-on): Likewise.
43283         * modules/chdir-safer (Depends-on): Likewise.
43284         * modules/fdopendir (Depends-on): Likewise.
43285         * modules/inet_ntop (Depends-on): Likewise.
43286         * modules/inet_pton (Depends-on): Likewise.
43287         * modules/lchown (Depends-on): Likewise.
43288         * modules/openat (Depends-on): Likewise.
43289         * modules/savewd (Depends-on): Likewise.
43290         * modules/settime (Depends-on): Likewise.
43291         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
43292
43293         fts: avoid leaking fds
43294         * modules/fts (Depends-on): Add cloexec.
43295         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
43296         flag.
43297
43298         fts: make directory fds more robust
43299         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
43300         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
43301
43302         backupfile, chdir-long, fts, savedir: make safer
43303         * lib/backupfile.c (includes): Use "dirent--.h", since
43304         numbered_backup can write to stderr during readdir.
43305         * lib/savedir.c (includes): Likewise.
43306         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
43307         emulation can write to stderr on failure.
43308         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
43309         * lib/getcwd.c: Document why opendir_safer is unused.
43310         * lib/glob.c: Likewise.
43311         * lib/scandir.c: Likewise.
43312         * lib/openat-proc.c: Likewise, for open_safer.
43313         * modules/backupfile (Depends-on): Add dirent-safer.
43314         * modules/savedir (Depends-on): Likewise.
43315         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
43316         * modules/chdir-long (Depends-on): Add openat-safer.
43317
43318         openat-safer: new module
43319         * modules/openat-safer: New file.
43320         * lib/openat-safer.c: Likewise.
43321         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
43322         * lib/fcntl-safer.h (openat_safer): Declare.
43323         * lib/fcntl--.h (openat): Override.
43324         * MODULES.html.sh (File descriptor based I/O): Mention it.
43325         * lib/openat.h: Add double-inclusion guards.
43326         * lib/openat.c (includes): Only include "fcntl-safer.h", not
43327         "fcntl--.h", so we can implement openat.
43328         * modules/openat-safer-tests: New test.
43329         * tests/test-openat-safer.c: New file.
43330
43331         dirent-safer: new module
43332         * modules/dirent-safer: New file.
43333         * lib/dirent--.h: Likewise.
43334         * lib/dirent-safer.h: Likewise.
43335         * lib/opendir-safer.c: Likewise.
43336         * m4/dirent-safer.m4: Likewise.
43337         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
43338         * modules/dirent-safer-tests: New test.
43339         * tests/test-dirent-safer.c: New file.
43340         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
43341
43342         fdopendir: optimize on mingw
43343         * lib/unistd.in.h (_gl_directory_name): New prototype.
43344         * lib/fchdir.c (_gl_directory_name): Implement it.
43345         (fchdir): Use it to simplify implementation.
43346         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
43347         fchdir, when available, to avoid calling [f]chdir().
43348
43349         fdopendir: split into its own module
43350         * lib/openat.c (fdopendir): Move...
43351         * lib/fdopendir.c: ...into new file.
43352         * modules/fdopendir: New module.
43353         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
43354         * modules/openat (Depends-on): Add fdopendir.
43355         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
43356         fdopendir here.
43357         * modules/savedir (Depends-on): Only need fdopendir, not full
43358         openat.
43359         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
43360         * lib/openat.h (fdopendir): Drop prototype.
43361         * lib/dirent.in.h (fdopendir): Provide prototype.
43362         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
43363         * modules/dirent (Makefile.am): Substitute them.
43364         * MODULES.html.sh (File system functions): Mention it.
43365         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
43366         * modules/fdopendir-tests: New file.
43367         * tests/test-fdopendir.c: Likewise.
43368
43369         fchdir: use more consistent macro convention
43370         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
43371         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
43372         REPLACE_FCHDIR, rather than relying on config.h macros.
43373         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
43374         inside a single make-time REPLACE_FCHDIR block, rather than using
43375         the config.h FCHDIR_REPLACEMENT.
43376         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
43377         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
43378         Manage fstat replacement.
43379         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
43380         REPLACE_FCHDIR.
43381         * modules/sys_stat (Files): Add m4/unistd_h.m4.
43382         (Makefile.am): Substitute REPLACE_FCHDIR.
43383         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
43384         FCHDIR_REPLACEMENT.
43385         * lib/dup-safer.c (dup_safer): Likewise.
43386         * lib/dup2.c (rpl_dup2): Likewise.
43387         * lib/dup3.c (rpl_dup3): Likewise.
43388         * lib/open.c (rpl_open): Likewise.
43389
43390         fchdir: simplify error handling, and support dup3
43391         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
43392         stdbool, malloc-posix, realloc-posix.
43393         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
43394         (ensure_dirs_slot): Return false on allocation failure.
43395         (rpl_dup2): Delete.
43396         (_gl_register_dup): New function.
43397         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
43398         (_gl_register_fd): Close fd on allocation failure.
43399         * lib/fcntl.in.h (_gl_register_fd): Update signature.
43400         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
43401         prototype.
43402         (rpl_dup2_fchdir): Delete prototype.
43403         * lib/open.c (open): Update caller.
43404         * lib/dup2.c (dup2): Track fchdir metadata.
43405         * lib/dup3.c (dup3): Likewise.
43406         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
43407         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
43408
43409 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43410
43411         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
43412         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
43413         don't pass arguments to AC_OUTPUT.
43414
43415 2009-09-02  Bruno Haible  <bruno@clisp.org>
43416
43417         * modules/mkdtemp (License): Relicense under LGPLv2+.
43418         Reported by Paolo Bonzini.
43419
43420 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43421
43422         Replace uses of obsolete autoconf macros in Jim's modules.
43423         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
43424         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
43425         can evoke a warning from autoconf when run with -Wobsolete
43426         enabled.  They were declared obsolete for good reasons (see
43427         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
43428         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
43429         should not continue using the deprecated macros.
43430         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
43431         obsolete Autoconf macros with modern counterparts.
43432         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43433         * m4/dos.m4 (gl_AC_DOS): Likewise.
43434         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
43435         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
43436         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
43437         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
43438         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
43439         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
43440         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
43441         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
43442         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43443         Likewise.
43444         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
43445         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
43446         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
43447         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
43448         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43449         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
43450
43451 2009-09-01  Eric Blake  <ebb9@byu.net>
43452
43453         fchdir: fix off-by-one bug in previous patch
43454         * lib/fchdir.c (rpl_fstat): Use correct bounds.
43455         (_gl_unregister_fd): Delete useless if.
43456
43457 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
43458
43459         maint.mk: sort the list of syntax-check rules
43460         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
43461         easier to get a sense of progress when the rules are run sequentially
43462         and take a long time.
43463
43464 2009-09-01  Simon Josefsson  <simon@josefsson.org>
43465
43466         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
43467         * modules/netinet_in: Likewise.
43468         * modules/sys_file: Likewise.
43469         * modules/sys_ioctl: Likewise.
43470         * modules/sys_select: Likewise.
43471         * modules/sys_socket: Likewise.
43472         * modules/sys_stat: Likewise.
43473         * modules/sys_time: Likewise.
43474         * modules/sys_times: Likewise.
43475         * modules/sys_utsname: Likewise.
43476         * modules/sys_wait: Likewise.
43477
43478 2009-09-01  Jim Meyering  <meyering@redhat.com>
43479
43480         fts: help ensure that return values are not ignored
43481         * lib/fts_.h (__GNUC_PREREQ): Define.
43482         (__attribute_warn_unused_result__): Define.
43483         (fts_children, fts_close, fts_open, fts_read): Declare with
43484         __attribute_warn_unused_result__.
43485
43486         fts: fts_close now fails also when closing a dir file descriptor fails
43487         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
43488         and propagate to caller, along with errno.
43489
43490         announce-gen: correct formatting in --help output
43491         * build-aux/announce-gen (usage): Move the one-line description in
43492         --help output "up", to where it belongs, just after Usage:.
43493
43494 2009-08-31  Eric Blake  <ebb9@byu.net>
43495
43496         fchdir: port to mingw
43497         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
43498         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
43499         opened, then use a substitute.
43500         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
43501         replacement.
43502         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
43503         (_gl_register_fd): No need to check stat if open already filters
43504         all directories.
43505         (fchdir): Fix error condition to match POSIX.
43506         * modules/fchdir (Depends-on): Add sys_stat.
43507         * doc/posix-functions/open.texi (open): Document the limitation.
43508         * modules/fchdir-tests: New file.
43509         * tests/test-fchdir.c: Likewise.
43510
43511         canonicalize: allow cross-testing from cygwin to mingw
43512         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
43513         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
43514         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
43515         Likewise.
43516         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
43517         target does not support symlinks.
43518         * tests/test-canonicalize-lgpl.sh: Likewise.
43519
43520         chown: avoid compilation warning on mingw
43521         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
43522         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
43523         mingw.
43524         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43525         * modules/chown (Depends-on): Add errno.
43526
43527 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
43528
43529         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
43530         command.
43531
43532 2009-08-31  Jim Meyering  <meyering@redhat.com>
43533
43534         canonicalize: remove useless initialization
43535         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
43536         initialization of local, "end".
43537
43538 2009-08-30  Bruno Haible  <bruno@clisp.org>
43539
43540         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
43541         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
43542         ENOSYS.
43543
43544 2009-08-30  Bruno Haible  <bruno@clisp.org>
43545
43546         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
43547         /usr/xpg4/bin/tr when it exists.
43548         * tests/test-pipe-filter-gi1.sh: Likewise.
43549
43550 2009-08-30  Bruno Haible  <bruno@clisp.org>
43551
43552         Work around deficient /usr/bin/id program on Solaris.
43553         * tests/test-file-has-acl.sh (ID): New variable.
43554         * tests/test-set-mode-acl.sh (ID): Likewise.
43555         * tests/test-copy-acl.sh (ID): Likewise.
43556         * tests/test-copy-file.sh (ID): Likewise.
43557
43558 2009-08-30  Bruno Haible  <bruno@clisp.org>
43559
43560         New module 'xstriconveh'.
43561         * lib/xstriconveh.h: New file.
43562         * lib/xstriconveh.c: New file.
43563         * modules/xstriconveh: New file.
43564
43565 2009-08-30  Bruno Haible  <bruno@clisp.org>
43566
43567         Make it easier to use mem_cd_iconveh.
43568         * lib/striconveh.h (iconveh_t): New type.
43569         (iconveh_open, iconveh_close): New declarations.
43570         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43571         with a single 'const iconveh_t *' argument.
43572         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
43573         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43574         with a single 'const iconveh_t *' argument.
43575         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
43576         * tests/test-striconveh.c (main): Update.
43577         * NEWS: Mention the change.
43578
43579 2009-08-30  Bruno Haible  <bruno@clisp.org>
43580
43581         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
43582         problem.
43583
43584 2009-08-30  Bruno Haible  <bruno@clisp.org>
43585
43586         Work around iconv_open problem on Solaris.
43587         * lib/iconv_open-solaris.gperf: New file.
43588         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
43589         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
43590         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
43591         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
43592         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
43593         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
43594
43595 2009-08-29  Jim Meyering  <meyering@redhat.com>
43596
43597         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
43598         * top/maint.mk (cvs-check): Remove target; it was just an alias
43599         to the better-named vc-diff-check.
43600         (maintainer-distcheck): Remove rule.  It was used only from
43601         the (alpha/beta/major) target, and all of its commands but one
43602         were coreutils-specific.
43603         (vc-dist): Remove rule.
43604         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
43605         Run vc-diff-check, not vc-dist.
43606         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
43607
43608 2009-08-27  Bruno Haible  <bruno@clisp.org>
43609
43610         * tests/test-bitrotate.c (main): Remove test that uses a shift count
43611         of 0.
43612
43613 2009-08-27  Bruno Haible  <bruno@clisp.org>
43614
43615         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
43616         compilers.
43617         * doc/func.texi: Document the SunPRO C bug.
43618
43619 2009-08-27  Bruno Haible  <bruno@clisp.org>
43620
43621         Fix link error on Solaris.
43622         * tests/test-parse-duration.c (xstrdup): Remove function.
43623
43624 2009-08-26  Pádraig Brady  <P@draigbrady.com>
43625
43626         ignore-value: handle pointer types, too
43627         * lib/ignore-value.h (__attribute__): Remove definition.
43628         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
43629         of a more concise and more-often effective "(void) i" statement.
43630         (ignore_ptr): New function to suppress warnings from functions that
43631         return pointers, and to make it explicit that one function doesn't
43632         handle all cases.
43633
43634 2009-08-25  Bruno Haible  <bruno@clisp.org>
43635
43636         dup2: work around a Linux bug.
43637         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
43638         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
43639         * doc/posix-functions/dup2.texi: Mention the Linux bug.
43640         Reported by Simon Josefsson.
43641
43642 2009-08-25  Jim Meyering  <meyering@redhat.com>
43643
43644         libguestfs uses gnulib
43645         * users.txt: Add libguestfs.
43646
43647 2009-08-24  Eric Blake  <ebb9@byu.net>
43648
43649         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
43650         * lib/pipe2.c (includes): Add binary-io.h.
43651         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
43652
43653 2009-08-24  Bruno Haible  <bruno@clisp.org>
43654
43655         Tolerate declared but missing accept4 syscall.
43656         * lib/accept4.c (accept4): Invoke original accept4 function first, if
43657         available.
43658         * lib/sys_socket.in.h (accept4): If the function is already present,
43659         override it.
43660         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
43661         * modules/accept4 (Makefile.am): Compile accept4.c always.
43662         Reported by Paolo Bonzini and Eric Blake.
43663
43664 2009-08-23  Bruno Haible  <bruno@clisp.org>
43665
43666         New module 'accept4'.
43667         * lib/sys_socket.in.h (accept4): New declaration.
43668         * lib/accept4.c: New file.
43669         * m4/accept4.m4: New file.
43670         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
43671         GNULIB_ACCEPT4, HAVE_ACCEPT4.
43672         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
43673         HAVE_ACCEPT4.
43674         * modules/accept4: New file.
43675         * doc/glibc-functions/accept4.texi: Mention the new module.
43676
43677 2009-08-24  Jim Meyering  <meyering@redhat.com>
43678
43679         progname: also set global program_invocation_name, when possible
43680         Before this change, a libtool-enabled program that calls glibc's
43681         error function would report the program name as
43682         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
43683         * modules/progname (configure.ac): Check for a declaration of
43684         program_invocation_name.
43685         * lib/progname.c:  Include <errno.h>.
43686         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
43687         Set program_invocation_name.
43688
43689 2009-08-23  Bruno Haible  <bruno@clisp.org>
43690
43691         * lib/dup3.c: Include <string.h>.
43692
43693 2009-08-23  Bruno Haible  <bruno@clisp.org>
43694
43695         * lib/dup3.c (dup3): Test only once whether the system actually exists.
43696         * lib/pipe2.c (pipe2): Likewise.
43697         Suggested by Eric Blake.
43698
43699 2009-08-23  Bruno Haible  <bruno@clisp.org>
43700
43701         Tolerate declared but missing dup3 syscall.
43702         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
43703         * lib/unistd.in.h (dup3): If the function is already present,
43704         override it.
43705         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
43706         * modules/dup3 (Makefile.am): Compile dup3.c always.
43707         Reported by Paolo Bonzini.
43708
43709 2009-08-23  Bruno Haible  <bruno@clisp.org>
43710
43711         Tolerate declared but missing pipe2 syscall.
43712         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
43713         available.
43714         * lib/unistd.in.h (pipe2): If the function is already present,
43715         override it.
43716         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
43717         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
43718         Reported by Paolo Bonzini.
43719
43720 2009-08-23  Bruno Haible  <bruno@clisp.org>
43721
43722         * lib/pipe2.c (pipe2): Move #ifs inside function.
43723
43724 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43725
43726         quotearg: document limitations of quote_these_too
43727         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
43728         those limitations are created.
43729         * lib/quotearg.h (set_char_quoting): Document that digits and
43730         letters that are special after backslash are not permitted.
43731         (quotearg_char): Cross-reference set_char_quoting documentation.
43732
43733 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
43734
43735         quotearg: implement custom_quoting_style
43736         * lib/quotearg.c: (struct quoting_options): Add left_quote and
43737         right_quote fields.
43738         (set_custom_quoting): New public function.
43739         (quotearg_buffer_restyled): Add left_quote and right_quote
43740         arguments, handle them very much like locale quoting, and update
43741         all uses.
43742         (quotearg_n_custom): New public function.
43743         (quotearg_n_custom_mem): New public function.
43744         (quotearg_custom): New public function.
43745         (quotearg_custom_mem): New public function.
43746         * lib/quotearg.h: Prototype and document new public functions.
43747         (enum quoting_style): For escape_quoting_style and
43748         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
43749         ignored even though they're otherwise like c_quoting_style.
43750         Add custom_quoting_style member and document with comparison to
43751         clocale_quoting_style.
43752         * tests/test-quotearg.c (custom_quotes): New array.
43753         (custom_results): New array.
43754         (main): Extend to test custom quoting.
43755
43756 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43757
43758         quotearg: fix right quote escaping when it's in quote_these_too
43759         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
43760         quote, be sure to prepend only one backslash.
43761         * tests/test-quotearg.c (use_quote_double_quotes): New function.
43762         (main): Test it.
43763
43764 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43765
43766         quotearg-tests: test escaping of embedded locale quotes
43767         * tests/test-quotearg.c (struct result_strings): Add member for
43768         new input.
43769         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
43770         (inputs): Add new input.
43771         (results_g): Add expected results.
43772         (flag_results): Likewise.
43773         (locale_results): Likewise.
43774         (compare_strings): Check those.
43775
43776 2009-08-23  Bruno Haible  <bruno@clisp.org>
43777
43778         Tests for module 'dup3'.
43779         * modules/dup3-tests: New file.
43780         * tests/test-dup3.c: New file.
43781
43782         New module 'dup3'.
43783         * lib/unistd.in.h (dup3): New declaration.
43784         * lib/dup3.c: New file.
43785         * m4/dup3.m4: New file.
43786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
43787         HAVE_DUP3.
43788         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
43789         * modules/dup3: New file.
43790         * doc/glibc-functions/dup3.texi: Mention the new module.
43791
43792 2009-08-23  Bruno Haible  <bruno@clisp.org>
43793
43794         Tweak the dup2 test.
43795         * tests/test-dup2.c (main): Create the test file empty. Verify that an
43796         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
43797         the test file is still empty. Fix argument order of lseek.
43798
43799 2009-08-23  Bruno Haible  <bruno@clisp.org>
43800
43801         Avoid test link errors when the modules getopt-gnu, gettext are used.
43802         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
43803         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43804
43805 2009-08-23  Bruno Haible  <bruno@clisp.org>
43806
43807         Fix getdtablesize() on mingw.
43808         * lib/getdtablesize.c (getdtablesize): Implement differently.
43809         * lib/unistd.in.h (getdtablesize): Improve comment.
43810
43811 2009-08-23  Bruno Haible  <bruno@clisp.org>
43812
43813         New module 'mkostemp'.
43814         Based on Ulrich Drepper's 2007-08-10 change in glibc.
43815         * lib/stdlib.in.h (mksotemp): New declaration.
43816         * lib/mkostemp.c: New file, from glibc with modifications.
43817         * lib/tempname.h (GT_FILE): Remove outdated comment.
43818         (gen_tempname): Add flags argument.
43819         * lib/tempname.c (__GT_BIGFILE): Remove macro.
43820         (__GT_FILE): Map to 1.
43821         (small_open, large_open): Remove macros.
43822         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
43823         * lib/mkstemp.c (mkstemp): Update.
43824         * lib/mkdtemp.c (mkdtemp): Likewise.
43825         * m4/mkostemp.m4: New file.
43826         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
43827         HAVE_MKOSTEMP.
43828         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
43829         HAVE_MKOSTEMP.
43830         * modules/mkostemp: New file, based on modules/mkstemp.
43831         * doc/glibc-functions/mkostemp.texi: Mention the new module.
43832         * NEWS: Mention the change.
43833
43834 2009-08-23  Bruno Haible  <bruno@clisp.org>
43835
43836         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
43837         Reported by Eric Blake.
43838
43839 2009-08-23  Bruno Haible  <bruno@clisp.org>
43840
43841         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
43842         Reported by Eric Blake.
43843
43844 2009-08-23  Bruno Haible  <bruno@clisp.org>
43845
43846         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
43847         * modules/pipe2 (Depends-on): Likewise.
43848
43849 2009-08-23  Eric Blake  <ebb9@byu.net>
43850
43851         fcntl-h: add O_TTY_INIT support
43852         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
43853         * tests/test-fcntl-h.c (o): Test it.
43854         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43855
43856         fcntl-h: rename from fcntl, in preparation for fcntl(2)
43857         * modules/fcntl: Move <fcntl.h> header replacement...
43858         * modules/fcntl-h: ...to new name, so as not to collide with
43859         like-named function.
43860         * tests/test-fcntl.c: Rename...
43861         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
43862         * modules/fcntl-tests: Rename...
43863         * modules/fcntl-h-tests: ...to this.  Update test file name.
43864         * modules/chdir-long (Depends-on): Update clients.
43865         * modules/chdir-safer (Depends-on): Likewise.
43866         * modules/fcntl-safer (Depends-on): Likewise.
43867         * modules/fts (Depends-on): Likewise.
43868         * modules/mkancesdirs (Depends-on): Likewise.
43869         * modules/mkdir-p (Depends-on): Likewise.
43870         * modules/open (Depends-on): Likewise.
43871         * modules/savewd (Depends-on): Likewise.
43872         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
43873         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43874
43875 2009-08-22  Bruno Haible  <bruno@clisp.org>
43876
43877         * modules/binary-io (License): Relicense under LGPL.
43878         * modules/pipe2 (License): Likewise.
43879
43880 2009-08-22  Bruno Haible  <bruno@clisp.org>
43881
43882         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
43883         return value.
43884         * lib/pipe-filter-gi.c (filter_init): Likewise.
43885         Reported by Eric Blake.
43886
43887 2009-08-22  Bruno Haible  <bruno@clisp.org>
43888
43889         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
43890         * modules/pipe (Depends-on): Add pipe2.
43891
43892 2009-08-22  Bruno Haible  <bruno@clisp.org>
43893
43894         Tests for module 'pipe2'.
43895         * modules/pipe2-tests: New file.
43896         * tests/test-pipe2.c: New file.
43897
43898         New module 'pipe2'.
43899         * lib/unistd.in.h (pipe2): New declaration.
43900         * lib/pipe2.c: New file.
43901         * m4/pipe2.m4: New file.
43902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
43903         HAVE_PIPE2.
43904         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
43905         * modules/pipe2: New file.
43906         * doc/glibc-functions/pipe2.texi: Mention the new module.
43907
43908 2009-08-22  Bruno Haible  <bruno@clisp.org>
43909
43910         Reference some new glibc functions.
43911         * doc/glibc-functions/accept4.texi: New file.
43912         * doc/glibc-functions/dup3.texi: New file.
43913         * doc/glibc-functions/mkostemp.texi: New file.
43914         * doc/glibc-functions/pipe2.texi: New file.
43915         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
43916         (Glibc sys/socket.h): Refer to accept4.
43917         (Glibc unistd.h): Refer to dup3, pipe2.
43918         Reported by Eric Blake.
43919
43920 2009-08-22  Jim Meyering  <meyering@redhat.com>
43921             Bruno Haible  <bruno@clisp.org>
43922
43923         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
43924         This makes it so packages using automake-1.11's silent-rules option
43925         can print e.g., a single "GEN    configmake.h" line, rather than
43926         the 30+ statements that perform the job.  If you want to see the
43927         actual commands, you can still run "make V=1".
43928         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
43929         so that make output is abbreviated when those variables are defined
43930         appropriately.
43931         * modules/argz: Likewise.
43932         * modules/arpa_inet: Likewise.
43933         * modules/byteswap: Likewise.
43934         * modules/configmake: Likewise.
43935         * modules/dirent: Likewise.
43936         * modules/errno: Likewise.
43937         * modules/fcntl: Likewise.
43938         * modules/float: Likewise.
43939         * modules/fnmatch: Likewise.
43940         * modules/getopt-posix: Likewise.
43941         * modules/glob: Likewise.
43942         * modules/iconv_open: Likewise.
43943         * modules/inttypes: Likewise.
43944         * modules/localcharset: Likewise.
43945         * modules/locale: Likewise.
43946         * modules/math: Likewise.
43947         * modules/netdb: Likewise.
43948         * modules/netinet_in: Likewise.
43949         * modules/poll: Likewise.
43950         * modules/posix_spawnp-tests: Likewise.
43951         * modules/sched: Likewise.
43952         * modules/search: Likewise.
43953         * modules/selinux-h: Likewise.
43954         * modules/signal: Likewise.
43955         * modules/spawn: Likewise.
43956         * modules/stdarg: Likewise.
43957         * modules/stdbool: Likewise.
43958         * modules/stddef: Likewise.
43959         * modules/stdint: Likewise.
43960         * modules/stdio: Likewise.
43961         * modules/stdlib: Likewise.
43962         * modules/string: Likewise.
43963         * modules/strings: Likewise.
43964         * modules/sys_file: Likewise.
43965         * modules/sys_ioctl: Likewise.
43966         * modules/sys_select: Likewise.
43967         * modules/sys_socket: Likewise.
43968         * modules/sys_stat: Likewise.
43969         * modules/sys_time: Likewise.
43970         * modules/sys_times: Likewise.
43971         * modules/sys_utsname: Likewise.
43972         * modules/sys_wait: Likewise.
43973         * modules/sysexits: Likewise.
43974         * modules/time: Likewise.
43975         * modules/unistd: Likewise.
43976         * modules/wchar: Likewise.
43977         * modules/wctype: Likewise.
43978
43979 2009-08-22  Jim Meyering  <meyering@redhat.com>
43980
43981         announce-gen: detect write failure
43982         * build-aux/announce-gen: Add Coda at end.
43983         Remove equivalent-but-more-verbose block at top.
43984
43985 2009-08-19  Akim Demaille  <demaille@gostai.com>
43986
43987         bootstrap: --help to stdout.
43988         * bootstrap (usage): Don't send --help to stderr.
43989         Use a here doc instead of a long string.
43990
43991 2009-08-21  Eric Blake  <ebb9@byu.net>
43992
43993         test-popen-safer: split from test-popen
43994         * tests/test-popen.c (main): Move...
43995         * tests/test-popen.h: ...into new file.
43996         * tests/test-popen-safer2.c: New file.
43997         * modules/popen-tests (Files): Add test-popen.h.
43998         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
43999         Suggested by Bruno Haible.
44000
44001         test-fcntl-safer: split from test-open
44002         * tests/test-open.c (main): Move...
44003         * tests/test-open.h: ...into new file.
44004         * tests/test-fcntl-safer.c: New file.
44005         * modules/open-tests (Files): Add test-open.h.
44006         * modules/fcntl-safer-tests: New file.
44007         Suggested by Bruno Haible.
44008
44009         test-fopen-safer: split from test-fopen
44010         * tests/test-fopen.c (main): Move...
44011         * tests/test-fopen.h: ...into new file.
44012         * tests/test-fopen-safer.c: New file.
44013         * modules/fopen-tests (Files): Add test-fopen.h.
44014         * modules/fopen-safer-tests: New file.
44015         Suggested by Bruno Haible.
44016
44017 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44018
44019         popen-safer: test O_CLOEXEC at run-time.
44020         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
44021
44022 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44023
44024         fcntl: move more flags to the header
44025         * lib/cloexec.c: Do not define FD_CLOEXEC here.
44026         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
44027         * lib/fcntl.in.h: Do both things here.
44028
44029 2009-08-21  Jim Meyering  <meyering@redhat.com>
44030
44031         consistently remove $@-t before redirecting to it
44032         * modules/argz: Remove $@-t and $@ before redirecting to the former.
44033         * modules/alloca-opt: Likewise.
44034         * modules/byteswap: Likewise.
44035         * modules/fnmatch: Likewise.
44036         * modules/getopt-posix: Likewise.
44037         * modules/glob: Likewise.
44038         * modules/poll: Likewise.
44039         * modules/posix_spawnp-tests: Likewise.
44040         * modules/sys_socket: Likewise.
44041         * modules/sysexits: Likewise.
44042
44043 2009-08-21  Eric Blake  <ebb9@byu.net>
44044
44045         popen: simplify access to original popen
44046         * lib/popen.c (rpl_popen): No need to worry about popen being a
44047         macro.
44048         Reported by Bruno Haible.
44049
44050 2009-08-20  Eric Blake  <ebb9@byu.net>
44051
44052         build: avoid some compiler warnings
44053         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
44054         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
44055         type.
44056         (new_exclude_segment, excluded_file_pattern_p)
44057         (excluded_file_name_p): Reduce scope.
44058         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
44059         old-style declaration.
44060
44061 2009-08-20  Simon Josefsson  <simon@josefsson.org>
44062
44063         * tests/test-exclude1.sh: Handle Windows EOL.
44064         * tests/test-exclude2.sh: Likewise.
44065         * tests/test-exclude3.sh: Likewise.
44066         * tests/test-exclude4.sh: Likewise.
44067         * tests/test-exclude5.sh: Likewise.
44068         * tests/test-exclude6.sh: Likewise.
44069         * tests/test-exclude7.sh: Likewise.
44070
44071 2009-08-19  Akim Demaille  <demaille@gostai.com>
44072
44073         bootstrap: find sha1sum when named gsha1sum.
44074         * bootstrap (find_tool): New.
44075         ($SHA1SUM): New.
44076         Use it.
44077
44078 2009-08-20  Jim Meyering  <meyering@redhat.com>
44079
44080         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
44081         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
44082         expression that converts "." in a file name to "\." in the resulting
44083         regexp.  Start with a dummy statement, so that prior shell variable
44084         definitions are expanded portably.  Reported by Simon Josefsson.
44085
44086 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
44087
44088         Fix polling for writeability of a screen buffer.
44089         * lib/poll.c: Distinguish input and screen buffers for the
44090         Win32 implementation.
44091         * lib/select.c: Likewise.
44092
44093 2009-08-19  Eric Blake  <ebb9@byu.net>
44094
44095         popen-safer: prevent popen from clobbering std descriptors
44096         * modules/popen-safer: New file.
44097         * lib/popen-safer.c: Likewise.
44098         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
44099         * lib/stdio--.h (popen): Provide override.
44100         * lib/stdio-safer.h (popen_safer): Provide declaration.
44101         * tests/test-popen.c (includes): Partially test this.
44102         * modules/popen-safer-tests: New file, for more tests.
44103         * tests/test-popen-safer.c: Likewise.
44104         * MODULES.html.sh (file stream based Input/Output): Mention it.
44105
44106         tests: test some of the *-safer modules
44107         * modules/fopen-safer (Depends-on): Add fopen.
44108         * modules/fcntl-safer (Depends-on): Add fcntl.
44109         * modules/stdlib-safer (Depends-on): Add stdlib.
44110         (configure.ac): Set indicator.
44111         * modules/unistd-safer (configure.ac): Likewise.
44112         * modules/tmpfile-safer (configure.ac): Likewise.
44113         (Depends-on): Add tmpfile.
44114         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
44115         active.
44116         * tests/test-fopen.c (includes): Test safer versions when they are
44117         in use.
44118         * tests/test-open.c (includes): Likewise.
44119
44120         popen: fix cygwin 1.5 bug when stdin closed
44121         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
44122         * modules/popen: New file.
44123         * modules/popen-tests: Likewise.
44124         * tests/test-popen.c: Likewise.
44125         * m4/popen.m4: Likewise.
44126         * lib/popen.c: Likewise.
44127         * lib/stdio.in.h (popen): New declaration.
44128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
44129         * modules/stdio (Makefile.am): Likewise.
44130         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
44131
44132 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
44133
44134         maint.mk: give full control over update-copyright exclusions
44135         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
44136         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
44137         (update-copyright): Don't force inclusion of top-level
44138         ChangeLog.  Don't force exclusion of all COPYING files, but make
44139         them the default exclusion instead.
44140
44141 2009-08-16  Bruno Haible  <bruno@clisp.org>
44142
44143         Fix test failures on Solaris 10.
44144         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
44145         tests when Solaris iconv() is used.
44146         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
44147         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
44148         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
44149         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
44150         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
44151
44152 2009-08-16  Bruno Haible  <bruno@clisp.org>
44153
44154         Fix test failures on Solaris 10.
44155         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
44156         'tr' program and pass it as first argument.
44157         * tests/test-pipe-filter-gi1.sh: Likewise.
44158         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
44159         program as first argument.
44160         * tests/test-pipe-filter-gi1.c (main): Likewise.
44161
44162 2009-08-16  Eric Blake  <ebb9@byu.net>
44163
44164         fpurge: fix previous commits
44165         * modules/fpurge (Makefile.am): Make replacement conditional,
44166         partially reverting 2007-04-29 change; missed in previous
44167         attempt.
44168         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
44169         is missing.
44170
44171 2009-08-16  Bruno Haible  <bruno@clisp.org>
44172
44173         Clarify fpurge's effect on the file position.
44174         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
44175         * tests/test-fpurge.c (main): Make a second pass for checking the file
44176         position.
44177
44178 2009-08-16  Bruno Haible  <bruno@clisp.org>
44179
44180         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
44181         declaration of fpurge is missing.
44182         * tests/test-fpurge.c (main): Check that the file has not more contents
44183         than expected. Close the file before removing it.
44184
44185 2009-08-15  Eric Blake  <ebb9@byu.net>
44186
44187         fpurge: don't wrap working cygwin implementation
44188         * lib/fpurge.c (fpurge): Fix comment typo.
44189         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
44190         1.7 to avoid replacement.
44191         * tests/test-fpurge.c (main): Enhance test.
44192
44193 2009-08-15  Eric Blake  <ebb9@byu.net>
44194         and Jim Meyering  <meyering@redhat.com>
44195
44196         test-update-copyright: skip if perl is insufficient
44197         * tests/test-update-copyright.sh: Failure to run maintainer tool
44198         should not cause testsuite failure on cygwin 1.5.
44199
44200 2009-08-14  Eric Blake  <ebb9@byu.net>
44201
44202         doc: mention more functions added in cygwin 1.7.0
44203         * doc/posix-headers/limits.texi (limits.h): Update for recent
44204         cygwin additions.
44205         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
44206         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
44207         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
44208         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
44209         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
44210
44211 2009-08-14  Eric Blake  <ebb9@byu.net>
44212
44213         maint.mk: simplify update-copyright rule
44214         * top/maint.mk (update-copyright-local): Delete, and document how
44215         to do it in cfg.mk instead.
44216         (update-copyright-exclude-regexp): Delete, and document how to do
44217         it in .x-update-copyright instead.
44218         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
44219         exclude ChangeLog.
44220
44221 2009-08-14  Bruno Haible  <bruno@clisp.org>
44222
44223         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
44224
44225 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44226
44227         maint.mk: support update-copyright-env
44228         * top/maint.mk (update-copyright-env): Define place-holder.
44229         (update-copyright): Expand $(update-copyright-env) before
44230         invoking update-copyright.
44231
44232 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44233
44234         update-copyright: implement forced reformatting
44235         * build-aux/update-copyright: Implement and document
44236         UPDATE_COPYRIGHT_FORCE.
44237         * tests/test-update-copyright.sh: Test it.
44238
44239 2009-08-14  Eric Blake  <ebb9@byu.net>
44240         and Bruno Haible  <bruno@clisp.org>
44241
44242         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
44243         * tests/test-locale.c: Revert previous patch related to NULL.
44244         * tests/test-stdio.c: Likewise.
44245         * tests/test-stdlib.c: Likewise.
44246         * tests/test-string.c: Likewise.
44247         * tests/test-unistd.c: Likewise.
44248         * modules/time-tests (Depends-on): Add verify.
44249         * modules/wchar-tests (Depends-on): Likewise.
44250         * tests/test-time.c: Test for NULL compliance.
44251         * tests/test-wchar.c: Likewise.
44252         * modules/locale (Depends-on): Add stddef.
44253         * modules/stdio (Depends-on): Likewise.
44254         * modules/stdlib (Depends-on): Likewise.
44255         * modules/string (Depends-on): Likewise.
44256         * modules/time (Depends-on): Likewise.
44257         * modules/unistd (Depends-on): Likewise.
44258         * modules/wchar (Depends-on): Likewise.
44259         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
44260         * lib/stdlib.in.h (includes): Likewise.
44261         * lib/string.in.h (includes): Likewise.
44262         * lib/time.in.h (includes): Likewise.
44263         * lib/unistd.in.h (includes): Likewise.
44264         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
44265         replaced.
44266         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
44267         * m4/stddef_h.m4: New file.
44268         * modules/stddef: Likewise.
44269         * lib/stddef.in.h: Likewise.
44270         * modules/stddef-tests: Likewise.
44271         * tests/test-stddef.c: Likewise.
44272         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
44273         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
44274         * doc/posix-headers/locale.texi (locale.h): Likewise.
44275         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
44276         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
44277         * doc/posix-headers/string.texi (string.h): Likewise.
44278         * doc/posix-headers/time.texi (time.h): Likewise.
44279         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
44280         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
44281
44282 2009-08-14  Eric Blake  <ebb9@byu.net>
44283
44284         doc: improve git diff of texinfo files
44285         * .gitattributes: Add rule for *.texi files, with hint on how to
44286         use it.
44287         Copied from m4, and based on a report by Bruno Haible.
44288
44289 2009-08-14  Bruno Haible  <bruno@clisp.org>
44290
44291         Disable multithread support by default on Cygwin 1.5.x for real.
44292         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
44293
44294 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44295
44296         update-copyright: much ado about intervals
44297         * build-aux/update-copyright: Implement and document
44298         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
44299         of copyright year intervals.
44300         Also, document UPDATE_COPYRIGHT_YEAR.
44301         * tests/test-update-copyright.sh: Test it.
44302
44303         update-copyright: convert 2-digit to 4-digit years
44304         * build-aux/update-copyright: Implement and document.
44305         * tests/test-update-copyright.sh: Update.
44306
44307 2009-08-14  Jim Meyering  <meyering@redhat.com>
44308
44309         test-exclude: avoid coreutils "make check" failure
44310         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
44311         just as in test-argmatch.c.
44312
44313 2009-08-13  Eric Blake  <ebb9@byu.net>
44314
44315         test-dup2: fix bad assumption
44316         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
44317         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
44318
44319         test-version-etc: fix CRLF portability issue
44320         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
44321         recognize \r.
44322         * tests/test-argp-version-etc-1.sh: Likewise.
44323
44324         getopt: update client modules
44325         * modules/argp (Depends-on): Use getopt-gnu.
44326         * modules/git-merge-changelog (Depends-on): Likewise.
44327         * modules/long-options (Depends-on): Likewise.
44328         * modules/xstrtol (Depends-on): Likewise.
44329
44330 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44331
44332         * tests/test-version-etc.sh: Don't fail on different
44333         project/version.  Don't fail on CRLF differences.  Rewrite to use
44334         multiple -e instead of multiple sed forks, suggested by Eric Blake
44335         <ebb9@byu.net>.
44336         * tests/test-argp-version-etc-1.sh: Likewise.
44337
44338 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44339
44340         * tests/test-version-etc.sh: Don't fail on different
44341         project/version.
44342
44343 2009-08-12  Bruno Haible  <bruno@clisp.org>
44344
44345         Tests for modules 'getopt-posix', 'getopt-gnu'.
44346         * modules/getopt-posix-tests: New file.
44347         * tests/test-getopt.c: New file.
44348         * tests/test-getopt.h: New file.
44349         * tests/test-getopt_long.h: New file.
44350
44351         New modules 'getopt-posix', 'getopt-gnu'.
44352         * modules/getopt-gnu: New file, renamed from modules/getopt.
44353         * modules/getopt-posix: New file.
44354         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
44355         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
44356         (gl_GETOPT): Remove macro.
44357         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
44358         Disable the test against BSD systems that declare optreset. Test
44359         against mingw bug. Test against lack of support of optional arguments
44360         on many platforms.
44361         * doc/glibc-headers/getopt.texi: Update module name and list of
44362         relevant platforms.
44363         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
44364         'getopt-gnu' and more portability problems.
44365         * NEWS: Mention the changes.
44366
44367 2009-08-12  Bruno Haible  <bruno@clisp.org>
44368
44369         Ensure that optarg etc. get declared by <unistd.h>.
44370         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
44371         AC_USE_SYSTEM_EXTENSIONS.
44372         * modules/getopt (Depends-on): Add 'extensions'.
44373
44374 2009-08-12  Bruno Haible  <bruno@clisp.org>
44375
44376         Avoid test link errors.
44377         * modules/pipe-filter-ii-tests (Makefile.am): Define
44378         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
44379         * modules/pipe-filter-gi-tests (Makefile.am): Define
44380         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
44381         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44382
44383 2009-08-12  Bruno Haible  <bruno@clisp.org>
44384
44385         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
44386         gl_GETOPT_SUBSTITUTE before.
44387         (gl_GETOPT): Use it.
44388         * m4/argp.m4 (gl_ARGP): Update.
44389         Reported by Sergey Poznyakoff.
44390
44391         * m4/getopt.m4: Reorder macros.
44392         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
44393         (gl_GETOPT_SUBSTITUTE): Remove macro.
44394
44395 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44396
44397         Minor improvement in gitlog-to-changelog
44398
44399         * build-aux/gitlog-to-changelog: New option `--format' makes
44400         output format string configurable.
44401
44402 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44403
44404         Optimize exclude: use hash tables for non-wildcard patterns.
44405
44406         * lib/exclude.c: Include hash.h and mbuiter.h
44407         (struct exclude_pattern, exclude_segment): New data types.
44408         (struct exclude): Rewrite.
44409         (fnmatch_pattern_has_wildcards): New function.
44410         (new_exclude_segment, free_exclude_segment): New functions.
44411         (excluded_file_pattern_p, excluded_file_name_p): New functions.
44412         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
44413         * lib/exclude.h (is_fnmatch_pattern): New prototype.
44414         * modules/exclude: Depend on hash and mbuiter.
44415
44416         * modules/exclude-tests: New file.
44417         * tests/test-exclude.c: New file.
44418         * tests/test-exclude1.sh: New file.
44419         * tests/test-exclude2.sh: New file.
44420         * tests/test-exclude3.sh: New file.
44421         * tests/test-exclude4.sh: New file.
44422         * tests/test-exclude5.sh: New file.
44423         * tests/test-exclude6.sh: New file.
44424         * tests/test-exclude7.sh: New file.
44425
44426 2009-08-12  Bruno Haible  <bruno@clisp.org>
44427
44428         Ensure that getopt() gets declared by <unistd.h>.
44429         * lib/unistd.in.h: Conditionally include getopt.h.
44430         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
44431         Set GNULIB_UNISTD_H_GETOPT.
44432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44433         GNULIB_UNISTD_H_GETOPT.
44434         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
44435
44436 2009-08-12  Bruno Haible  <bruno@clisp.org>
44437
44438         Clarify logic.
44439         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
44440         gl_replace_getopt instead of GETOPT_H.
44441
44442 2009-08-12  Bruno Haible  <bruno@clisp.org>
44443
44444         * m4/getopt.m4: Add comments.
44445
44446 2009-08-12  Bruno Haible  <bruno@clisp.org>
44447
44448         Disable multithread support by default on Cygwin 1.5.x.
44449         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
44450         set gl_use_threads=no if not specified otherwise.
44451
44452 2009-08-11  Bruno Haible  <bruno@clisp.org>
44453
44454         Avoid compilation error on NetBSD 5.0.
44455         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
44456         * tests/test-stdio.c: Likewise.
44457         * tests/test-stdlib.c: Likewise.
44458         * tests/test-string.c: Likewise.
44459         * tests/test-unistd.c: Likewise.
44460         Reported by Greg Troxel <gdt@ir.bbn.com>
44461         at <https://savannah.gnu.org/support/?106973>.
44462
44463 2009-08-11  Bruno Haible  <bruno@clisp.org>
44464
44465         * modules/dup2-tests (Depends-on): Remove close.
44466
44467         Undo 2009-07-19 commit.
44468         * modules/acl-tests (Depends-on): Remove close.
44469         * modules/binary-io-tests (Depends-on): Likewise.
44470         * modules/closein-tests (Depends-on): Likewise.
44471         * modules/flock-tests (Depends-on): Likewise.
44472         * modules/fsync-tests (Depends-on): Likewise.
44473         * modules/lseek-tests (Depends-on): Likewise.
44474         * modules/pipe-tests (Depends-on): Likewise.
44475         * modules/posix_spawn-tests (Depends-on): Likewise.
44476         * modules/posix_spawnp-tests (Depends-on): Likewise.
44477         * modules/stat-time-tests (Depends-on): Likewise.
44478         * modules/yesno-tests (Depends-on): Likewise.
44479
44480 2009-08-10  Bruno Haible  <bruno@clisp.org>
44481
44482         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
44483
44484 2009-08-10  Bruno Haible  <bruno@clisp.org>
44485
44486         Fix a gcc warning.
44487         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
44488
44489 2009-08-10  Bruno Haible  <bruno@clisp.org>
44490
44491         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
44492         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
44493         not only the first time.
44494         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
44495         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
44496         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
44497         is 1, not only the the first time.
44498
44499 2009-08-10  Bruno Haible  <bruno@clisp.org>
44500
44501         Make it possible to use module 'gethostname' without module 'close'.
44502         * lib/unistd.in.h (close): Evoke a link error only if
44503         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44505         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44506         * modules/unistd (Makefile.am): Substitute
44507         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44508         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
44509         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44510         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
44511         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44512         * modules/sys_ioctl (Makefile.am): Substitute
44513         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44514         * modules/socket (configure.ac): On native Windows, set
44515         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
44516         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44517         Reported by Sam Steingold <sds@gnu.org>.
44518
44519 2009-08-10  Bruno Haible  <bruno@clisp.org>
44520
44521         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
44522         * modules/ioctl (configure.ac): Likewise.
44523
44524 2009-08-10  Bruno Haible  <bruno@clisp.org>
44525
44526         Avoid collision between gnulib wrapper and libintl wrapper.
44527         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
44528         already defined in intl/printf.c.
44529         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
44530         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
44531
44532 2009-08-09  Bruno Haible  <bruno@clisp.org>
44533
44534         Make <sys/select.h> really self-contained, also on Solaris 10.
44535         * lib/sys_select.in.h: Include <string.h>.
44536         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
44537         Solaris 10 problem.
44538         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
44539         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
44540         Reported by Jim Meyering.
44541
44542 2009-08-09  Bruno Haible  <bruno@clisp.org>
44543
44544         Avoid warnings from 'aclocal' that are due to a use of macro name
44545         AM_XGETTEXT_OPTION that is not defined in automake.
44546         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
44547         automake.
44548         * modules/error (configure.ac): Likewise.
44549         * modules/propername (configure.ac): Likewise.
44550         * modules/vasprintf (configure.ac): Likewise.
44551         * modules/verror (configure.ac): Likewise.
44552         * modules/xprintf (configure.ac): Likewise.
44553         * modules/xvasprintf (configure.ac): Likewise.
44554
44555 2009-08-08  Bruno Haible  <bruno@clisp.org>
44556
44557         Avoid compilation error in C++ mode.
44558         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
44559         Reported by Sam Steingold <sds@gnu.org>.
44560
44561 2009-08-08  Bruno Haible  <bruno@clisp.org>
44562
44563         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
44564         for the various Unix platforms.
44565         * doc/posix-headers/limits.texi: Update platforms list regarding
44566         HOST_NAME_MAX.
44567         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44568
44569 2009-08-07  Jim Meyering  <meyering@redhat.com>
44570
44571         selinux-at: fix typo in a comment
44572         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
44573         Spotted by Paolo Bonzini.
44574
44575         selinux-at: remove redundant m4 code, add documentation
44576         * modules/selinux-at (configure.ac): Remove redundant code.
44577         LIB_SELINUX is already set via the dependent module, selinux-h.
44578         (Include): Add quotes around selinux-at.h.
44579         * lib/selinux-at.h: Add documentation.
44580         Reported by Bruno Haible in
44581         http://marc.info/?l=gnulib-bug&m=124958988300749
44582
44583 2009-08-07  Bruno Haible  <bruno@clisp.org>
44584
44585         Avoid link error on MacOS X 10.3 and 10.4.
44586         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
44587         on non-ELF systems.
44588         * lib/argp-pv.c (argp_program_version): Likewise.
44589         Reported by Simon Josefsson.
44590
44591 2009-08-07  Simon Josefsson  <simon@josefsson.org>
44592
44593         * tests/test-version-etc.sh: Use $EXEEXT.
44594
44595 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
44596
44597         update-copyright: update documentation to point to maint.mk
44598         * build-aux/update-copyright: Here.
44599
44600 2009-08-06  Jim Meyering  <meyering@redhat.com>
44601
44602         maint.mk: support update-copyright-local
44603         * top/maint.mk (update-copyright-local): Define place-holder.
44604         (update-copyright): Depend on $(update-copyright-local).
44605
44606 2009-08-06  Jim Meyering  <meyering@redhat.com>
44607
44608         selinux-at: new module
44609         Initially written for coreutils, this module will soon be
44610         used by findutils, too.
44611         * MODULES.html.sh [Misc]: Add selinux-at.
44612         * lib/selinux-at.h: New file, from coreutils.
44613         * lib/selinux-at.c: Likewise.
44614         * modules/selinux-at: Likewise.
44615         (License): Change from LGPL to GPL, since it depends
44616         on the GPL'd openat module.
44617
44618         doc: update README
44619         * README: Remove references to cogito.
44620         Remove cvs-repo-updating instructions from 2007.
44621         Don't imply that CVS is better if you have limited disk space.
44622
44623 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44624
44625         update-copyright: support C-style comments
44626         * build-aux/update-copyright: Implement and document.
44627         * tests/test-update-copyright.sh: Test.
44628
44629 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44630
44631         update-copyright: support omitted "(C)"
44632         * build-aux/update-copyright: Implement and document.  Also,
44633         allow variable whitespace before "(C)".
44634         * tests/test-update-copyright.sh: Test.
44635
44636 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44637
44638         update-copyright: don't trip on non-FSF copyright statements
44639         * build-aux/update-copyright: Fix so that the first correctly
44640         formatted FSF copyright statement is recognized no matter what
44641         appears before it.  Update documentation.
44642         * tests/test-update-copyright.sh: Test that.
44643
44644 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44645
44646         update-copyright: clean up code a little
44647         * build-aux/update-copyright: Append "_re" to the name of any
44648         variable holding a regular expression.
44649         Replace "old" and "new" with "stmt" in variable names.
44650         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
44651         handled correctly.
44652         Format code more consistently.
44653
44654 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44655
44656         update-copyright-tests: improve portability
44657         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
44658         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
44659
44660 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44661
44662         update-copyright: support @copyright{} and &copy;
44663         * build-aux/update-copyright: Implement and document.
44664         * tests/test-update-copyright.sh: Test.
44665
44666 2009-08-04  Jim Meyering  <meyering@redhat.com>
44667
44668         update-copyright-tests: correctly test EOL=\r\n handling
44669         * tests/test-update-copyright.sh: Put \r at the end of some lines
44670         for the dos-eol tests.  Based on a patch by Joel E. Denny.
44671
44672         maint.mk: make update-copyright exclusion list more configurable
44673         * top/maint.mk (update-copyright): Default to excluding COPYING,
44674         but allow an override, in case someone does want to update that file.
44675
44676         maint.mk: don't update copyright date in COPYING
44677         * top/maint.mk (update-copyright): Exclude COPYING.
44678
44679         maint.mk: add a copyright-updating rule
44680         * top/maint.mk (update-copyright): New rule.
44681         Derived from coreutils/Makefile.am.
44682
44683         update-copyright: rename some variables
44684         * build-aux/update-copyright: Rename a few variables for clarity.
44685         Tweak syntax.  List Joel E. Denny as coauthor.
44686
44687 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44688
44689         update-copyright: fix bug for 2-digit last year and add tests
44690         * build-aux/update-copyright: Fix bug.
44691         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
44692         specified.
44693         * modules/update-copyright-tests: New
44694         * tests/test-update-copyright.sh: New.
44695
44696 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44697
44698         update-copyright: handle leading tabs in line prefix
44699         * build-aux/update-copyright: Count leading tabs as 8 spaces
44700         when computing margin.  This helps with the formatting of
44701         ChangeLogs, for example.
44702         Fix documentation a little.
44703
44704 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44705
44706         update-copyright: support EOL=\r\n
44707         * build-aux/update-copyright: Implement that.
44708
44709 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44710
44711         update-copyright: automatically format copyright statements
44712         * build-aux/update-copyright: Implement that.
44713         Also, be a little more predictable and safer by always failing
44714         when the full copyright format is not perfectly recognized as an
44715         unbroken whole.  Discussed at
44716         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
44717         Rewrite documentation.
44718
44719 2009-08-03  Bruno Haible  <bruno@clisp.org>
44720
44721         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
44722
44723 2009-08-02  Bruno Haible  <bruno@clisp.org>
44724
44725         Tests for module 'uname'.
44726         * modules/uname-tests: New file.
44727         * tests/test-uname.c: New file.
44728
44729         New module 'uname'.
44730         * lib/uname.c: New file.
44731         * m4/uname.m4: New file.
44732         * modules/uname: New file.
44733         * doc/posix-functions/uname.texi: Mention the new module.
44734
44735 2009-08-02  Bruno Haible  <bruno@clisp.org>
44736
44737         Tests for module 'sys_utsname'.
44738         * modules/sys_utsname-tests: New file.
44739         * tests/test-sys_utsname.c: New file.
44740
44741         New module 'sys_utsname'.
44742         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
44743         * m4/sys_utsname_h.m4: New file.
44744         * modules/sys_utsname: New file.
44745         * doc/posix-headers/sys_utsname.texi: Mention the new module.
44746
44747 2009-08-02  Bruno Haible  <bruno@clisp.org>
44748
44749         Implicitly initialize the sockets library.
44750         * lib/gethostname.c: Include sockets.h.
44751         (rpl_gethostname): Invoke gl_sockets_startup.
44752         * lib/socket.c: Include sockets.h.
44753         (rpl_socket): Invoke gl_sockets_startup.
44754         * modules/gethostname (Depends-on): Add sockets.
44755         * modules/socket (Depends-on): Likewise.
44756         * tests/test-poll.c: Don't include sockets.h.
44757         (main): Don't invoke gl_sockets_startup.
44758         * tests/test-select.c: Don't include sockets.h.
44759         (main): Don't invoke gl_sockets_startup.
44760
44761 2009-08-02  Bruno Haible  <bruno@clisp.org>
44762
44763         Allow multiple calls to gl_sockets_startup.
44764         * lib/sockets.c (initialized_sockets_version): New variable.
44765         (gl_sockets_startup): Do nothing if already called for this or a higher
44766         version.
44767         (gl_sockets_cleanup): Reset initialized_sockets_version.
44768
44769 2009-08-03  Simon Josefsson  <simon@josefsson.org>
44770
44771         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
44772         different project/version.
44773
44774 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
44775             Bruno Haible  <bruno@clisp.org>
44776
44777         Tests for module 'pipe-filter-gi'.
44778         * modules/pipe-filter-gi-tests: New file.
44779         * tests/test-pipe-filter-gi1.sh: New file.
44780         * tests/test-pipe-filter-gi1.c: New file.
44781         * tests/test-pipe-filter-gi2.sh: New file.
44782         * tests/test-pipe-filter-gi2-main.c: New file.
44783         * tests/test-pipe-filter-gi2-child.c: New file.
44784
44785         New module 'pipe-filter-gi'.
44786         * lib/pipe-filter-gi.c: New file.
44787         * modules/pipe-filter-gi: New file.
44788
44789 2009-08-02  Bruno Haible  <bruno@clisp.org>
44790             Paolo Bonzini  <bonzini@gnu.org>
44791
44792         Tests for module 'pipe-filter-ii'.
44793         * modules/pipe-filter-ii-tests: New file.
44794         * tests/test-pipe-filter-ii1.sh: New file.
44795         * tests/test-pipe-filter-ii1.c: New file.
44796         * tests/test-pipe-filter-ii2.sh: New file.
44797         * tests/test-pipe-filter-ii2-main.c: New file.
44798         * tests/test-pipe-filter-ii2-child.c: New file.
44799
44800         New module 'pipe-filter-ii'.
44801         * lib/pipe-filter.h: New file.
44802         * lib/pipe-filter-ii.c: New file.
44803         * lib/pipe-filter-aux.h: New file.
44804         * modules/pipe-filter-ii: New file.
44805
44806 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44807
44808         * lib/gc-libgcrypt.c: Change copyright to FSF.
44809         * lib/gc-gnulib.c: Likewise.
44810
44811 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
44812
44813         * lib/gethostname.c: Include limits.h.
44814
44815 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44816             Bruno Haible  <bruno@clisp.org>
44817
44818         Ensure HOST_NAME_MAX as part of the gethostname module.
44819         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
44820         define also HOST_NAME_MAX.
44821         * tests/test-gethostname.c: Include <limits.h>.
44822         (main): Check also HOST_NAME_MAX.
44823         * doc/posix-headers/limits.texi: Document the mingw problem.
44824
44825 2009-08-02  Bruno Haible  <bruno@clisp.org>
44826
44827         * lib/gethostname.c (gethostname): Fix handling of large len argument.
44828         Add comments.
44829
44830 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44831
44832         * lib/gethostname.c: Add Windows wrapper.
44833         * m4/gethostname.m4: Look for gethostname in -lws2_32.
44834         * modules/gethostname: Depend on sys_socket & errno, for also
44835         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
44836         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
44837
44838 2009-07-31  Jim Meyering  <meyering@redhat.com>
44839
44840         getloadavg: fix symbol name in comment
44841         * lib/getloadavg.c: Correct a typo I introduced when adding
44842         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
44843         Matt Kraai spotted the problem.
44844
44845 2009-07-29  Matt Kraai  <mkraai@beckman.com>
44846
44847         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
44848         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
44849         code also if ! defined N_NAME_POINTER.
44850         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
44851         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
44852         but the n_name member is a 12-byte array.
44853
44854 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
44855
44856         update-copyright: generalize comment handling
44857         * build-aux/update-copyright: Handle copyright statements
44858         within more comment styles.
44859         Document usage.
44860         Report any file with an external copyright holder or parse failure.
44861
44862 2009-07-29  Jim Meyering  <meyering@redhat.com>
44863
44864         mktime: correct setting of REPLACE_MKTIME
44865         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
44866
44867         update-copyright: new module
44868         * modules/update-copyright: New file.
44869         * build-aux/update-copyright: New file.
44870         * MODULES.html.sh (maint+release support): Add update-copyright.
44871
44872 2009-07-27  Bruno Haible  <bruno@clisp.org>
44873
44874         Fix compilation error when <ctime> is used and mktime is replaced.
44875         * lib/time.in.h (mktime): New declaration.
44876         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
44877         REPLACE_MKTIME instead of defining mktime in config.h.
44878         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
44879         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
44880         Reported by Ross McFarland <rwmcfa1@neces.com>.
44881
44882 2009-07-27  Bruno Haible  <bruno@clisp.org>
44883
44884         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
44885         Reported by Matt Kraai <mkraai@beckman.com>.
44886
44887 2009-07-25  Jim Meyering  <meyering@redhat.com>
44888
44889         maint.mk: avoid warnings about missing files
44890         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
44891         diagnostic when .prev-version does not exist.
44892         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
44893         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
44894         nonexistent cfg.mk.
44895         Suggestions from Simon Josefsson.
44896
44897 2009-07-25  Bruno Haible  <bruno@clisp.org>
44898
44899         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
44900         defined as macros. Needed on QNX 6.4.1.
44901         Reported by Matt Kraai <mkraai@beckman.com>.
44902
44903 2009-07-23  Jim Meyering  <meyering@redhat.com>
44904
44905         maint.mk: invoke "make dist" with a working value of XZ_OPT
44906         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
44907
44908 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
44909
44910         Make fseeko.c compile on QNX.
44911         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
44912
44913 2009-07-22  Peter Simons  <simons@cryp.to>
44914
44915         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
44916         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
44917         * lib/md4.h: Likewise.
44918         * lib/md5.h: Likewise.
44919         * lib/sha1.h: Likewise.
44920         * lib/sha256.h: Likewise.
44921         * lib/sha512.h: Likewise.
44922
44923         tests-sha1: don't assign literal string to 'char *' variable
44924         * tests/test-sha1.c (main): Declare locals with "const" to match
44925         attributes of the right hand side.
44926
44927 2009-07-21  Eric Blake  <ebb9@byu.net>
44928
44929         dup2: fix more mingw problems
44930         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
44931         fd to itself.
44932         * doc/posix-functions/dup2.texi (dup2): Document the bug.
44933         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
44934         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
44935         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
44936         care of mingw bugs.
44937
44938 2009-07-21  Jim Meyering  <meyering@redhat.com>
44939
44940         vc-list-files: avoid failure when /bin/sh is dash
44941         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
44942         On some Debian based systems, /bin/sh is a symlink to dash, and running
44943         this command would omit the "/" following each 'tests' prefix:
44944           dash -x build-aux/vc-list-files -C . tests
44945         That is because bash and dash work differently:
44946           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
44947           bash ok
44948           dash odd
44949
44950 2009-07-21  Eric Blake  <ebb9@byu.net>
44951
44952         dup2-tests: test previous patch
44953         * modules/dup2-tests: New file.
44954         * tests/test-dup2.c: Likewise.
44955         * tests/test-open.c (main): Avoid unspecified behavior.
44956         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
44957         test.
44958
44959         dup2: work around mingw and cygwin 1.5 bug
44960         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
44961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44962         * modules/unistd (Makefile.am): Substitute it.
44963         * lib/unistd.in.h (dup2): Declare the replacement.
44964         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
44965         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
44966         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
44967         * modules/execute (Depends-on): Add dup2.
44968         * modules/fseterr (Depends-on): Likewise.
44969         * modules/pipe (Depends-on): Likewise.
44970         * modules/posix_spawn-internal (Depends-on): Likewise.
44971
44972 2009-07-21  Bruno Haible  <bruno@clisp.org>
44973
44974         * modules/.gitattributes: New file.
44975
44976 2009-07-20  Bruno Haible  <bruno@clisp.org>
44977
44978         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
44979         (main): Use it.
44980
44981 2009-07-20  Eric Blake  <ebb9@byu.net>
44982
44983         test-pipe: make a bit more robust.
44984         * tests/test-pipe.c (myerr): Allow error messages regardless of
44985         what we do to stderr.
44986         (test_pipe): Rearrange to avoid deadlock.
44987         (child_main): Try a larger read, to ensure we avoided deadlock.
44988         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
44989         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
44990         if misused.
44991
44992 2009-07-19  Jim Meyering  <meyering@redhat.com>
44993
44994         fts: avoid false-positive cycle-detection
44995         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
44996         for each new command line argument.
44997
44998 2009-07-19  Bruno Haible  <bruno@clisp.org>
44999
45000         Fix build error on mingw with the modules sys_select and unistd.
45001         * modules/acl-tests (Depends-on): Add close.
45002         * modules/binary-io-tests (Depends-on): Likewise.
45003         * modules/closein-tests (Depends-on): Likewise.
45004         * modules/flock-tests (Depends-on): Likewise.
45005         * modules/fsync-tests (Depends-on): Likewise.
45006         * modules/lseek-tests (Depends-on): Likewise.
45007         * modules/pipe-tests (Depends-on): Likewise.
45008         * modules/posix_spawn-tests (Depends-on): Likewise.
45009         * modules/posix_spawnp-tests (Depends-on): Likewise.
45010         * modules/stat-time-tests (Depends-on): Likewise.
45011         * modules/yesno-tests (Depends-on): Likewise.
45012
45013 2009-07-19  Bruno Haible  <bruno@clisp.org>
45014
45015         Unify conditionals.
45016         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
45017         macros, not at the compiler macros.
45018         * lib/pipe.c: Likewise.
45019         * lib/execute.c: Likewise.
45020         * lib/spawni.c: Likewise.
45021
45022 2009-07-19  Bruno Haible  <bruno@clisp.org>
45023
45024         Fix handling of closed stdin/stdout/stderr on mingw.
45025         * lib/w32spawn.h: Include unistd.h.
45026         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
45027         file descriptor with O_NOINHERIT flag.
45028         (fd_safer_noinherit): New function, based on fd-safer.c.
45029         (dup_safer_noinherit): New function, based on dup-safer.c.
45030         (undup_safer_noinherit): New function.
45031         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
45032         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
45033         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
45034         instead of fd_safer.
45035         * tests/test-pipe.c: Include <windows.h>.
45036         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
45037         result.
45038
45039         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
45040         from main.
45041         (test_pipe): Pass an extra argument for disambiguation.
45042         (main): Invoke parent_main or child_main.
45043
45044         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
45045         consistently.
45046
45047 2009-07-18  Eric Blake  <ebb9@byu.net>
45048
45049         test-pipe: fix mingw build
45050         * tests/test-pipe.c (main): Avoid fcntl on mingw.
45051
45052 2009-07-18  Bruno Haible  <bruno@clisp.org>
45053
45054         * modules/pipe-tests (Makefile.am): Fix typo.
45055
45056 2009-07-18  Eric Blake  <ebb9@byu.net>
45057
45058         error: fix mingw build
45059         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
45060         Reported by Bruno Haible.
45061
45062         error: avoid undefined use of stdout
45063         * lib/error.c (error, error_at_line): Check that fd 1 is open
45064         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
45065         is handling faults and the close_stdout module wants to report the
45066         detection of closed stdout as an error.
45067
45068 2009-07-17  Eric Blake  <ebb9@byu.net>
45069
45070         pipe: be robust in face of closed fds
45071         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
45072         should cause child to misbehave.
45073         * modules/pipe-tests: New module.
45074         * tests/test-pipe.c: New file.
45075         * tests/test-pipe.sh: New file.
45076         Reported by Akim Demaille.
45077
45078 2009-07-14  Bruno Haible  <bruno@clisp.org>
45079
45080         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
45081         Reported by anonymous kc.
45082
45083 2009-07-07  Jim Meyering  <meyering@redhat.com>
45084
45085         maint.mk: don't look for translatable strings in *.m4 or *.mk
45086         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
45087         when searching for translatable strings.
45088
45089 2009-07-05  Jim Meyering  <meyering@redhat.com>
45090
45091         remove superfluous parentheses in STREQ definition
45092         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
45093         * lib/getugroups.c (STREQ): Likewise.
45094         * lib/fnmatch.c (STREQ): Likewise.
45095         Spotted by Bruno Haible.
45096
45097 2009-07-04  Jim Meyering  <meyering@redhat.com>
45098
45099         argv-iter: new module
45100         * MODULES.html.sh: Add argv-iter.
45101         * lib/argv-iter.c, lib/argv-iter.h: New files.
45102         * modules/argv-iter: New file.
45103         * modules/argv-iter-tests: New file.
45104         * tests/test-argv-iter.c: Test it.
45105
45106 2009-07-04  Bruno Haible  <bruno@clisp.org>
45107
45108         Fix assertion.
45109         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
45110         contains more exact copies of a given entry than file2, leave the extra
45111         copies unpaired rather than aborting.
45112         Reported by Eric Blake.
45113
45114 2009-07-02  Bruno Haible  <bruno@clisp.org>
45115
45116         Speedup git-merge-changelog for git cherry-pick.
45117         * lib/git-merge-changelog.c (struct entries_mapping): New type.
45118         (entries_mapping_get): New function, extracted from compute_mapping.
45119         (entries_mapping_reverse_get): New function.
45120         (compute_mapping): Add a 'full' argument. Return the result in a
45121         'struct entries_mapping'.
45122         (main): Update. Access the mappings through entries_mapping_get.
45123         Reported by Eric Blake.
45124
45125 2009-07-02  Bruno Haible  <bruno@clisp.org>
45126
45127         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
45128         best_i.
45129
45130 2009-07-02  Bruno Haible  <bruno@clisp.org>
45131
45132         Speed up approximate search for matching ChangeLog entries.
45133         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
45134         argument. Call fstrcmp_bounded instead of fstrcmp.
45135         (compute_mapping, try_split_merged_entry, main): Update callers.
45136
45137 2009-07-02  Bruno Haible  <bruno@clisp.org>
45138
45139         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
45140
45141 2009-06-30  Bruno Haible  <bruno@clisp.org>
45142
45143         Reduce the number of uc_is_cased calls.
45144         * lib/unicase.h (casing_suffix_context_t): Add
45145         'first_char_except_ignorable' field.
45146         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
45147         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
45148         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
45149         Update initializer.
45150         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
45151         case-ignorable characters.
45152         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
45153         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
45154         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
45155         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
45156         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
45157
45158 2009-06-30  Bruno Haible  <bruno@clisp.org>
45159
45160         Tests for module 'unicase/ignorable'.
45161         * modules/unicase/ignorable-tests: New file.
45162         * tests/unicase/test-ignorable.c: New file, generated by
45163         gen-uni-tables.
45164
45165         Tests for module 'unicase/cased'.
45166         * modules/unicase/cased-tests: New file.
45167         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
45168         * tests/unicase/test-predicate-part1.h: New file, derived from
45169         tests/unictype/test-predicate-part1.h.
45170         * tests/unicase/test-predicate-part2.h: New file, same as
45171         tests/unictype/test-predicate-part2.h.
45172
45173         Fix evaluation of "Before C" condition of FINAL_SIGMA.
45174         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
45175         (output_casing_properties): New function.
45176         (main): Call it.
45177         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
45178         * lib/unicase/cased.c: Include unictype/bitmap.h.
45179         (uc_is_cased): Define through a bitmap lookup.
45180         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
45181         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
45182         (uc_is_case_ignorable): Define through a bitmap lookup.
45183         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
45184         lib/unictype/bitmap.h.
45185         (Depends-on): Add inline. Clean up.
45186         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
45187         lib/unictype/bitmap.h.
45188         (Depends-on): Add inline. Clean up.
45189         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
45190         recognition.
45191         * tests/unicase/test-u16-tolower.c (main): Likewise.
45192         * tests/unicase/test-u32-tolower.c (main): Likewise.
45193
45194 2009-06-30  Bruno Haible  <bruno@clisp.org>
45195
45196         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
45197         * lib/unicase/u16-casemap.c: Likewise.
45198         * lib/unicase/u32-casemap.c: Likewise.
45199
45200 2009-06-29  Bruno Haible  <bruno@clisp.org>
45201
45202         Define u32_casefold as a wrapper around u32_ct_casefold.
45203         * lib/unicase/u32-casefold.c: Update.
45204         * modules/unicase/u32-casefold (Depends-on): Add
45205         unicase/u32-ct-casefold, unicase/empty-prefix-context,
45206         unicase/empty-suffix-context. Clean up.
45207
45208         Define u16_casefold as a wrapper around u16_ct_casefold.
45209         * lib/unicase/u16-casefold.c: Update.
45210         * modules/unicase/u16-casefold (Depends-on): Add
45211         unicase/u16-ct-casefold, unicase/empty-prefix-context,
45212         unicase/empty-suffix-context. Clean up.
45213
45214         Define u8_casefold as a wrapper around u8_ct_casefold.
45215         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
45216         * lib/unicase/u8-casefold.c: Update.
45217         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
45218         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45219
45220         Define u32_totitle as a wrapper around u32_ct_totitle.
45221         * lib/unicase/u32-totitle.c: Update.
45222         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
45223         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45224
45225         Define u16_totitle as a wrapper around u16_ct_totitle.
45226         * lib/unicase/u16-totitle.c: Update.
45227         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
45228         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45229
45230         Define u8_totitle as a wrapper around u8_ct_totitle.
45231         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
45232         functions.
45233         (FUNC): Delegate to U_CT_TOTITLE.
45234         * lib/unicase/u8-totitle.c: Update.
45235         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
45236         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45237
45238         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
45239         invocation.
45240         * modules/unicase/u32-tolower (Depends-on): Add
45241         unicase/empty-prefix-context, unicase/empty-suffix-context.
45242
45243         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
45244         invocation.
45245         * modules/unicase/u16-tolower (Depends-on): Add
45246         unicase/empty-prefix-context, unicase/empty-suffix-context.
45247
45248         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
45249         * modules/unicase/u8-tolower (Depends-on): Add
45250         unicase/empty-prefix-context, unicase/empty-suffix-context.
45251
45252         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
45253         invocation.
45254         * modules/unicase/u32-toupper (Depends-on): Add
45255         unicase/empty-prefix-context, unicase/empty-suffix-context.
45256
45257         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
45258         invocation.
45259         * modules/unicase/u16-toupper (Depends-on): Add
45260         unicase/empty-prefix-context, unicase/empty-suffix-context.
45261
45262         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
45263         * modules/unicase/u8-toupper (Depends-on): Add
45264         unicase/empty-prefix-context, unicase/empty-suffix-context.
45265
45266         New module 'unicase/u32-ct-casefold'.
45267         * lib/unicase/u32-ct-casefold.c: New file.
45268         * modules/unicase/u32-ct-casefold: New file.
45269
45270         New module 'unicase/u16-ct-casefold'.
45271         * lib/unicase/u16-ct-casefold.c: New file.
45272         * modules/unicase/u16-ct-casefold: New file.
45273
45274         New module 'unicase/u8-ct-casefold'.
45275         * lib/unicase/u8-ct-casefold.c: New file.
45276         * lib/unicase/u-ct-casefold.h: New file, derived from
45277         lib/unicase/u-casefold.h.
45278         * modules/unicase/u8-ct-casefold: New file.
45279
45280         New module 'unicase/u32-ct-totitle'.
45281         * lib/unicase/u32-ct-totitle.c: New file.
45282         * modules/unicase/u32-ct-totitle: New file.
45283
45284         New module 'unicase/u16-ct-totitle'.
45285         * lib/unicase/u16-ct-totitle.c: New file.
45286         * modules/unicase/u16-ct-totitle: New file.
45287
45288         New module 'unicase/u8-ct-totitle'.
45289         * lib/unicase/u8-ct-totitle.c: New file.
45290         * lib/unicase/u-ct-totitle.h: New file, derived from
45291         lib/unicase/u-totitle.h.
45292         * modules/unicase/u8-ct-totitle: New file.
45293
45294         New module 'unicase/u32-ct-tolower'.
45295         * lib/unicase/u32-ct-tolower.c: New file.
45296         * modules/unicase/u32-ct-tolower: New file.
45297
45298         New module 'unicase/u16-ct-tolower'.
45299         * lib/unicase/u16-ct-tolower.c: New file.
45300         * modules/unicase/u16-ct-tolower: New file.
45301
45302         New module 'unicase/u8-ct-tolower'.
45303         * lib/unicase/u8-ct-tolower.c: New file.
45304         * modules/unicase/u8-ct-tolower: New file.
45305
45306         New module 'unicase/u32-ct-toupper'.
45307         * lib/unicase/u32-ct-toupper.c: New file.
45308         * modules/unicase/u32-ct-toupper: New file.
45309
45310         New module 'unicase/u16-ct-toupper'.
45311         * lib/unicase/u16-ct-toupper.c: New file.
45312         * modules/unicase/u16-ct-toupper: New file.
45313
45314         New module 'unicase/u8-ct-toupper'.
45315         * lib/unicase/u8-ct-toupper.c: New file.
45316         * modules/unicase/u8-ct-toupper: New file.
45317
45318         Add context arguments to u*_casemap functions.
45319         * lib/unicase/unicasemap.h: Include unicase.h.
45320         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
45321         suffix_context arguments.
45322         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
45323         functions.
45324         (FUNC): Add prefix_context and suffix_context arguments. Use
45325         uc_is_cased and uc_is_case_ignorable.
45326         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
45327         * lib/unicase/u16-casemap.c: Likewise.
45328         * lib/unicase/u32-casemap.c: Likewise.
45329         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
45330         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45331         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
45332         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45333         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
45334         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45335
45336         New module 'unicase/u32-suffix-context'.
45337         * lib/unicase/u32-suffix-context.c: New file.
45338         * modules/unicase/u32-suffix-context: New file.
45339
45340         New module 'unicase/u16-suffix-context'.
45341         * lib/unicase/u16-suffix-context.c: New file.
45342         * modules/unicase/u16-suffix-context: New file.
45343
45344         New module 'unicase/u8-suffix-context'.
45345         * lib/unicase/u8-suffix-context.c: New file.
45346         * lib/unicase/u-suffix-context.h: New file.
45347         * modules/unicase/u8-suffix-context: New file.
45348
45349         New module 'unicase/empty-suffix-context'.
45350         * lib/unicase/empty-suffix-context.c: New file.
45351         * modules/unicase/empty-suffix-context: New file.
45352
45353         New module 'unicase/u32-prefix-context'.
45354         * lib/unicase/u32-prefix-context.c: New file.
45355         * modules/unicase/u32-prefix-context: New file.
45356
45357         New module 'unicase/u16-prefix-context'.
45358         * lib/unicase/u16-prefix-context.c: New file.
45359         * modules/unicase/u16-prefix-context: New file.
45360
45361         New module 'unicase/u8-prefix-context'.
45362         * lib/unicase/u8-prefix-context.c: New file.
45363         * lib/unicase/u-prefix-context.h: New file.
45364         * lib/unicase/context.h: New file.
45365         * modules/unicase/u8-prefix-context: New file.
45366
45367         New module 'unicase/empty-prefix-context'.
45368         * lib/unicase/empty-prefix-context.c: New file.
45369         * modules/unicase/empty-prefix-context: New file.
45370
45371         New module 'unicase/ignorable'.
45372         * lib/unicase/ignorable.c: New file.
45373         * modules/unicase/ignorable: New file.
45374
45375         New module 'unicase/cased'.
45376         * lib/unicase/caseprop.h: New file.
45377         * lib/unicase/cased.c: New file.
45378         * modules/unicase/cased: New file.
45379
45380         New functions for case mapping of substrings.
45381         * lib/unicase.h (casing_prefix_context_t): New type.
45382         (unicase_empty_prefix_context): New variable.
45383         (u8_casing_prefix_context, u16_casing_prefix_context,
45384         u32_casing_prefix_context, u8_casing_prefixes_context,
45385         u16_casing_prefixes_context, u32_casing_prefixes_context): New
45386         declarations.
45387         (casing_suffix_context_t): New type.
45388         (unicase_empty_suffix_context): New variable.
45389         (u8_casing_suffix_context, u16_casing_suffix_context,
45390         u32_casing_suffix_context, u8_casing_suffixes_context,
45391         u16_casing_suffixes_context, u32_casing_suffixes_context,
45392         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
45393         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
45394         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
45395         declarations.
45396
45397 2009-06-28  Jim Meyering  <meyering@redhat.com>
45398
45399         boostrap: indent only with spaces
45400         * build-aux/bootstrap: Indent only with spaces, never TABs.
45401
45402         bootstrap: split long lines
45403         * build-aux/bootstrap: Keep line length < 80.
45404
45405         bootstrap: sync from coreutils
45406         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
45407         just as autoreconf does.  Verify a list of prerequisite
45408         package-name,version-number pairs if defined in bootstrap.conf.
45409         Refer to README-prereq, if prerequisites are not satisfied.
45410
45411 2009-06-27  Eric Blake  <ebb9@byu.net>
45412
45413         tests: add test for bogus NULL definition
45414         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
45415         * tests/test-stdlib.c: Likewise.
45416         * tests/test-string.c: Likewise.
45417         * tests/test-locale.c: Likewise.
45418         * tests/test-unistd.c: Likewise.
45419         * modules/stdio-tests (Depends-on): Add verify.
45420         * modules/stdlib-tests (Depends-on): Likewise.
45421         * modules/string-tests (Depends-on): Likewise.
45422         * modules/locale-tests (Depends-on): Likewise.
45423         * modules/unistd-tests (Depends-on): Likewise.
45424
45425 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
45426
45427         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
45428         self-explaining comment.
45429         * m4/selinux-selinux-h: Update serial.
45430         (gl_LIBSELINUX): New macro, adding a warning for missing development
45431         packages to code extracted from...
45432         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
45433         Add warning for missing development packages here, too.
45434
45435 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
45436
45437         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
45438
45439 2009-06-25  Eric Blake  <ebb9@byu.net>
45440
45441         version-etc: fix regression
45442         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
45443         gcc.
45444         (version_etc): Use it, to catch bugs with trailing NULL.
45445         * lib/version-etc.c (version_etc_arn): Delete unused argument.
45446         (version_etc_va): Fix logic bug.
45447         * modules/version-etc-tests: Add test.
45448         * tests/test-version-etc.c: New file.
45449         * tests/test-version-etc.sh: Likewise.
45450
45451 2009-06-25  Sam Steingold  <sds@gnu.org>
45452
45453         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
45454         mbtowc declaration.
45455
45456 2009-06-25  Eric Blake  <ebb9@byu.net>
45457
45458         fpurge: migrate into <stdio.h>
45459         * lib/fpurge.h: Delete...
45460         * lib/stdio.in.h (fpurge): ...and declare here, instead.
45461         * lib/fpurge.c (fpurge): Change declaring header.
45462         * modules/fpurge (Files): Drop deleted file.
45463         (Depends-on): Add stdio.
45464         (configure.ac): Set witness.
45465         * modules/stdio (Makefile.am): Support fpurge macros.
45466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45467         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
45468         * lib/fflush.c: Update client.
45469         * tests/test-fpurge.c: Likewise.
45470         * NEWS: Mention the change.
45471
45472 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45473
45474         * lib/argp-version-etc.c (program_authors): Add const
45475         qualifier.
45476         * lib/version-etc.c: Fix typos in the comments.
45477         * modules/argp-version-etc: Depends on version-etc.
45478
45479 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45480
45481         argp-version-etc: new module.
45482
45483         * lib/argp-version-etc.c: New file.
45484         * lib/argp-version-etc.h: New file.
45485         * modules/argp-version-etc: New file.
45486         * modules/argp-version-etc-tests: New file.
45487         * tests/test-argp-version-etc.c: New test.
45488         * tests/test-argp-version-etc-1.sh: New test.
45489
45490 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45491
45492         Provide additional interfaces and documentation for version-etc
45493         module.
45494
45495         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
45496         interfaces.
45497         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
45498         prototypes.
45499
45500 2009-06-24  Bruno Haible  <bruno@clisp.org>
45501
45502         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
45503         HAVE_LIB${NAME} macro.
45504         Reported by Sam Steingold <sds@gnu.org>.
45505
45506 2009-06-23  Simon Josefsson  <simon@josefsson.org>
45507
45508         * modules/hash-tests (test_hash_LDADD): Link to libintl when
45509         needed.
45510
45511 2009-06-21  Bruno Haible  <bruno@clisp.org>
45512
45513         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
45514         work.
45515         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
45516         together with LIB${NAME}, LTLIB${NAME}.
45517         Reported by Sam Steingold <sds@gnu.org>.
45518
45519 2009-06-20  Jim Meyering  <meyering@redhat.com>
45520
45521         tests: make sc_require_test_exit_idiom more generic
45522         * top/maint.mk (Exit_witness_file): New overridable variable.
45523         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
45524         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
45525
45526 2009-06-19  Jim Meyering  <meyering@redhat.com>
45527
45528         hash: reverse order of src/dst parameters in an internal interface
45529         * lib/hash.c (transfer_entries): Reverse order of parameters to
45530         put DST before SRC.  Adjust callers.
45531
45532         tests: test-hash: avoid wholesale duplication
45533         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
45534         Instead, use a loop and add a single conditional.
45535
45536         tests: test-hash: allow seed selection via a command line argument
45537         * tests/test-hash.c (get_seed): New function.
45538         (main): Use it.
45539
45540 2009-06-19  Eric Blake  <ebb9@byu.net>
45541
45542         hash: avoid memory leak on allocation failure
45543         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
45544         failure.  Factor repeated algorithm...
45545         (transfer_entries): ...into new helper routine.
45546         (hash_delete): React to hash_rehash return value.
45547
45548         hash: reduce memory pressure in hash_rehash no-op case
45549         * lib/hash.c (next_prime): Avoid overflow.
45550         (hash_initialize): Factor bucket size computation...
45551         (compute_bucket_size): ...into new helper function.
45552         (hash_rehash): Use new function and open coding to reduce memory
45553         pressure, and avoid a memory leak in USE_OBSTACK code.
45554         Reported by Jim Meyering.
45555
45556 2009-06-18  Eric Blake  <ebb9@byu.net>
45557
45558         hash: make rotation more obvious
45559         * modules/hash (Depends-on): Add bitrotate and stdint.
45560         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
45561         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
45562         (SIZE_MAX): Rely on headers for definition.
45563         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
45564         (raw_hasher): Use rotr_sz.
45565         Suggested by Jim Meyering.
45566
45567         hash: fix memory leak in last patch
45568         * lib/hash.c (hash_rehash): Avoid memory leak.
45569
45570         hash: avoid no-op rehashing
45571         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
45572
45573         hash: provide default callback functions
45574         * lib/hash.c (raw_hasher, raw_comparator): New functions.
45575         (hash_initialize): Use them as defaults.
45576         * tests/test-hash.c (main): Test this.
45577
45578         hash: minor optimization
45579         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
45580         when possible.
45581         (hash_initialize): Document this promise.
45582         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
45583         * tests/test-hash.c (hash_compare_strings): Test this.
45584
45585 2009-06-18  Bruno Haible  <bruno@clisp.org>
45586
45587         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
45588         going to be replaced anyway.
45589
45590 2009-06-18  Bruno Haible  <bruno@clisp.org>
45591
45592         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
45593         in one place.
45594         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
45595         be replaced anyway.
45596
45597 2009-06-18  Eric Blake  <ebb9@byu.net>
45598
45599         hash: check for resize before insertion
45600         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
45601         threshold before insertion, so that a pathological hash_rehash
45602         that fills every bucket can still trigger another rehash.
45603
45604 2009-06-18  Jim Meyering  <meyering@redhat.com>
45605
45606         hash-tests: add a loop around the small tests
45607         * tests/test-hash.c (main): Repeat small tests with selected
45608         small initial table sizes.
45609
45610 2009-06-17  Eric Blake  <ebb9@byu.net>
45611
45612         hash: minor cleanups
45613         * lib/hash.h (hash_entry): Make opaque, by moving...
45614         * lib/hash.c (hash_entry): ...here.
45615         (hash_insert): Clarify restrictions on what can be inserted.
45616         (hash_get_next): Clarify when it is safe to remove an element
45617         during traversal.
45618         (check_tuning): Skip verification when tuning is known safe.
45619         (hash_initialize): Clarify restrictions on tuning.
45620
45621 2009-06-17  Jim Meyering  <jim@meyering.net>
45622         and Eric Blake  <ebb9@byu.net>
45623
45624         hash-tests: new module
45625         * modules/hash-tests: New file.
45626         * tests/test-hash.c: New file.
45627
45628 2009-06-17  Eric Blake  <ebb9@byu.net>
45629
45630         strstr-simple: document new module
45631         * MODULES.html.sh: Document new module.
45632
45633         strstr, strcasestr: replace on platforms with broken memchr
45634         * modules/strstr: Split into...
45635         * modules/strstr-simple: ...new module that does not care about
45636         performance, but does care about glibc bug.
45637         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
45638         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
45639         if platform memchr is broken, per Debian bug 521737.
45640         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
45641         memchr.
45642         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
45643         * doc/posix-functions/strstr.texi (strstr): Document the fix.
45644         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
45645         * modules/mountlist (Depends-on): Add strstr-simple.
45646         * modules/gen-uni-tables (Depends-on): Likewise.
45647         * modules/argz (Depends-on): Add strstr.
45648
45649 2009-06-17  Bruno Haible  <bruno@clisp.org>
45650
45651         * modules/posix_spawn-internal (Depends-on): Add errno.
45652
45653 2009-06-17  Bruno Haible  <bruno@clisp.org>
45654
45655         Define missing ESTALE on Interix 3.5.
45656         * lib/errno.in.h (ESTALE): Assign a value if missing.
45657         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
45658         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
45659         missing.
45660         * doc/posix-headers/errno.texi: Mention the Interix bug.
45661         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
45662
45663 2009-06-15  Eric Blake  <ebb9@byu.net>
45664
45665         memchr, memchr2: add valgrind exception
45666         * lib/memchr.valgrind: New file.
45667         * lib/memchr2.valgrind: New file.
45668         * modules/memchr (Files): Distribute valgrind file.
45669         * modules/memchr2 (Files): Likewise.
45670
45671         docs: memchr is no longer obsolete
45672         * MODULES.html.sh: Move memchr from obsolete to string.h section.
45673         * lib/string.in.h (memchr): Simplify logic.
45674
45675 2009-06-14  Jim Meyering  <meyering@redhat.com>
45676
45677         link-follow: fix the "checking..." message to not mention trailing slash
45678         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
45679         never considered trailing slashes.
45680
45681 2009-06-14  Bruno Haible  <bruno@clisp.org>
45682
45683         * m4/memchr.m4: Mention also the bug on IA-64.
45684         * doc/posix-functions/memchr.texi: Likewise.
45685
45686 2009-06-12  Eric Blake  <ebb9@byu.net>
45687
45688         memchr: detect broken x86_64 and alpha implementations
45689         * modules/memchr-tests (Depends-on): Move mmap detection...
45690         * modules/memchr (Depends-on): ...here.
45691         (configure.ac): Set indicator.
45692         * lib/string.in.h (memchr): Declare replacement.
45693         * modules/string (Makefile.am): Trigger replacement.
45694         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45695         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
45696         bugs.
45697         * doc/posix-functions/memchr.texi (memchr): Document the bug.
45698         * modules/getpagesize (License): Relax license.
45699
45700 2009-06-11  Bruno Haible  <bruno@clisp.org>
45701
45702         * lib/idpriv.h: Add more references.
45703
45704 2009-06-08  Bruno Haible  <bruno@clisp.org>
45705
45706         Tests for module 'idpriv-droptemp'.
45707         * modules/idpriv-droptemp-tests: New file.
45708         * tests/test-idpriv-droptemp.sh: New file.
45709         * tests/test-idpriv-droptemp.su.sh: New file.
45710         * tests/test-idpriv-droptemp.c: New file.
45711
45712         New module 'idpriv-droptemp'.
45713         * lib/idpriv-droptemp.c: New file.
45714         * modules/idpriv-droptemp: New file.
45715
45716 2009-06-08  Bruno Haible  <bruno@clisp.org>
45717
45718         Tests for module 'idpriv-drop'.
45719         * modules/idpriv-drop-tests: New file.
45720         * tests/test-idpriv-drop.sh: New file.
45721         * tests/test-idpriv-drop.su.sh: New file.
45722         * tests/test-idpriv-drop.c: New file.
45723
45724         New module 'idpriv-drop'.
45725         * lib/idpriv.h: New file.
45726         * lib-idpriv-drop.c: New file.
45727         * m4/idpriv.m4: New file.
45728         * modules/idpriv-drop: New file.
45729
45730 2009-06-08  Bruno Haible  <bruno@clisp.org>
45731
45732         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
45733         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45734         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45735         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45736         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45737         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45738         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45739
45740 2009-06-08  Eric Blake  <ebb9@byu.net>
45741
45742         test-strstr: use memory fence, when possible
45743         * tests/test-strstr.c (main): Use memory fence, in order to be
45744         more likely to trigger Debian bug 521737.
45745         * modules/strstr-tests (Files): Pull in additional files.
45746
45747         memchr: no longer obsolete, for wider field testing
45748         * modules/memchr (Status, Notice): Delete, this module is no
45749         longer obsolete.
45750         * modules/vasnprintf (Depends-on): Add memchr.
45751
45752 2009-06-07  Jim Meyering  <meyering@redhat.com>
45753
45754         hash: declare some functions with the warn_unused_result attribute
45755         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
45756
45757 2009-06-07  Bruno Haible  <bruno@clisp.org>
45758
45759         * tests/test-alignof.c: Don't test int64_t if it does not exist.
45760         Reported by Eric Blake.
45761
45762 2009-06-06  Eric Blake  <ebb9@byu.net>
45763
45764         test-alignof: fix typo with long double
45765         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
45766         compiler error.
45767
45768 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
45769
45770         Escape non-texinfo { and }s.
45771         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
45772         markup error.
45773
45774 2009-06-04  Jim Meyering  <meyering@redhat.com>
45775
45776         gitlog-to-changelog: don't infloop on an empty commit log
45777         * build-aux/gitlog-to-changelog: Warn about an empty log message.
45778         Reported by Boris Petersen <transacid@centerim.org>.
45779
45780 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
45781
45782         version-etc: extend for packagers
45783         Add three new configure options, intended for packagers:
45784           --with-packager="packager name"
45785           --with-packager-version="packager-specific version"
45786           --with-packager-bug-reports="packager bug reporting"
45787         An example with coreutils:
45788           $ ./configure \
45789             --with-packager=Gentoo \
45790             --with-packager-bug-report=http://bugs.gentoo.org/ \
45791             --with-packager-version="patchset 1.6"
45792           $ ./src/ls --version | head -n2
45793           ls (GNU coreutils) 7.1-dirty
45794           Packaged by Gentoo (patchset 1.6)
45795         Note that the bug reporting info via --help doesn't show up because
45796         coreutils uses its own custom emit_bug_reporting_address() implementation
45797         in src/system.h.  If it didn't, it'd look like:
45798           $ ./src/ls --help | tail -n4
45799           Report bugs to <bug-coreutils@gnu.org>.
45800           Report Gentoo bugs to <http://bugs.gentoo.org/>.
45801           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
45802           General help using GNU software: <http://www.gnu.org/gethelp/>.
45803         * lib/version-etc.c: Print new information, if provided.
45804         * m4/version-etc.m4: New file.
45805         * modules/version-etc (Files): Add m4/version-etc.m4.
45806         (configure.ac): Add gl_VERSION_ETC.
45807
45808 2009-05-31  Bruno Haible  <bruno@clisp.org>
45809
45810         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
45811         and 'int64_t'.
45812         * modules/alignof-tests (Dependencies): Add stdint.
45813         Reported by Eric Blake.
45814
45815 2009-05-31  Bruno Haible  <bruno@clisp.org>
45816
45817         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
45818         restriction due to compiler bugs.
45819         Reported by Eric Blake.
45820
45821 2009-05-31  Simon Josefsson  <simon@josefsson.org>
45822             Bruno Haible  <bruno@clisp.org>
45823
45824         Fix test-alignof failure.
45825         * lib/alignof.h (alignof_slot): New macro.
45826         (alignof_type): New macro, with the same semantics as the previous
45827         'alignof'.
45828         (alignof): Alias to alignof_slot.
45829         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
45830         check that the results are usable as constant expressions.
45831
45832 2009-05-31  Bruno Haible  <bruno@clisp.org>
45833
45834         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
45835         * tests/test-memchr.c (main): Check that memchr does not read past the
45836         first occurrence of the byte.
45837         * tests/test-strstr.c (main): Update comment.
45838         Suggested by Eric Blake.
45839
45840 2009-05-30  Bruno Haible  <bruno@clisp.org>
45841
45842         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
45843         detail how to use dumpbin.
45844         Reported by David Byron <dbyron@dbyron.com>.
45845
45846 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45847
45848         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
45849
45850 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45851
45852         * m4/manywarnings.m4: Add GCC 4.4 warnings.
45853
45854 2009-05-28  Bruno Haible  <bruno@clisp.org>
45855
45856         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
45857         build-aux/ files.
45858
45859 2009-05-28  Simon Josefsson  <simon@josefsson.org>
45860
45861         * gnulib-tool (func_import): Transform license on build-aux/ files too.
45862
45863 2009-05-27  Simon Josefsson  <simon@josefsson.org>
45864
45865         * gnulib-tool (sed_transform_main_lib_file)
45866         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
45867         regexps.
45868
45869 2009-05-26  Simon Josefsson  <simon@josefsson.org>
45870
45871         * tests/test-strstr.c: Add another self-test.
45872         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
45873         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
45874
45875 2009-05-23  Bruno Haible  <bruno@clisp.org>
45876
45877         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
45878         change.
45879
45880 2009-05-21  Bruno Haible  <bruno@clisp.org>
45881
45882         Simplify use of mode_t varargs.
45883         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
45884         uses 'mode_t' or 'int'.
45885         * lib/openat.c (openat): Likewise.
45886         * lib/open-safer.c (open_safer): Likewise.
45887         * m4/mode_t.m4: New file.
45888         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
45889         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
45890         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
45891         * modules/open (Files): Add m4/mode_t.m4.
45892         * modules/openat (Files): Likewise.
45893         * modules/fcntl-safer (Files): Likewise.
45894         Suggested by Eric Blake.
45895
45896 2009-05-21  Pádraig Brady  <P@draigbrady.com>
45897
45898         * doc/glibc-functions/fallocate.texi: New file.
45899         * doc/gnulib.texi: Include it.
45900
45901 2009-05-21  Eric Blake  <ebb9@byu.net>
45902             Bruno Haible  <bruno@clisp.org>
45903
45904         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
45905         invocations.
45906         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45907
45908 2009-05-21  Eric Blake  <ebb9@byu.net>
45909             Bruno Haible  <bruno@clisp.org>
45910
45911         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
45912         include_next. Fix of 2008-11-20 commit.
45913         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
45914         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
45915         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
45916         NEXT_MATH_H.
45917         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
45918         instead of NEXT_MATH_H.
45919
45920 2009-05-21  Bruno Haible  <bruno@clisp.org>
45921
45922         Avoid redefinition warnings for SIZE_MAX.
45923         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
45924         Reported by Simon Josefsson.
45925
45926 2009-05-21  Bruno Haible  <bruno@clisp.org>
45927
45928         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
45929         AC_CACHE_VAL.
45930
45931 2009-05-20  Bruno Haible  <bruno@clisp.org>
45932
45933         Make zeroptr.h work on mingw.
45934         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
45935         mprotect.
45936         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
45937         * modules/memchr2-tests (configure.ac): Likewise.
45938         * modules/memcmp-tests (configure.ac): Likewise.
45939         * modules/memmem-tests (configure.ac): Likewise.
45940         * modules/memrchr-tests (configure.ac): Likewise.
45941         Reported by Simon Josefsson.
45942
45943 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45944
45945         * tests/test-glob.c: Include string.h for strcmp prototype.
45946
45947 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45948
45949         * modules/getdelim (Depends-on): Add explicit stdint, although it
45950         was implicitly already pulled in via realloc-posix.
45951         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
45952
45953 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45954
45955         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
45956         G. Christensen" <tgc@jupiterrise.com>.
45957         * m4/sys_socket_h.m4: Check for sa_family_t.
45958         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
45959         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
45960         * tests/test-sys_socket.c: Check that sa_family_t works.
45961
45962 2009-05-18  Eric Blake  <ebb9@byu.net>
45963
45964         maint.mk: allow gnulib_dir in VPATH build
45965         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
45966
45967 2009-05-15  Jim Meyering  <meyering@redhat.com>
45968
45969         maint.mk: Give gnulib_dir a default definition.
45970         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
45971         Thus, most packages no longer need to specify this variable in cfg.mk
45972
45973 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
45974
45975         rename.m4: fix typos that would make non-mingw cross-configure fail
45976         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
45977
45978 2009-05-13  Eric Blake  <ebb9@byu.net>
45979
45980         mmap-anon: avoid out-of-order autoconf expansion
45981         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
45982         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
45983         * modules/memchr-tests (Depends-on): Add extensions.
45984         * modules/memchr2-tests (Depends-on): Add extensions.
45985         * modules/memcmp-tests (Depends-on): Add extensions.
45986         * modules/memmem-tests (Depends-on): Add extensions.
45987         * modules/memrchr-tests (Depends-on): Add extensions.
45988
45989 2009-05-13  Bruno Haible  <bruno@clisp.org>
45990
45991         Make some tests ISO C 99 compliant.
45992         * tests/zerosize-ptr.h: New file.
45993         * tests/test-memchr.c: Include zerosize-ptr.h.
45994         (main): Use a zero-size object pointer instead of NULL.
45995         * tests/test-memchr2.c: Include zerosize-ptr.h.
45996         (main): Use a zero-size object pointer instead of NULL.
45997         * tests/test-memcmp.c: Include zerosize-ptr.h.
45998         (main): Use a zero-size object pointer instead of NULL.
45999         * tests/test-memmem.c: Include zerosize-ptr.h.
46000         (main): Use a zero-size object pointer instead of NULL.
46001         * tests/test-memrchr.c: Include zerosize-ptr.h.
46002         (main): Use a zero-size object pointer instead of NULL.
46003         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
46004         m4/mmap-anon.m4.
46005         (Depends-on): Add getpagesize.
46006         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46007         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
46008         m4/mmap-anon.m4.
46009         (Depends-on): Add getpagesize.
46010         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46011         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
46012         m4/mmap-anon.m4.
46013         (Depends-on): Add getpagesize.
46014         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46015         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
46016         m4/mmap-anon.m4.
46017         (Depends-on): Add getpagesize.
46018         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46019         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
46020         m4/mmap-anon.m4.
46021         (Depends-on): Add getpagesize.
46022         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46023
46024 2009-05-12  Bruno Haible  <bruno@clisp.org>
46025
46026         Tests for module 'alignof'.
46027         * modules/alignof-tests: New file.
46028         * tests/test-alignof.c: New file.
46029
46030 2009-05-12  Bruno Haible  <bruno@clisp.org>
46031
46032         Fix alignof macro.
46033         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
46034         vendor compilers that are always correct.
46035
46036 2009-05-12  Bruno Haible  <bruno@clisp.org>
46037
46038         Make the MAP_ANONYMOUS detection work on HP-UX 11.
46039         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
46040         not whether its fully works.
46041
46042 2009-05-12  Bruno Haible  <bruno@clisp.org>
46043
46044         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
46045
46046 2009-05-12  Jim Meyering  <meyering@redhat.com>
46047
46048         * top/maint.mk: Adjust backslash alignment.
46049
46050 2009-05-11  Simon Josefsson  <simon@josefsson.org>
46051
46052         * top/maint.mk: Make $(srcdir)/build-aux configurable.
46053
46054 2009-05-11  Eric Blake  <ebb9@byu.net>
46055
46056         argp: avoid undefined behavior
46057         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
46058         macros.
46059
46060 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46061
46062         * tests/test-vc-list-files-git.sh: Do git config of user.email and
46063         user.name to prevent git commit from complaining.
46064
46065 2009-05-10  Bruno Haible  <bruno@clisp.org>
46066
46067         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
46068         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
46069         it rewrites every file name only once.
46070         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
46071
46072 2009-05-08  Bruno Haible  <bruno@clisp.org>
46073
46074         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
46075         instead of 'max'.
46076
46077 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46078
46079         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
46080         sockaddr_storage test.
46081
46082 2009-05-07  Simon Josefsson  <simon@josefsson.org>
46083
46084         * modules/sys_socket (Makefile.am): Substitute
46085         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
46086         * m4/sys_socket_h.m4: Check for sockaddr_storage.
46087         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
46088         * tests/test-sys_socket.c: Check sockaddr_storage.
46089
46090 2009-05-08  Bruno Haible  <bruno@clisp.org>
46091
46092         New module 'alignof'.
46093         * lib/alignof.h: New file.
46094         * modules/alignof: New file.
46095
46096 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46097             Bruno Haible  <bruno@clisp.org>
46098
46099         Fix test-file-has-acl on FreeBSD.
46100         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
46101         mask is implicitly added.
46102         * tests/test-file-has-acl.c: Include <signal.h>.
46103         (main): Terminate the test after 5 seconds.
46104         * modules/acl-tests (configure.ac): Check for alarm function.
46105
46106 2009-05-04  Bruno Haible  <bruno@clisp.org>
46107
46108         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
46109         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
46110         * modules/errno (configure.ac): Drop AC_REQUIRE.
46111         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
46112         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
46113
46114 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46115
46116         * modules/glob-tests: New module.
46117         * tests/test-glob.c: Add.
46118
46119 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46120
46121         * modules/fnmatch-tests: New module.
46122         * tests/test-fnmatch.c: Add.
46123
46124 2009-05-04  Eric Blake  <ebb9@byu.net>
46125
46126         maint: make the new no-submodule-changes rule VPATH-safe
46127         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
46128
46129 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46130             Bruno Haible  <bruno@clisp.org>
46131
46132         acl: Fix infinite loop on FreeBSD.
46133         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
46134         of return value from acl_get_entry.
46135         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
46136         Likewise.
46137
46138 2009-05-03  Bruno Haible  <bruno@clisp.org>
46139
46140         * lib/acl-internal.h (acl_entries): Clarify return value.
46141         * lib/acl_entries.c (acl_entries): Likewise.
46142
46143 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46144
46145         Bug fix in acl module.
46146         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
46147
46148 2009-05-03  Bruno Haible  <bruno@clisp.org>
46149
46150         Create gperf-generated file in the source dir, not in the build dir.
46151         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
46152         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
46153         * modules/unicase/locale-language (unicase/locale-languages.h):
46154         Likewise.
46155         * modules/unicase/special-casing (unicase/special-casing-table.h):
46156         Likewise.
46157         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
46158         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
46159         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
46160         Reported by Ralf Wildenhues.
46161
46162 2009-05-03  Bruno Haible  <bruno@clisp.org>
46163
46164         * modules/fnmatch (Description, configure.ac): Taken from
46165         fnmatch-posix.
46166         * modules/fnmatch-posix: Turn into a symbolic reference to the
46167         'fnmatch' module, and deprecate.
46168         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
46169
46170 2009-05-03  Bruno Haible  <bruno@clisp.org>
46171
46172         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
46173         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
46174         Reported by Ralf Wildenhues.
46175
46176 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46177
46178         * m4/fnmatch.m4: Fix fnmatch re-define.
46179
46180 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46181
46182         priv-set: new module and tests; adapt write-any-file
46183         * lib/priv-set.c: New file.
46184         * lib/priv-set.h: New file.
46185         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
46186         * lib/write-any-file.c: Simplify by using priv-set module.
46187         * m4/priv-set.m4: New file.
46188         * modules/priv-set: New file.
46189         * modules/unlinkdir: Add dependency on priv-set module.
46190         * modules/write-any-file: Likewise.
46191
46192         Tests for module 'priv-set'.
46193         * modules/priv-set-tests: New file.
46194         * tests/test-priv-set.c: New file.
46195
46196 2009-05-03  Jim Meyering  <meyering@redhat.com>
46197             Bruno Haible  <bruno@clisp.org>
46198
46199         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
46200         use the converted UTF-8 variant of the name instead.
46201
46202 2009-05-03  Jim Meyering  <meyering@redhat.com>
46203
46204         tests: tighten some getdate tests
46205         * tests/test-getdate.c (main): Tighten tests: require equality,
46206         not just greater than.  Set TZ envvar to UTC0.
46207
46208 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
46209
46210         getdate: correctly interpret "next monday" when run on a Monday
46211         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
46212         that e.g., "next tues" (when run on a tuesday) results in a date
46213         that is one week in the future, and not today's date.
46214         I.e., add a week when the wday is the same as the current one.
46215         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
46216         and earlier by Martin Bernreuther and Jan Minář.
46217         * tests/test-getdate.c (main): Check that "next DAY" is always in
46218         the future and that "last DAY" is always in the past.
46219
46220 2009-05-02  Jim Meyering  <meyering@redhat.com>
46221
46222         build: ensure that a release build fails when a submodule is unclean
46223         * top/maint.mk (no-submodule-changes): New rule.
46224         (alpha beta major): Depend on it.
46225
46226 2009-05-02  Bruno Haible  <bruno@clisp.org>
46227
46228         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
46229         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
46230         shell variable gl_fnmatch_required to detect which variant is
46231         requested.
46232         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
46233         gl_FUNC_FNMATCH_POSIX.
46234         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
46235         exclude fnmatch-posix.
46236
46237 2009-05-02  Bruno Haible  <bruno@clisp.org>
46238
46239         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
46240         * modules/mbsrtowcs (License): Change to LGPLv2+.
46241         * modules/strnlen1 (License): Likewise.
46242         Reported by Simon Josefsson.
46243
46244 2009-05-02  Bruno Haible  <bruno@clisp.org>
46245
46246         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
46247         "cross".
46248         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
46249         gnulib-tool was called with option --source-base=lib.
46250
46251 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46252
46253         Use automake *-local hooks without commands, for extensibility.
46254         * modules/localcharset (Makefile.am): Rename install-exec-local
46255         rule to install-exec-localcharset, and make it a prerequisite of
46256         install-exec-local.  Likewise, rename the uninstall-local rule to
46257         uninstall-localcharset, and make it a prerequisite of the former.
46258
46259 2009-05-01  Bruno Haible  <bruno@clisp.org>
46260
46261         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
46262         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46263         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
46264         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
46265         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
46266         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46267         m4/locale-zh.m4, m4/codeset.m4.
46268
46269         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46270         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
46271         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46272         m4/locale-zh.m4.
46273
46274         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
46275         REPLACE_WCRTOMB if mbstate_t must be replaced.
46276         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
46277         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
46278
46279 2009-05-01  Bruno Haible  <bruno@clisp.org>
46280
46281         Avoid compiler warnings when redefining macros defined by <libintl.h>.
46282         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
46283         dngettext, dcngettext, textdomain, bindtextdomain,
46284         bind_textdomain_codeset): Undefine before redefining.
46285
46286 2009-04-30  Bruno Haible  <bruno@clisp.org>
46287
46288         Fix bug introduced on 2009-04-25.
46289         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
46290         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
46291         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
46292         is defined.
46293         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
46294         is defined.
46295         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
46296         is defined.
46297         Reported by Elbert_Pol <elbert.pol@gmail.com>.
46298
46299 2009-04-28  Bruno Haible  <bruno@clisp.org>
46300
46301         Comment tweaks.
46302         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
46303         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
46304         * lib/unicase.h (u*_casexfrm): Likewise.
46305         Reported by Paolo Bonzini.
46306
46307 2009-04-28  Bruno Haible  <bruno@clisp.org>
46308
46309         Fix a compilation error.
46310         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
46311         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46312         Reported by Jim Meyering.
46313
46314 2009-04-27  Bruno Haible  <bruno@clisp.org>
46315
46316         New module 'libunistring'.
46317         * modules/libunistring: New file.
46318         * m4/libunistring.m4: New file.
46319         * MODULES.html.sh (Unicode string functions): Add it.
46320
46321 2009-04-27  Eric Blake  <ebb9@byu.net>
46322
46323         maint.mk: allow package-specific header to provide <config.h>
46324         * top/maint.mk (sc_require_config_h): New variable.
46325         (sc_require_config_h, sc_require_config_h_first): Use it.
46326
46327 2009-04-27  Simon Josefsson  <simon@josefsson.org>
46328
46329         * top/maint.mk (sc_avoid_if_before_free): Except
46330         useless-if-before-free script.
46331
46332 2009-04-27  Eric Blake  <ebb9@byu.net>
46333
46334         maintainer-makefile: depend on all required helper scripts
46335         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
46336         useless-if-before-free.
46337         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
46338         version, rather than assuming gnulib checkout is available.
46339         Reported by Simen Josefsson.
46340
46341 2009-04-26  Bruno Haible  <bruno@clisp.org>
46342
46343         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
46344         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
46345         "../" or "..".
46346
46347 2009-04-26  Bruno Haible  <bruno@clisp.org>
46348
46349         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
46350         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
46351         AC_LIB_HAVE_LINKFLAGS.
46352
46353 2009-04-26  Bruno Haible  <bruno@clisp.org>
46354
46355         Simplify calling convention of u*_conv_from_encoding.
46356         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
46357         u32_conv_from_encoding): Expect a resultbuf argument and return the
46358         result directly as a pointer.
46359         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
46360         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
46361         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
46362         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
46363         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
46364         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46365         Update.
46366         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
46367         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
46368         * lib/vasnprintf.c (VASNPRINTF): Update.
46369         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
46370         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
46371         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
46372         * NEWS: Mention the change.
46373
46374 2009-04-26  Bruno Haible  <bruno@clisp.org>
46375
46376         Simplify calling convention of u*_conv_to_encoding.
46377         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46378         u32_conv_to_encoding): Expect a resultbuf argument and return the
46379         result directly as a pointer.
46380         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46381         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
46382         freeing scaled_offsets if mem_iconveha failed.
46383         * lib/unicase/u-casexfrm.h (FUNC): Update.
46384         * lib/uninorm/u-normxfrm.h (FUNC): Update.
46385         * lib/vasnprintf.c (VASNPRINTF): Update.
46386         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
46387         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
46388         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
46389         * NEWS: Mention the change.
46390
46391 2009-04-26  Bruno Haible  <bruno@clisp.org>
46392
46393         Avoid test failures on AIX and OSF/1.
46394         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
46395         malloc(0).
46396         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46397         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46398         Likewise.
46399         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
46400         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
46401         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
46402         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
46403         * doc/posix-functions/malloc.texi: Document the portability problem
46404         related to malloc(0).
46405
46406 2009-04-26  Bruno Haible  <bruno@clisp.org>
46407
46408         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
46409         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
46410         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
46411
46412 2009-04-25  Bruno Haible  <bruno@clisp.org>
46413
46414         Avoid link error when creating a namespace clean library.
46415         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
46416         as macro with arguments if already defined as an alias.
46417         * lib/signbitf.c (gl_signbitf): Don't undefine.
46418         * lib/signbitd.c (gl_signbitd): Don't undefine.
46419         * lib/signbitl.c (gl_signbitl): Don't undefine.
46420
46421 2009-04-25  Jim Meyering  <meyering@redhat.com>
46422
46423         vc-list-files: fix another quoting bug
46424         * build-aux/vc-list-files: Avoid sed backslash expansion
46425         of pathological directory names.
46426
46427 2009-04-25  Eric Blake  <ebb9@byu.net>
46428
46429         vc-list-files: fix shell quoting error
46430         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
46431         timestamp.
46432
46433 2009-04-25  Jim Meyering  <meyering@redhat.com>
46434
46435         vc-list-files: restore lost functionality with subdir argument
46436         * build-aux/vc-list-files: When given a non-"." sub-directory
46437         argument, substitute the $dir/ prefix back onto each resulting name.
46438         Otherwise, coreutils' root_tests check would fail.
46439
46440 2009-04-24  Eric Blake  <ebb9@byu.net>
46441
46442         vc-list-files: ignore git symlinks
46443         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
46444         than ls-files, to ignore git symlinks.
46445
46446         maint.mk: import improvements from m4
46447         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
46448         (move_if_change): Delete unused macro.
46449         (news-date-check, vc-diff-check): Support VPATH builds.
46450         (announcement): Likewise.  Split --bootstrap-tools list...
46451         (boostrap-tools): ...into separate list, which can be overridden
46452         in cfg.mk.
46453         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
46454         requiring dependency on useless-if-before-free module.
46455         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
46456         Support VPATH builds.
46457
46458 2009-04-24  Jim Meyering  <meyering@redhat.com>
46459
46460         maint.mk: remove coreutils-specific rules and variables
46461         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
46462         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
46463         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
46464
46465         maint.mk: remove obsolete rule
46466         * top/maint.mk (rel-check): Remove rule.
46467         (WGET, WGETFLAGS): Remove now-unused variables.
46468
46469 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46470
46471         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
46472         consistency.
46473
46474         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
46475         '$(PATH_SEPARATOR)' instead of ':'.
46476
46477 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46478
46479         * lib/getopt1.c (main): Use 'const' for static array.
46480
46481 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46482
46483         * top/maint.mk: Sync with coreutils.
46484         * NEWS: Explain incompatibilities.
46485
46486 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46487             Bruno Haible  <bruno@clisp.org>
46488
46489         Fix cross-compilation results.
46490         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
46491         statement, as third argument of AC_TRY_RUN.
46492         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
46493         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
46494         Likewise.
46495         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46496         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
46497         Likewise.
46498         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
46499         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
46500         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
46501
46502 2009-04-20  Bruno Haible  <bruno@clisp.org>
46503
46504         Avoid test failure on mingw.
46505         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
46506
46507 2009-04-20  Bruno Haible  <bruno@clisp.org>
46508
46509         Avoid compilation error on mingw.
46510         * modules/localename-tests (Depends-on): Add locale.
46511
46512 2009-04-19  Bruno Haible  <bruno@clisp.org>
46513
46514         Support for building a shared library on Windows platforms.
46515         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
46516         (main): Test the presence of UNINORM_NFC here.
46517         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
46518         (main): Test the presence of UNINORM_NFD here.
46519         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
46520         (main): Test the presence of UNINORM_NFKC here.
46521         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
46522         (main): Test the presence of UNINORM_NFKD here.
46523
46524 2009-04-19  Bruno Haible  <bruno@clisp.org>
46525
46526         Avoid a compiler warning.
46527         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
46528         Change type of variable 'sequence'.
46529
46530 2009-04-19  Bruno Haible  <bruno@clisp.org>
46531
46532         * modules/configmake (Makefile.am): When the contents of configmake.h
46533         does not change, arrange to preserve its modification time.
46534
46535 2009-04-17  Simon Josefsson  <simon@josefsson.org>
46536
46537         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
46538         gettext domain.
46539
46540 2009-04-16  Jim Meyering  <meyering@redhat.com>
46541
46542         useless-if-before-free: improve conversion code
46543         * build-aux/useless-if-before-free: Adjust code-in-comment to match
46544         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
46545
46546 2009-04-14  Bruno Haible  <bruno@clisp.org>
46547
46548         * modules/fcntl (Depends-on): Add extensions.
46549         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
46550
46551 2009-04-12  Ben Pfaff  <blp@gnu.org>
46552
46553         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
46554         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
46555
46556 2009-03-20  Ben Pfaff  <blp@gnu.org>
46557
46558         Make rename replace existing destinations on Windows.
46559         * m4/rename.m4: Add test for Mingw.
46560         * lib/rename.c: Add rename replacement that uses MoveFileEx with
46561         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
46562         * doc/posix-functions/rename.texi: Document.
46563
46564 2009-04-10  Bruno Haible  <bruno@clisp.org>
46565
46566         New include file "iconveh.h".
46567         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
46568         * lib/striconveh.h: Include it.
46569         (enum iconv_ilseq_handler): Remove definition.
46570         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
46571         striconveh.h.
46572         * lib/striconveha.c: Include striconveh.h.
46573         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
46574         * modules/striconveh (Files): Add lib/iconveh.h.
46575         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
46576         lib/striconveh.h.
46577
46578 2009-04-10  Bruno Haible  <bruno@clisp.org>
46579
46580         * lib/uniconv.h: Update comment.
46581
46582 2009-04-10  Bruno Haible  <bruno@clisp.org>
46583
46584         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
46585         always.
46586         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46587         * lib/unistr/u16-mbtouc-aux.c: Likewise.
46588         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
46589         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
46590         "unistring-notinline.h", so that the function gets defined always.
46591         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46592         * lib/unistr/u8-uctomb.c: Likewise.
46593         * lib/unistr/u16-mbtouc.c: Likewise.
46594         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
46595         * lib/unistr/u16-uctomb.c: Likewise.
46596         * lib/unistr/u32-mbtouc.c: Likewise.
46597         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
46598         * lib/unistr/u32-uctomb.c: Likewise.
46599
46600 2009-04-10  Bruno Haible  <bruno@clisp.org>
46601
46602         Mark 'utime' obsolete.
46603         * modules/utime (Status, Notice): New sections.
46604         Suggested by Jim Meyering.
46605
46606         Fix cross-compile guess for utime test.
46607         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
46608         autoconf.
46609         * doc/posix-functions/utime.texi: Give more precisions.
46610         Reported by Jan <ipif@ymail.com>.
46611
46612 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
46613
46614         filevercmp: correct today's change
46615         * lib/filevercmp.c: Also handle coreutils' test inputs.
46616         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
46617
46618         Fix regression in 'filevercmp' module. Thanks Sven Joachim
46619         for reporting it.
46620         * lib/filevercmp.c: Special handle for "", "." and "..".
46621         * tests/test-filevercmp.c: Enlarge the set suite.
46622
46623 2009-04-07  Jim Meyering  <meyering@redhat.com>
46624
46625         useless-if-before-free: show how to remove braced useless free, too
46626         * build-aux/useless-if-before-free: still only in a comment, though.
46627
46628 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
46629
46630         maint.mk: import changes to syntax-check macros from coreutils
46631         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
46632         Use them in the relevant macros.
46633
46634 2009-04-06  Bruno Haible  <bruno@clisp.org>
46635
46636         Fix unportable use of bit-fields.
46637         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
46638         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
46639         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
46640
46641 2009-04-06  Bruno Haible  <bruno@clisp.org>
46642
46643         Avoid test failures on AIX and OSF/1.
46644         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
46645         that malloc(0) = NULL.
46646         * tests/unicase/test-u8-tolower.c (check): Likewise.
46647         * tests/unicase/test-u8-totitle.c (check): Likewise.
46648         * tests/unicase/test-u8-toupper.c (check): Likewise.
46649         * tests/unicase/test-u16-casefold.c (check): Likewise.
46650         * tests/unicase/test-u16-tolower.c (check): Likewise.
46651         * tests/unicase/test-u16-totitle.c (check): Likewise.
46652         * tests/unicase/test-u16-toupper.c (check): Likewise.
46653         * tests/unicase/test-u32-casefold.c (check): Likewise.
46654         * tests/unicase/test-u32-tolower.c (check): Likewise.
46655         * tests/unicase/test-u32-totitle.c (check): Likewise.
46656         * tests/unicase/test-u32-toupper.c (check): Likewise.
46657         * tests/uninorm/test-u8-nfc.c (check): Likewise.
46658         * tests/uninorm/test-u8-nfd.c (check): Likewise.
46659         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
46660         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
46661         * tests/uninorm/test-u16-nfc.c (check): Likewise.
46662         * tests/uninorm/test-u16-nfd.c (check): Likewise.
46663         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
46664         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
46665         * tests/uninorm/test-u32-nfc.c (check): Likewise.
46666         * tests/uninorm/test-u32-nfd.c (check): Likewise.
46667         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
46668         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
46669
46670 2009-04-05  Bruno Haible  <bruno@clisp.org>
46671
46672         Work around an autoconf limitation.
46673         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
46674         comment line if it would be longer than 3 KB.
46675
46676 2009-04-05  Bruno Haible  <bruno@clisp.org>
46677
46678         Avoid test failure with libiconv-1.13.
46679         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
46680         of the expected test results.
46681
46682 2009-04-05  Bruno Haible  <bruno@clisp.org>
46683
46684         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
46685         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
46686         that it should be installed.
46687
46688 2009-04-05  Bruno Haible  <bruno@clisp.org>
46689
46690         * gnulib-tool: New option --copy-file.
46691         (func_usage): Document it.
46692         (func_dest_tmpfilename): Moved out of func_import.
46693         (func_add_file, func_update_file): New functions, extracted from
46694         func_import.
46695         (func_import): Update.
46696
46697 2009-04-05  Karl Berry  <karl@gnu.org>
46698
46699         * README: prominently mention gnulib-tool.
46700         Rearrange sections so getting the code is near the top.
46701
46702 2009-04-05  Bruno Haible  <bruno@clisp.org>
46703
46704         * lib/unicase.h: Mention u*_cmp2.
46705         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46706         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
46707         * lib/unicase/ulc-casecmp.c: Likewise.
46708         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
46709         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
46710         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
46711         unistr/u8-cmp.
46712         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
46713         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
46714         unistr/u16-cmp.
46715         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
46716         unistr/u32-cmp.
46717
46718         * lib/uninorm.h: Mention u*_cmp2.
46719         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46720         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
46721         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
46722         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
46723         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
46724         unistr/u8-cmp.
46725         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
46726         unistr/u16-cmp.
46727         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
46728         unistr/u32-cmp.
46729
46730         New module 'unistr/u32-cmp2'.
46731         * lib/unistr/u32-cmp2.c: New file.
46732         * modules/unistr/u32-cmp2: New file.
46733
46734         New module 'unistr/u16-cmp2'.
46735         * lib/unistr/u16-cmp2.c: New file.
46736         * modules/unistr/u16-cmp2: New file.
46737
46738         New module 'unistr/u8-cmp2'.
46739         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
46740         * lib/unistr/u8-cmp2.c: New file.
46741         * lib/unistr/u-cmp2.h: New file.
46742         * modules/unistr/u8-cmp2: New file.
46743
46744 2009-04-05  Bruno Haible  <bruno@clisp.org>
46745
46746         * lib/unictype.h (uc_property_is_valid): New macro.
46747         * tests/unictype/test-pr_byname.c (main): Use it.
46748
46749         * lib/unistr.h: Doc fixes.
46750         * lib/uniconv.h: Doc fixes.
46751         * lib/unictype.h: Doc fixes.
46752
46753 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
46754
46755         Port coreutils 7.2 to Solaris 8.
46756
46757         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
46758         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
46759         for Solaris 8.  This is a bit of a hack, as it means it's the
46760         caller's responsibility to add -lnsl if needed, but most likely it
46761         won't be needed since only getaddrinfo uses this and getaddrinfo
46762         isn't needed on Solaris 8.
46763
46764         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
46765         problem to Solaris 8 encountered with coreutils 7.2, which
46766         resulted in a message "fnmatch.c:292: warning: passing argument 4
46767         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
46768         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
46769
46770 2009-04-03  Simon Josefsson  <simon@josefsson.org>
46771
46772         * m4/ld-version-script.m4: Add FIXME comment.
46773
46774 2009-04-02  Simon Josefsson  <simon@josefsson.org>
46775
46776         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
46777         SOVERSION variable.
46778
46779 2009-04-02  Bruno Haible  <bruno@clisp.org>
46780
46781         * Makefile (info, html, dvi, pdf): Combine the rules.
46782         Suggested by Jim Meyering.
46783
46784 2009-04-01  Bruno Haible  <bruno@clisp.org>
46785
46786         * Makefile (info, html, dvi, pdf): New targets.
46787         Reported by Reuben Thomas <rrt@sc3d.org>.
46788
46789 2009-04-01  Bruno Haible  <bruno@clisp.org>
46790
46791         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
46792         can be put into PATH.
46793         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
46794
46795 2009-04-01  Bruno Haible  <bruno@clisp.org>
46796
46797         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
46798
46799 2009-04-01  Bruno Haible  <bruno@clisp.org>
46800
46801         Rename module 'visibility'.
46802         * modules/lib-symbol-visibility: Renamed from modules/visibility.
46803         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
46804         * doc/gnulib.texi: Update.
46805         * MODULES.html.sh (Misc): Update.
46806         * NEWS: Mention the change.
46807
46808 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46809
46810         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
46811         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
46812         Eric Blake <ebb9@byu.net> for review.
46813         * MODULES.html.sh: Add lib-msvc-compat.
46814         * doc/gnulib.texi: Link to new section.
46815         * m4/ld-output-def.m4: New file.
46816         * doc/ld-output-def.texi: New file.
46817
46818 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46819
46820         Rename ld-version-script to lib-symbol-versions.  Suggested by
46821         Bruno Haible <bruno@clisp.org>.
46822         * modules/ld-version-script: Renamed to lib-symbol-versions.
46823         * doc/ld-version-script.texi: Fix module name.
46824         * MODULES.html.sh: Add lib-symbol-versions.
46825
46826 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46827
46828         * modules/u64-tests: New file.
46829         * tests/test-u64.c: New file.
46830
46831 2009-03-04  Simon Josefsson  <simon@josefsson.org>
46832
46833         * MODULES.html.sh: Mention u64.
46834         * modules/u64: New module.
46835         * modules/crypto/sha512: Depend on u64 module instead of providing
46836         u64.h.
46837
46838 2009-03-27  Eric Blake  <ebb9@byu.net>
46839
46840         test-strerror: make debugging EAI_SYSTEM easier
46841         * modules/getaddrinfo-tests (Depends-on): Add strerror.
46842         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
46843         failure was EAI_SYSTEM.
46844
46845 2009-03-25  Bruno Haible  <bruno@clisp.org>
46846
46847         Fix a problem with --enable-relocatable on Solaris 7.
46848         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
46849         since 2008-02-24.
46850
46851 2009-03-25  Eric Blake  <ebb9@byu.net>
46852
46853         test-sockets: avoid gcc warning
46854         * tests/test-sockets.c (main): Silence compiler warning.
46855
46856 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
46857
46858         New modules nproc, pthread, contributed by Glen Lenker.
46859
46860         * MODULES.html.sh: Add pthread, nproc.
46861         * lib/nproc.c: New file.
46862         * lib/nproc.h: New file.
46863         * lib/pthread.in.h: New file.
46864         * m4/pthread.m4: New file.
46865         * modules/nproc: New file.
46866         * modules/pthread: New file.
46867
46868 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46869
46870         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
46871         New variable.
46872
46873 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
46874
46875         filevercmp: handle simple~ and numbered.~3~ backup suffixes
46876         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
46877         * tests/test-filevercmp.c: Add tests for backup suffixes.
46878
46879 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46880
46881         * modules/stdlib (Depends-on): Add stdint, needed when defining
46882         struct random_data on, for example, HP-UX 10.20.  Reported by
46883         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46884
46885 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46886
46887         * lib/readline.c (readline): Call fflush on stdout after printing
46888         prompt.
46889
46890 2009-03-20  Bruno Haible  <bruno@clisp.org>
46891
46892         Remove dependency from 'close' module to -lws2_32 on native Windows.
46893         * lib/close-hook.h: New file.
46894         * lib/close-hook.c: New file.
46895         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
46896         w32sock.h.
46897         (_gl_close_fd_maybe_socket): Remove function.
46898         (rpl_close): Invoke execute_all_close_hooks instead of
46899         _gl_close_fd_maybe_socket.
46900         * lib/sockets.c: Include close-hook.h, w32sock.h.
46901         (close_fd_maybe_socket): New function, essentially from lib/close.c.
46902         (close_sockets_hook): New variable.
46903         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
46904         (gl_sockets_cleanup): Unregister it.
46905         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
46906         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
46907         * modules/close-hook: New file.
46908         * modules/close (Files): Remove lib/w32sock.h.
46909         (Depends-on): Add close-hook.
46910         (Link): Remove section.
46911         * modules/sockets (Files): Add lib/w32sock.h.
46912         (Depends-on): Add close-hook.
46913         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
46914         invocation.
46915         * NEWS: Mention that LIB_CLOSE is gone.
46916
46917 2009-03-23  Eric Blake  <ebb9@byu.net>
46918
46919         signal-tests: test previous patch
46920         * tests/test-signal.c: New file.
46921         * modules/signal-tests: Likewise.
46922
46923         signal.h: always support 'volatile sig_atomic_t'
46924         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
46925         (gl_SIGNAL_H_DEFAULTS): Add a default.
46926         * modules/signal (Makefile.am): Substitute if needed.
46927         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
46928         users can blindly add volatile.
46929         * doc/posix-headers/signal.texi (signal.h): Document it.
46930         Reported by Matthew Woehlke.
46931
46932 2009-03-23  Jim Meyering  <meyering@redhat.com>
46933
46934         pathmax: PATH_MAX: use pathconf only when available
46935         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
46936         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
46937         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
46938         This avoids a link failure in a PSP cross-compilation environment
46939         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
46940
46941         * lib/vasnprintf.c (divide): Fix typo in comment.
46942
46943 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46944
46945         * gnulib-tool (func_filter_filelist): Fix comment.
46946
46947 2009-03-20  Bruno Haible  <bruno@clisp.org>
46948
46949         Make sockets.h self-contained.
46950         * lib/sockets.c: Include sockets.h first.
46951         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
46952
46953 2009-03-19  Eric Blake  <ebb9@byu.net>
46954
46955         doc: mention more functions added in cygwin 1.7.0
46956         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
46957         addition.
46958         * doc/posix-functions/log2f.texi: Likewise.
46959
46960 2009-03-19  Jim Meyering  <meyering@redhat.com>
46961
46962         fsusage: avoid syntax error due to statement-before-declaration
46963         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
46964         after all declarations.  Reported by Matthew Woehlke in
46965         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
46966
46967 2009-03-18  Eric Blake  <ebb9@byu.net>
46968
46969         build-aux/compile: sync from automake
46970         * build-aux/compile: New file, from automake.
46971         * config/srclist.txt: Mention build-aux/compile.
46972
46973 2009-03-17  Bruno Haible  <bruno@clisp.org>
46974
46975         * lib/git-merge-changelog.c: Fix typo in comment.
46976         Reported by Reuben Thomas <rrt@sc3d.org>.
46977
46978 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
46979
46980         * m4/regex.m4: update and improve help for
46981         --without-included-regex.
46982
46983 2009-03-17  Simon Josefsson  <simon@josefsson.org>
46984
46985         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
46986         failure on missing include files.
46987
46988 2009-03-17  Eric Blake  <ebb9@byu.net>
46989
46990         doc: mention more functions added in cygwin 1.7.0
46991         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
46992         addition.
46993         * doc/posix-functions/fwscanf.texi: Likewise.
46994         * doc/posix-functions/swprintf.texi: Likewise.
46995         * doc/posix-functions/swscanf.texi: Likewise.
46996         * doc/posix-functions/vfwprintf.texi: Likewise.
46997         * doc/posix-functions/vfwscanf.texi: Likewise.
46998         * doc/posix-functions/vswprintf.texi: Likewise.
46999         * doc/posix-functions/vswscanf.texi: Likewise.
47000         * doc/posix-functions/vwprintf.texi: Likewise.
47001         * doc/posix-functions/vwscanf.texi: Likewise.
47002         * doc/posix-functions/wcscasecmp.texi: Likewise.
47003         * doc/posix-functions/wcsdup.texi: Likewise.
47004         * doc/posix-functions/wcsftime.texi: Likewise.
47005         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47006         * doc/posix-functions/wprintf.texi: Likewise.
47007         * doc/posix-functions/wscanf.texi: Likewise.
47008         * doc/glibc-functions/gethostbyname2.texi: Likewise.
47009
47010 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47011
47012         maint.mk: really add $(AM_MAKEFLAGS)
47013         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
47014         was inadvertently omitted in the last commit.
47015         Spotted by Bruno Haible.
47016
47017         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
47018         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
47019         $(AM_MAKEFLAGS)' rather than plain `make'.
47020
47021         gnulib-tool: execute $MAKE not make
47022         * gnulib-tool: Default $MAKE to 'make'.
47023         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
47024         than make.  Initialize $MAKE in the do-autobuild script.
47025
47026         gnulib-tool: use $MAKE not make in generated files
47027         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
47028         make, in generated files.  Initialize $MAKE in the do-autobuild
47029         script.
47030
47031         * top/GNUmakefile (_have-git-version-gen): Fix typo.
47032
47033         GNUmakefile: disable parallelism only for multiple, recursive targets
47034         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
47035         additions in the Makefile.
47036         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
47037         by Automake.
47038         (.NOTPARALLEL): Only disable parallel builds if multiple targets
47039         are listed on the command line and at least one of them is
47040         listed in $(ALL_RECURSIVE_TARGETS).
47041
47042 2009-03-14  Bruno Haible  <bruno@clisp.org>
47043
47044         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
47045         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
47046         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
47047         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
47048         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
47049         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
47050         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
47051         unistr/u8-uctomb.
47052         * modules/unistr/u8-strchr (Depends-on): Likewise.
47053         * modules/unistr/u8-strrchr (Depends-on): Likewise.
47054         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
47055         unistr/u16-uctomb.
47056         * modules/unistr/u16-strchr (Depends-on): Likewise.
47057         * modules/unistr/u16-strrchr (Depends-on): Likewise.
47058
47059 2009-03-12  Bruno Haible  <bruno@clisp.org>
47060
47061         Work around select() bug on Interix 3.5.
47062         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
47063         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
47064         * m4/select.m4: New file.
47065         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
47066         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
47067         * modules/select (Files): Add m4/select.m4.
47068         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
47069         * modules/nanosleep (Depends-on): Add select.
47070         * modules/poll (Depends-on): Likewise.
47071         * doc/posix-functions/select.texi: Mention the Interix bug.
47072         Reported by Markus Duft <mduft@gentoo.org>.
47073
47074         * lib/select.c: Renamed from lib/winsock-select.c.
47075         * modules/select (Files): Add lib/select.c, remove
47076         lib/winsock-select.c.
47077         (configure.ac): Update.
47078
47079 2009-03-12  Jim Meyering  <meyering@redhat.com>
47080
47081         avoid gcc warnings about unused macro definitions
47082         * lib/readtokens.c (STREQ): Remove unused definition.
47083         * lib/xmalloc.c (SIZE_MAX): Likewise.
47084         * lib/openat-die.c (N_): Likewise.
47085         * lib/mountlist.c (SIZE_MAX): Remove definition.
47086         Instead, include <stdint.h>.
47087         * lib/readutmp.c: Likewise.
47088         * modules/readutmp (Depends-on): Add stdint.
47089         * modules/mountlist (Depends-on): Add stdint.
47090         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
47091
47092 2009-03-10  Bruno Haible  <bruno@clisp.org>
47093
47094         Tests for module 'mbmemcasecoll'.
47095         * modules/mbmemcasecoll-tests: New file.
47096         * tests/test-mbmemcasecoll1.sh: New file.
47097         * tests/test-mbmemcasecoll2.sh: New file.
47098         * tests/test-mbmemcasecoll3.sh: New file.
47099         * tests/test-mbmemcasecoll.c: New file.
47100
47101         New module 'mbmemcasecoll'.
47102         * lib/mbmemcasecoll.h: New file.
47103         * lib/mbmemcasecoll.c: New file.
47104         * modules/mbmemcasecoll: New file.
47105
47106         * tests/test-mbmemcasecmp.h: New file, extracted from
47107         tests/test-mbmemcasecmp.c.
47108         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
47109         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
47110         (main): Update.
47111         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
47112
47113 2009-03-09  Bruno Haible  <bruno@clisp.org>
47114
47115         Tests for module 'mbmemcasecmp'.
47116         * modules/mbmemcasecmp-tests: New file.
47117         * tests/test-mbmemcasecmp1.sh: New file.
47118         * tests/test-mbmemcasecmp2.sh: New file.
47119         * tests/test-mbmemcasecmp3.sh: New file.
47120         * tests/test-mbmemcasecmp.c: New file.
47121
47122         New module 'mbmemcasecmp'.
47123         * lib/mbmemcasecmp.h: New file.
47124         * lib/mbmemcasecmp.c: New file.
47125         * modules/mbmemcasecmp: New file.
47126
47127 2009-03-09  Bruno Haible  <bruno@clisp.org>
47128
47129         Tests for module 'unicase/ulc-casecoll'.
47130         * modules/unicase/ulc-casecoll-tests: New file.
47131         * tests/unicase/test-ulc-casecoll1.sh: New file.
47132         * tests/unicase/test-ulc-casecoll2.sh: New file.
47133         * tests/unicase/test-ulc-casecoll.c: New file.
47134
47135         New module 'unicase/ulc-casecoll'.
47136         * lib/unicase.h (ulc_casecoll): New declaration.
47137         * lib/unicase/ulc-casecoll.c: New file.
47138         * modules/unicase/ulc-casecoll: New file.
47139
47140         New module 'unicase/ulc-casexfrm'.
47141         * lib/unicase.h (ulc_casexfrm): New declaration.
47142         * lib/unicase/ulc-casexfrm.c: New file.
47143         * modules/unicase/ulc-casexfrm: New file.
47144
47145 2009-03-09  Bruno Haible  <bruno@clisp.org>
47146
47147         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
47148         invocations.
47149
47150         * m4/mbscasecmp.m4: Remove file.
47151         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
47152         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
47153
47154         * m4/mbscasestr.m4: Remove file.
47155         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
47156         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
47157
47158         * m4/mbschr.m4: Remove file.
47159         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
47160         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
47161
47162         * m4/mbscspn.m4: Remove file.
47163         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
47164         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
47165
47166         * m4/mbslen.m4: Remove file.
47167         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
47168         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
47169
47170         * m4/mbsncasecmp.m4: Remove file.
47171         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
47172         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
47173
47174         * m4/mbsnlen.m4: Remove file.
47175         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
47176         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
47177
47178         * m4/mbspbrk.m4: Remove file.
47179         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
47180         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
47181
47182         * m4/mbspcasecmp.m4: Remove file.
47183         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
47184         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
47185
47186         * m4/mbsrchr.m4: Remove file.
47187         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
47188         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
47189
47190         * m4/mbssep.m4: Remove file.
47191         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
47192         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
47193
47194         * m4/mbsspn.m4: Remove file.
47195         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
47196         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
47197
47198         * m4/mbsstr.m4: Remove file.
47199         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
47200         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
47201
47202         * m4/mbstok_r.m4: Remove file.
47203         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
47204         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
47205
47206         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
47207
47208         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
47209         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
47210
47211         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
47212
47213 2009-03-08  Bruno Haible  <bruno@clisp.org>
47214
47215         Tests for module 'unicase/ulc-casecmp'.
47216         * modules/unicase/ulc-casecmp-tests: New file.
47217         * tests/unicase/test-ulc-casecmp1.sh: New file.
47218         * tests/unicase/test-ulc-casecmp2.sh: New file.
47219         * tests/unicase/test-ulc-casecmp.c: New file.
47220
47221         New module 'unicase/ulc-casecmp'.
47222         * lib/unicase.h (ulc_casecmp): New declaration.
47223         * lib/unicase/ulc-casecmp.c: New file.
47224         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
47225         'const SRC_UNIT *'.
47226         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
47227         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
47228         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
47229         * modules/unicase/ulc-casecmp: New file.
47230
47231         Tests for module 'unicase/u32-is-cased'.
47232         * modules/unicase/u32-is-cased-tests: New file.
47233         * tests/unicase/test-u32-is-cased.c: New file.
47234
47235         Tests for module 'unicase/u16-is-cased'.
47236         * modules/unicase/u16-is-cased-tests: New file.
47237         * tests/unicase/test-u16-is-cased.c: New file.
47238
47239         Tests for module 'unicase/u8-is-cased'.
47240         * modules/unicase/u8-is-cased-tests: New file.
47241         * tests/unicase/test-u8-is-cased.c: New file.
47242         * tests/unicase/test-is-cased.h: New file.
47243
47244         New module 'unicase/u32-is-cased'.
47245         * lib/unicase/u32-is-cased.c: New file.
47246         * modules/unicase/u32-is-cased: New file.
47247
47248         New module 'unicase/u16-is-cased'.
47249         * lib/unicase/u16-is-cased.c: New file.
47250         * modules/unicase/u16-is-cased: New file.
47251
47252         New module 'unicase/u8-is-cased'.
47253         * lib/unicase/u8-is-cased.c: New file.
47254         * lib/unicase/u-is-cased.h: New file.
47255         * modules/unicase/u8-is-cased: New file.
47256
47257         Tests for module 'unicase/u32-is-casefolded'.
47258         * modules/unicase/u32-is-casefolded-tests: New file.
47259         * tests/unicase/test-u32-is-casefolded.c: New file.
47260
47261         Tests for module 'unicase/u16-is-casefolded'.
47262         * modules/unicase/u16-is-casefolded-tests: New file.
47263         * tests/unicase/test-u16-is-casefolded.c: New file.
47264
47265         Tests for module 'unicase/u8-is-casefolded'.
47266         * modules/unicase/u8-is-casefolded-tests: New file.
47267         * tests/unicase/test-u8-is-casefolded.c: New file.
47268         * tests/unicase/test-is-casefolded.h: New file.
47269
47270         New module 'unicase/u32-is-casefolded'.
47271         * lib/unicase/u32-is-casefolded.c: New file.
47272         * modules/unicase/u32-is-casefolded: New file.
47273
47274         New module 'unicase/u16-is-casefolded'.
47275         * lib/unicase/u16-is-casefolded.c: New file.
47276         * modules/unicase/u16-is-casefolded: New file.
47277
47278         New module 'unicase/u8-is-casefolded'.
47279         * lib/unicase/u8-is-casefolded.c: New file.
47280         * modules/unicase/u8-is-casefolded: New file.
47281
47282         Tests for module 'unicase/u32-is-titlecase'.
47283         * modules/unicase/u32-is-titlecase-tests: New file.
47284         * tests/unicase/test-u32-is-titlecase.c: New file.
47285
47286         Tests for module 'unicase/u16-is-titlecase'.
47287         * modules/unicase/u16-is-titlecase-tests: New file.
47288         * tests/unicase/test-u16-is-titlecase.c: New file.
47289
47290         Tests for module 'unicase/u8-is-titlecase'.
47291         * modules/unicase/u8-is-titlecase-tests: New file.
47292         * tests/unicase/test-u8-is-titlecase.c: New file.
47293         * tests/unicase/test-is-titlecase.h: New file.
47294
47295         New module 'unicase/u32-is-titlecase'.
47296         * lib/unicase/u32-is-titlecase.c: New file.
47297         * modules/unicase/u32-is-titlecase: New file.
47298
47299         New module 'unicase/u16-is-titlecase'.
47300         * lib/unicase/u16-is-titlecase.c: New file.
47301         * modules/unicase/u16-is-titlecase: New file.
47302
47303         New module 'unicase/u8-is-titlecase'.
47304         * lib/unicase/u8-is-titlecase.c: New file.
47305         * modules/unicase/u8-is-titlecase: New file.
47306
47307         Tests for module 'unicase/u32-is-lowercase'.
47308         * modules/unicase/u32-is-lowercase-tests: New file.
47309         * tests/unicase/test-u32-is-lowercase.c: New file.
47310
47311         Tests for module 'unicase/u16-is-lowercase'.
47312         * modules/unicase/u16-is-lowercase-tests: New file.
47313         * tests/unicase/test-u16-is-lowercase.c: New file.
47314
47315         Tests for module 'unicase/u8-is-lowercase'.
47316         * modules/unicase/u8-is-lowercase-tests: New file.
47317         * tests/unicase/test-u8-is-lowercase.c: New file.
47318         * tests/unicase/test-is-lowercase.h: New file.
47319
47320         New module 'unicase/u32-is-lowercase'.
47321         * lib/unicase/u32-is-lowercase.c: New file.
47322         * modules/unicase/u32-is-lowercase: New file.
47323
47324         New module 'unicase/u16-is-lowercase'.
47325         * lib/unicase/u16-is-lowercase.c: New file.
47326         * modules/unicase/u16-is-lowercase: New file.
47327
47328         New module 'unicase/u8-is-lowercase'.
47329         * lib/unicase/u8-is-lowercase.c: New file.
47330         * modules/unicase/u8-is-lowercase: New file.
47331
47332         Tests for module 'unicase/u32-is-uppercase'.
47333         * modules/unicase/u32-is-uppercase-tests: New file.
47334         * tests/unicase/test-u32-is-uppercase.c: New file.
47335
47336         Tests for module 'unicase/u16-is-uppercase'.
47337         * modules/unicase/u16-is-uppercase-tests: New file.
47338         * tests/unicase/test-u16-is-uppercase.c: New file.
47339
47340         Tests for module 'unicase/u8-is-uppercase'.
47341         * modules/unicase/u8-is-uppercase-tests: New file.
47342         * tests/unicase/test-u8-is-uppercase.c: New file.
47343         * tests/unicase/test-is-uppercase.h: New file.
47344
47345         New module 'unicase/u32-is-uppercase'.
47346         * lib/unicase/u32-is-uppercase.c: New file.
47347         * modules/unicase/u32-is-uppercase: New file.
47348
47349         New module 'unicase/u16-is-uppercase'.
47350         * lib/unicase/u16-is-uppercase.c: New file.
47351         * modules/unicase/u16-is-uppercase: New file.
47352
47353         New module 'unicase/u8-is-uppercase'.
47354         * lib/unicase/u8-is-uppercase.c: New file.
47355         * modules/unicase/u8-is-uppercase: New file.
47356
47357         New module 'unicase/u32-is-invariant'.
47358         * lib/unicase/u32-is-invariant.c: New file.
47359         * modules/unicase/u32-is-invariant: New file.
47360
47361         New module 'unicase/u16-is-invariant'.
47362         * lib/unicase/u16-is-invariant.c: New file.
47363         * modules/unicase/u16-is-invariant: New file.
47364
47365         New module 'unicase/u8-is-invariant'.
47366         * lib/unicase/u8-is-invariant.c: New file.
47367         * lib/unicase/invariant.h: New file.
47368         * lib/unicase/u-is-invariant.h: New file.
47369         * modules/unicase/u8-is-invariant: New file.
47370
47371         Tests for module 'unicase/u32-casecoll'.
47372         * modules/unicase/u32-casecoll-tests: New file.
47373         * tests/unicase/test-u32-casecoll.c: New file.
47374
47375         Tests for module 'unicase/u16-casecoll'.
47376         * modules/unicase/u16-casecoll-tests: New file.
47377         * tests/unicase/test-u16-casecoll.c: New file.
47378
47379         Tests for module 'unicase/u8-casecoll'.
47380         * modules/unicase/u8-casecoll-tests: New file.
47381         * tests/unicase/test-u8-casecoll.c: New file.
47382
47383         New module 'unicase/u32-casecoll'.
47384         * lib/unicase/u32-casecoll.c: New file.
47385         * modules/unicase/u32-casecoll: New file.
47386
47387         New module 'unicase/u16-casecoll'.
47388         * lib/unicase/u16-casecoll.c: New file.
47389         * modules/unicase/u16-casecoll: New file.
47390
47391         New module 'unicase/u8-casecoll'.
47392         * lib/unicase/u8-casecoll.c: New file.
47393         * lib/unicase/u-casecoll.h: New file.
47394         * modules/unicase/u8-casecoll: New file.
47395
47396         New module 'unicase/u32-casexfrm'.
47397         * lib/unicase/u32-casexfrm.c: New file.
47398         * modules/unicase/u32-casexfrm: New file.
47399
47400         New module 'unicase/u16-casexfrm'.
47401         * lib/unicase/u16-casexfrm.c: New file.
47402         * modules/unicase/u16-casexfrm: New file.
47403
47404         New module 'unicase/u8-casexfrm'.
47405         * lib/unicase/u8-casexfrm.c: New file.
47406         * lib/unicase/u-casexfrm.h: New file.
47407         * modules/unicase/u8-casexfrm: New file.
47408
47409         Tests for module 'unicase/u32-casecmp'.
47410         * modules/unicase/u32-casecmp-tests: New file.
47411         * tests/unicase/test-u32-casecmp.c: New file.
47412
47413         Tests for module 'unicase/u16-casecmp'.
47414         * modules/unicase/u16-casecmp-tests: New file.
47415         * tests/unicase/test-u16-casecmp.c: New file.
47416
47417         Tests for module 'unicase/u8-casecmp'.
47418         * modules/unicase/u8-casecmp-tests: New file.
47419         * tests/unicase/test-u8-casecmp.c: New file.
47420         * tests/unicase/test-casecmp.h: New file.
47421
47422         New module 'unicase/u32-casecmp'.
47423         * lib/unicase/u32-casecmp.c: New file.
47424         * modules/unicase/u32-casecmp: New file.
47425
47426         New module 'unicase/u16-casecmp'.
47427         * lib/unicase/u16-casecmp.c: New file.
47428         * modules/unicase/u16-casecmp: New file.
47429
47430         New module 'unicase/u8-casecmp'.
47431         * lib/unicase/u8-casecmp.c: New file.
47432         * lib/unicase/u-casecmp.h: New file.
47433         * modules/unicase/u8-casecmp: New file.
47434
47435         Tests for module 'unicase/u32-casefold'.
47436         * modules/unicase/u32-casefold-tests: New file.
47437         * tests/unicase/test-u32-casefold.c: New file.
47438
47439         Tests for module 'unicase/u16-casefold'.
47440         * modules/unicase/u16-casefold-tests: New file.
47441         * tests/unicase/test-u16-casefold.c: New file.
47442
47443         Tests for module 'unicase/u8-casefold'.
47444         * modules/unicase/u8-casefold-tests: New file.
47445         * tests/unicase/test-u8-casefold.c: New file.
47446
47447         New module 'unicase/u32-casefold'.
47448         * lib/unicase/u32-casefold.c: New file.
47449         * modules/unicase/u32-casefold: New file.
47450
47451         New module 'unicase/u16-casefold'.
47452         * lib/unicase/u16-casefold.c: New file.
47453         * modules/unicase/u16-casefold: New file.
47454
47455         New module 'unicase/u8-casefold'.
47456         * lib/unicase/u8-casefold.c: New file.
47457         * lib/unicase/u-casefold.h: New file.
47458         * modules/unicase/u8-casefold: New file.
47459
47460         New module 'unicase/tocasefold'.
47461         * lib/unicase/casefold.h: New file.
47462         * lib/unicase/tocasefold.c: New file.
47463         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
47464         * modules/unicase/tocasefold: New file.
47465
47466         Tests for module 'unicase/u32-totitle'.
47467         * modules/unicase/u32-totitle-tests: New file.
47468         * tests/unicase/test-u32-totitle.c: New file.
47469
47470         Tests for module 'unicase/u16-totitle'.
47471         * modules/unicase/u16-totitle-tests: New file.
47472         * tests/unicase/test-u16-totitle.c: New file.
47473
47474         Tests for module 'unicase/u8-totitle'.
47475         * modules/unicase/u8-totitle-tests: New file.
47476         * tests/unicase/test-u8-totitle.c: New file.
47477
47478         New module 'unicase/u32-totitle'.
47479         * lib/unicase/u32-totitle.c: New file.
47480         * modules/unicase/u32-totitle: New file.
47481
47482         New module 'unicase/u16-totitle'.
47483         * lib/unicase/u16-totitle.c: New file.
47484         * modules/unicase/u16-totitle: New file.
47485
47486         New module 'unicase/u8-totitle'.
47487         * lib/unicase/u8-totitle.c: New file.
47488         * lib/unicase/u-totitle.h: New file.
47489         * modules/unicase/u8-totitle: New file.
47490
47491         Tests for module 'unicase/u32-tolower'.
47492         * modules/unicase/u32-tolower-tests: New file.
47493         * tests/unicase/test-u32-tolower.c: New file.
47494
47495         Tests for module 'unicase/u16-tolower'.
47496         * modules/unicase/u16-tolower-tests: New file.
47497         * tests/unicase/test-u16-tolower.c: New file.
47498
47499         Tests for module 'unicase/u8-tolower'.
47500         * modules/unicase/u8-tolower-tests: New file.
47501         * tests/unicase/test-u8-tolower.c: New file.
47502
47503         New module 'unicase/u32-tolower'.
47504         * lib/unicase/u32-tolower.c: New file.
47505         * modules/unicase/u32-tolower: New file.
47506
47507         New module 'unicase/u16-tolower'.
47508         * lib/unicase/u16-tolower.c: New file.
47509         * modules/unicase/u16-tolower: New file.
47510
47511         New module 'unicase/u8-tolower'.
47512         * lib/unicase/u8-tolower.c: New file.
47513         * modules/unicase/u8-tolower: New file.
47514
47515         Tests for module 'unicase/u32-toupper'.
47516         * modules/unicase/u32-toupper-tests: New file.
47517         * tests/unicase/test-u32-toupper.c: New file.
47518
47519         Tests for module 'unicase/u16-toupper'.
47520         * modules/unicase/u16-toupper-tests: New file.
47521         * tests/unicase/test-u16-toupper.c: New file.
47522
47523         Tests for module 'unicase/u8-toupper'.
47524         * modules/unicase/u8-toupper-tests: New file.
47525         * tests/unicase/test-u8-toupper.c: New file.
47526
47527         New module 'unicase/u32-toupper'.
47528         * lib/unicase/u32-toupper.c: New file.
47529         * modules/unicase/u32-toupper: New file.
47530
47531         New module 'unicase/u16-toupper'.
47532         * lib/unicase/u16-toupper.c: New file.
47533         * modules/unicase/u16-toupper: New file.
47534
47535         New module 'unicase/u8-toupper'.
47536         * lib/unicase/u8-toupper.c: New file.
47537         * modules/unicase/u8-toupper: New file.
47538
47539         New module 'unicase/u32-casemap'.
47540         * lib/unicase/u32-casemap.c: New file.
47541         * modules/unicase/u32-casemap: New file.
47542
47543         New module 'unicase/u16-casemap'.
47544         * lib/unicase/u16-casemap.c: New file.
47545         * modules/unicase/u16-casemap: New file.
47546
47547         New module 'unicase/u8-casemap'.
47548         * lib/unicase/unicasemap.h: New file.
47549         * lib/unicase/u8-casemap.c: New file.
47550         * lib/unicase/u-casemap.h: New file.
47551         * modules/unicase/u8-casemap: New file.
47552
47553         New module 'unicase/special-casing'.
47554         * lib/unicase/special-casing.h: New file.
47555         * lib/unicase/special-casing.c: New file.
47556         * lib/unicase/special-casing-table.gperf: New file, generated by
47557         gen-uni-tables.c.
47558         * modules/unicase/special-casing: New file.
47559
47560         Tests for module 'unicase/locale-language'.
47561         * modules/unicase/locale-language-tests: New file.
47562         * tests/unicase/test-locale-language.sh: New file.
47563         * tests/unicase/test-locale-language.c: New file.
47564
47565         New module 'unicase/locale-language'.
47566         * lib/unicase/locale-language.c: New file.
47567         * lib/unicase/locale-languages.gperf: New file.
47568         * modules/unicase/locale-language: New file.
47569
47570         Generate more tables for case conversion and case folding.
47571         * lib/gen-uni-tables.c (SCC_*): New enum items.
47572         (struct special_casing_rule): New type.
47573         (casing_rules, num_casing_rules, allocated_casing_rules): New
47574         variables.
47575         (add_casing_rule, fill_casing_rules): New functions.
47576         (struct casefold_rule): New type.
47577         (casefolding_rules, num_casefolding_rules,
47578         allocated_casefolding_rules): New variables.
47579         (fill_casefolding_rules): New function.
47580         (unicode_casefold): New variable.
47581         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
47582         sort_casing_rules, output_casing_rules): New functions.
47583         (main): Accept to more arguments: SpecialCasing.txt and
47584         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
47585         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
47586         Output mapping for casefolding.
47587
47588         * lib/unicase.h: Include stdbool.h, uninorm.h.
47589         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
47590         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
47591         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
47592         arguments.
47593         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
47594         resultp arguments.
47595         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
47596         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
47597         resultp arguments.
47598         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
47599         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
47600         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
47601         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
47602         declarations.
47603         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
47604
47605 2009-03-08  Bruno Haible  <bruno@clisp.org>
47606
47607         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47608         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
47609         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
47610         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47611
47612 2009-03-07  Bruno Haible  <bruno@clisp.org>
47613
47614         Adjust u*_normcmp, u*_normcoll API.
47615         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47616         u16_normcoll, u32_normcoll): Change failure conventions.
47617         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
47618         errno and return -1.
47619         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47620
47621 2009-03-07  Bruno Haible  <bruno@clisp.org>
47622
47623         Tests for module 'uninorm/u32-normcoll'.
47624         * modules/uninorm/u32-normcoll-tests: New file.
47625         * tests/uninorm/test-u32-normcoll.c: New file.
47626
47627         Tests for module 'uninorm/u16-normcoll'.
47628         * modules/uninorm/u16-normcoll-tests: New file.
47629         * tests/uninorm/test-u16-normcoll.c: New file.
47630
47631         Tests for module 'uninorm/u8-normcoll'.
47632         * modules/uninorm/u8-normcoll-tests: New file.
47633         * tests/uninorm/test-u8-normcoll.c: New file.
47634
47635 2009-03-07  Bruno Haible  <bruno@clisp.org>
47636
47637         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
47638         tests/uninorm/test-u32-normcmp.c.
47639         * tests/uninorm/test-u32-normcmp.c: Include it.
47640         (test_nonascii): New function, extracted from main. Add some more
47641         tests.
47642         (main): Invoke test_ascii and test_nonascii.
47643         * modules/uninorm/u32-normcmp-tests (Files): Add
47644         tests/uninorm/test-u32-normcmp.h.
47645         (Depends-on): Remove uninorm/u32-normcmp.
47646
47647         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
47648         tests/uninorm/test-u16-normcmp.c.
47649         * tests/uninorm/test-u16-normcmp.c: Include it.
47650         (test_nonascii): New function, extracted from main. Add some more
47651         tests.
47652         (main): Invoke test_ascii and test_nonascii.
47653         * modules/uninorm/u16-normcmp-tests (Files): Add
47654         tests/uninorm/test-u16-normcmp.h.
47655         (Depends-on): Remove uninorm/u16-normcmp.
47656
47657         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
47658         tests/uninorm/test-u8-normcmp.c.
47659         * tests/uninorm/test-u8-normcmp.c: Include it.
47660         (test_nonascii): New function, extracted from main. Add some more
47661         tests.
47662         (main): Invoke test_ascii and test_nonascii.
47663         * modules/uninorm/u8-normcmp-tests (Files): Add
47664         tests/uninorm/test-u8-normcmp.h.
47665         (Depends-on): Remove uninorm/u8-normcmp.
47666
47667 2009-03-07  Bruno Haible  <bruno@clisp.org>
47668
47669         New module 'uninorm/u32-normcoll'.
47670         * lib/uninorm/u32-normcoll.c: New file.
47671         * modules/uninorm/u32-normcoll: New file.
47672
47673         New module 'uninorm/u16-normcoll'.
47674         * lib/uninorm/u16-normcoll.c: New file.
47675         * modules/uninorm/u16-normcoll: New file.
47676
47677         New module 'uninorm/u8-normcoll'.
47678         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
47679         declarations.
47680         * lib/uninorm/u8-normcoll.c: New file.
47681         * lib/uninorm/u-normcoll.h: New file.
47682         * modules/uninorm/u8-normcoll: New file.
47683
47684         New module 'uninorm/u32-normxfrm'.
47685         * lib/uninorm/u32-normxfrm.c: New file.
47686         * modules/uninorm/u32-normxfrm: New file.
47687
47688         New module 'uninorm/u16-normxfrm'.
47689         * lib/uninorm/u16-normxfrm.c: New file.
47690         * modules/uninorm/u16-normxfrm: New file.
47691
47692         New module 'uninorm/u8-normxfrm'.
47693         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
47694         declarations.
47695         * lib/uninorm/u8-normxfrm.c: New file.
47696         * lib/uninorm/u-normxfrm.h: New file.
47697         * modules/uninorm/u8-normxfrm: New file.
47698
47699 2009-03-07  Bruno Haible  <bruno@clisp.org>
47700
47701         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
47702         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
47703         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
47704
47705 2009-03-07  Bruno Haible  <bruno@clisp.org>
47706
47707         New module 'memxfrm'.
47708         * lib/memxfrm.h: New file.
47709         * lib/memxfrm.c: New file.
47710         * modules/memxfrm: New file.
47711
47712 2009-03-07  Bruno Haible  <bruno@clisp.org>
47713
47714         New module 'memcmp2'.
47715         * lib/memcmp2.h: New file.
47716         * lib/memcmp2.c: New file.
47717         * modules/memcmp2: New file.
47718
47719 2009-03-07  Bruno Haible  <bruno@clisp.org>
47720
47721         Tests for module 'uninorm/decomposing-form'.
47722         * modules/uninorm/decomposing-form-tests: New file.
47723         * tests/uninorm/test-decomposing-form.c: New file.
47724
47725         New module 'uninorm/decomposing-form'.
47726         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
47727         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
47728         Add 'decomposing_variant' field.
47729         * lib/uninorm/decomposing-form.c: New file.
47730         * lib/uninorm/nfc.c (uninorm_nfc): Update.
47731         * lib/uninorm/nfd.c (uninorm_nfd): Update.
47732         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
47733         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
47734         * modules/uninorm/decomposing-form: New file.
47735         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
47736         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
47737
47738 2009-03-07  Bruno Haible  <bruno@clisp.org>
47739
47740         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
47741         strings.
47742
47743 2009-03-06  Bruno Haible  <bruno@clisp.org>
47744
47745         Tests for module 'uninorm/u32-normcmp'.
47746         * tests/uninorm/test-u32-normcmp.c: New file.
47747         * modules/uninorm/u32-normcmp-tests: New file.
47748
47749         Tests for module 'uninorm/u16-normcmp'.
47750         * tests/uninorm/test-u16-normcmp.c: New file.
47751         * modules/uninorm/u16-normcmp-tests: New file.
47752
47753         Tests for module 'uninorm/u8-normcmp'.
47754         * tests/uninorm/test-u8-normcmp.c: New file.
47755         * modules/uninorm/u8-normcmp-tests: New file.
47756
47757         New module 'uninorm/u32-normcmp'.
47758         * lib/uninorm/u32-normcmp.c: New file.
47759         * modules/uninorm/u32-normcmp: New file.
47760
47761         New module 'uninorm/u16-normcmp'.
47762         * lib/uninorm/u16-normcmp.c: New file.
47763         * modules/uninorm/u16-normcmp: New file.
47764
47765         New module 'uninorm/u8-normcmp'.
47766         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
47767         declarations.
47768         * lib/uninorm/u8-normcmp.c: New file.
47769         * lib/uninorm/u-normcmp.h: New file.
47770         * modules/uninorm/u8-normcmp: New file.
47771
47772 2009-03-06  Bruno Haible  <bruno@clisp.org>
47773
47774         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
47775         Reported by Eric Blake.
47776
47777 2009-03-06  Eric Blake  <ebb9@byu.net>
47778             Bruno Haible  <bruno@clisp.org>
47779
47780         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
47781         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
47782         condition.
47783         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47784         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
47785         condition.
47786         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47787
47788 2009-03-06  Eric Blake  <ebb9@byu.net>
47789
47790         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
47791         to avoid compiler warnings.
47792         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
47793
47794 2009-03-05  Bruno Haible  <bruno@clisp.org>
47795
47796         * tests/test-ftell.c (main): Disable test beyond end of file on
47797         FreeMiNT.
47798         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47799
47800 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
47801
47802         * lib/filevercmp.c: Move hidden files up in ordering.
47803         * tests/test-filevercmp.c: Add tests for hidden files.
47804
47805 2009-03-04  Bruno Haible  <bruno@clisp.org>
47806
47807         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
47808         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
47809         AM_CFLAGS.
47810         Reported by Simon Josefsson.
47811
47812 2009-03-03  Bruno Haible  <bruno@clisp.org>
47813
47814         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
47815         Reported by Simon Josefsson.
47816
47817         * doc/ld-version-script.texi: Update node reference.
47818
47819 2009-03-03  Bruno Haible  <bruno@clisp.org>
47820
47821         * modules/visibility (License): Change to 'unlimited'.
47822         Suggested by Simon Josefsson.
47823
47824 2009-03-03  Jim Meyering  <meyering@redhat.com>
47825
47826         unlinkdir: cannot_unlink_dir may modify process state
47827         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
47828         it's neither thread-safe nor appropriate for use in a library.
47829
47830 2009-03-03  Eric Blake  <ebb9@byu.net>
47831
47832         test-closein: silence test under Darwin
47833         * tests/test-closein.sh: Ignore stderr from cat, since we don't
47834         care if it dies from EPIPE or EBADF.
47835
47836 2009-03-03  Bruno Haible  <bruno@clisp.org>
47837
47838         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
47839         earlier.
47840         * doc/visibility.texi: Fix @node and @section.
47841
47842 2009-03-03  Simon Josefsson  <simon@josefsson.org>
47843
47844         * doc/gnulib.texi: Link to sections for ld version script and
47845         visibility.
47846         * doc/visibility.texi: Add @node and @section.
47847         * modules/ld-version-script: New module.
47848         * m4/ld-version-script.m4: New file.
47849         * doc/ld-version-script.texi: New file.
47850
47851 2009-03-02  David Lutterkort  <lutter@redhat.com>
47852
47853         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
47854         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47855
47856 2009-03-02  Bruno Haible  <bruno@clisp.org>
47857
47858         * doc/visibility.texi: Mention libtool's -export-symbols option.
47859
47860 2009-03-02  Jim Meyering  <meyering@redhat.com>
47861
47862         announce-gen: new option: --no-print-checksums
47863         * build-aux/announce-gen (usage): Describe it.
47864         (print_checksums): Print a newline here, not in the [*] footnote.
47865         (main): Honor it.
47866
47867 2009-03-01  Bruno Haible  <bruno@clisp.org>
47868
47869         Use socklen_t in the native Windows replacements prototypes.
47870         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
47871         instead of 'int'.
47872         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47873         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47874         * modules/getsockopt (Depends-on): Add socklen.
47875         * modules/setsockopt (Depends-on): Add socklen.
47876
47877 2009-03-01  Bruno Haible  <bruno@clisp.org>
47878
47879         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
47880         least 4.2.
47881
47882 2009-03-01  Eric Blake  <ebb9@byu.net>
47883             Bruno Haible  <bruno@clisp.org>
47884
47885         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
47886         error messages.
47887         * lib/wait-process.c (wait_subprocess): Omit error message about
47888         deadly signal sent to the child of termsigp != NULL.
47889
47890 2009-03-01  Eric Blake  <ebb9@byu.net>
47891
47892         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
47893
47894 2009-03-01  Bruno Haible  <bruno@clisp.org>
47895
47896         Avoid a gcc warning.
47897         * tests/test-sched.c (b): Make global.
47898         Reported by Eric Blake.
47899
47900 2009-01-19  Martin Lambers  <marlam@marlam.de>
47901
47902         Provide POSIX semantics for socket timeout options on W32.
47903         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
47904         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
47905         * modules/setsockopt: Depend on sys_time module for struct timeval.
47906         * modules/getsockopt: Depend on sys_time module for struct timeval.
47907
47908 2009-03-01  Simon Josefsson  <simon@josefsson.org>
47909
47910         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
47911         __USE_GNU, for consistency with netdb.in.h.
47912         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47913
47914 2009-03-01  Bruno Haible  <bruno@clisp.org>
47915
47916         More support for FreeMiNT.
47917         * lib/fseeko.c (rpl_fseeko): Complete last commit.
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/fpurge.c (fpurge): Correct last commit.
47924         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47925
47926 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47927
47928         Fix unportable awk script in vc-list-files.
47929         * build-aux/vc-list-files: In the replacement awk script, use
47930         substr with a second argument of 1, not zero.
47931         Report by Simon Josefsson.
47932
47933 2009-02-28  Bruno Haible  <bruno@clisp.org>
47934
47935         More support for FreeMiNT.
47936         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
47937         to FreeMiNT today.
47938         * lib/fwriting.c (fwriting): Likewise.
47939         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
47940
47941 2009-02-28  Bruno Haible  <bruno@clisp.org>
47942
47943         * tests/test-freadseek.c (main): Disable test beyond end of file on
47944         FreeMiNT.
47945         * tests/test-ftello.c (main): Likewise.
47946         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47947
47948 2009-02-28  Bruno Haible  <bruno@clisp.org>
47949
47950         Add tentative support for FreeMiNT.
47951         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
47952         * lib/fpurge.c (fpurge): Likewise.
47953         * lib/freadable.c (freadable): Likewise.
47954         * lib/freading.c (freading): Likewise.
47955         * lib/freadptr.c (freadptr): Likewise.
47956         * lib/freadseek.c (freadptrinc): Likewise.
47957         * lib/fseeko.c (rpl_fseeko): Likewise.
47958         * lib/fseterr.c (fseterr): Likewise.
47959         * lib/fwritable.c (fwritable): Likewise.
47960         * lib/fwriting.c (fwriting): Likewise.
47961         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
47962         Hourihane.
47963         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47964
47965 2009-02-28  Bruno Haible  <bruno@clisp.org>
47966
47967         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
47968         SIGCHLD.
47969         Reported by Jim Meyering.
47970
47971 2009-02-28  Bruno Haible  <bruno@clisp.org>
47972
47973         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
47974         Mention the results of these tests on various platforms.
47975         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
47976         order.
47977         * doc/posix-functions/printf.texi: Likewise.
47978         * doc/posix-functions/snprintf.texi: Likewise.
47979         * doc/posix-functions/sprintf.texi: Likewise.
47980         * doc/posix-functions/vfprintf.texi: Likewise.
47981         * doc/posix-functions/vprintf.texi: Likewise.
47982         * doc/posix-functions/vsnprintf.texi: Likewise.
47983         * doc/posix-functions/vsprintf.texi: Likewise.
47984         * doc/glibc-functions/obstack_printf.texi: Likewise.
47985         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47986
47987 2009-02-28  Bruno Haible  <bruno@clisp.org>
47988
47989         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
47990         Reported by Loïc Minier <lool@dooz.org>.
47991
47992 2009-02-27  Bruno Haible  <bruno@clisp.org>
47993
47994         * gnulib-tool (func_import): Make the sed expression used to create the
47995         sed script for updating the .gitignore file POSIX compliant.
47996         Reported by Eric Blake.
47997
47998 2009-02-27  Bruno Haible  <bruno@clisp.org>
47999
48000         * gnulib-tool (sed): Don't alias as "sed --posix".
48001         Reported by Eric Blake.
48002
48003 2009-02-27  Bruno Haible  <bruno@clisp.org>
48004
48005         Avoid test link errors.
48006         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
48007         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
48008         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
48009         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
48010         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48011
48012 2009-02-27  Bruno Haible  <bruno@clisp.org>
48013
48014         Avoid spurious "(cached)" in configure output.
48015         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
48016         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
48017         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48018         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48019         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48020         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48021         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48022         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48023         Reported by Eric Blake.
48024
48025 2009-02-27  Eric Blake  <ebb9@byu.net>
48026
48027         printf: fix regression in previous patch
48028         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
48029
48030 2009-02-27  Bruno Haible  <bruno@clisp.org>
48031
48032         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
48033         value.
48034         * lib/stdint.in.h: Likewise.
48035         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
48036
48037 2009-02-27  Eric Blake  <ebb9@byu.net>
48038
48039         doc: mention more functions added in cygwin 1.7.0
48040         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
48041         addition.
48042         * doc/posix-functions/open_wmemstream.texi: Likewise.
48043         * doc/posix-functions/wcsnlen.texi: Likewise.
48044         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48045         * doc/posix-functions/wcstod.texi: Likewise.
48046         * doc/posix-functions/wcstof.texi: Likewise.
48047         * doc/posix-functions/wcstoimax.texi: Likewise.
48048         * doc/posix-functions/wcstok.texi: Likewise.
48049         * doc/posix-functions/wcstoumax.texi: Likewise.
48050
48051         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
48052         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
48053         * doc/posix-functions/fprintf.texi: Update.
48054         * doc/posix-functions/printf.texi: Update.
48055         * doc/posix-functions/snprintf.texi: Update.
48056         * doc/posix-functions/sprintf.texi: Update.
48057         * doc/posix-functions/vfprintf.texi: Update.
48058         * doc/posix-functions/vprintf.texi: Update.
48059         * doc/posix-functions/vsnprintf.texi: Update.
48060         * doc/posix-functions/vsprintf.texi: Update.
48061         * doc/glibc-functions/obstack_printf.texi: Update.
48062         * doc/glibc-functions/obstack_vprintf.texi: Update.
48063
48064 2009-02-26  Eric Blake  <ebb9@byu.net>
48065
48066         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
48067         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
48068         compilation bug by using runtime conversion.
48069         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48070         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
48071         * modules/ceill-tests (Files): Use nan.h.
48072         * modules/floorl-tests (Files): Likewise.
48073         * modules/frexpl-tests (Files): Likewise.
48074         * modules/isnanl-tests (Files): Likewise.
48075         * modules/ldexpl-tests (Files): Likewise.
48076         * modules/roundl-tests (Files): Likewise.
48077         * modules/truncl-tests (Files): Likewise.
48078         * tests/test-ceill.c (main): Use a working NaN.
48079         * tests/test-floorl.c (main): Likewise.
48080         * tests/test-frexpl.c (main): Likewise.
48081         * tests/test-isnan.c (test_long_double): Likewise.
48082         * tests/test-isnanl.h (main): Likewise.
48083         * tests/test-ldexpl.h (main): Likewise.
48084         * tests/test-roundl.h (main): Likewise.
48085         * tests/test-truncl.h (main): Likewise.
48086         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
48087
48088 2009-02-26  Eric Blake  <ebb9@byu.net>
48089             Bruno Haible  <bruno@clisp.org>
48090
48091         Work around a *printf bug with %ls on Solaris.
48092         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
48093         precision is specified, sprintf stops converting the wide string
48094         argument when the number of bytes that have been produced by this
48095         conversion equals or exceeds the precision.
48096         * doc/posix-functions/fprintf.texi: Update.
48097         * doc/posix-functions/printf.texi: Update.
48098         * doc/posix-functions/snprintf.texi: Update.
48099         * doc/posix-functions/sprintf.texi: Update.
48100         * doc/posix-functions/vfprintf.texi: Update.
48101         * doc/posix-functions/vprintf.texi: Update.
48102         * doc/posix-functions/vsnprintf.texi: Update.
48103         * doc/posix-functions/vsprintf.texi: Update.
48104         * doc/glibc-functions/obstack_printf.texi: Update.
48105         * doc/glibc-functions/obstack_vprintf.texi: Update.
48106
48107 2009-02-26  Eric Blake  <ebb9@byu.net>
48108
48109         stdlib: favor compiler check of random.h
48110         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
48111         to avoid an ObjC random.h installed by Swarm.
48112
48113 2009-02-26  Bruno Haible  <bruno@clisp.org>
48114
48115         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
48116         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
48117         Reported by Gary V. Vaughan <gary@gnu.org>.
48118
48119 2009-02-26  Bruno Haible  <bruno@clisp.org>
48120
48121         Fix *printf behaviour regarding the %ls directive.
48122         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
48123         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
48124         NEED_PRINTF_DIRECTIVE_LS.
48125         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
48126         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48127         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48128         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
48129         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
48130         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
48131         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48132         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48133         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48134         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48135         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48136         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
48137         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48138         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48139         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48140         * doc/posix-functions/fprintf.texi: Update.
48141         * doc/posix-functions/printf.texi: Update.
48142         * doc/posix-functions/snprintf.texi: Update.
48143         * doc/posix-functions/sprintf.texi: Update.
48144         * doc/posix-functions/vfprintf.texi: Update.
48145         * doc/posix-functions/vprintf.texi: Update.
48146         * doc/posix-functions/vsnprintf.texi: Update.
48147         * doc/posix-functions/vsprintf.texi: Update.
48148         * doc/glibc-functions/obstack_printf.texi: Update.
48149         * doc/glibc-functions/obstack_vprintf.texi: Update.
48150         Reported by Eric Blake.
48151
48152 2009-02-25  Bruno Haible  <bruno@clisp.org>
48153
48154         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
48155         with known value.
48156         Reported by Gary V. Vaughan <gary@gnu.org>.
48157
48158 2009-02-25  Bruno Haible  <bruno@clisp.org>
48159
48160         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
48161         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
48162         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
48163         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
48164         Reported by Gary V. Vaughan <gary@gnu.org>.
48165
48166 2009-02-25  Bruno Haible  <bruno@clisp.org>
48167
48168         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
48169         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
48170         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
48171         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
48172         Reported by Gary V. Vaughan <gary@gnu.org>.
48173
48174 2009-02-25  Eric Blake  <ebb9@byu.net>
48175
48176         tests: skip fseek/ftell tests if ungetc is broken
48177         * m4/ungetc.m4: New file.
48178         * modules/fseek-tests: Split test, so ungetc dependency is
48179         separate from rest of test.
48180         * modules/fseeko-tests: Likewise.
48181         * modules/ftell-tests: Likewise.
48182         * modules/ftello-tests: Likewise.
48183         * tests/test-fseek.c (main): Isolate ungetc dependency.
48184         * tests/test-fseeko.c (main): Likewise.
48185         * tests/test-ftell.c (main): Likewise.
48186         * tests/test-ftello.c (main): Likewise.
48187         * tests/test-fseek2.sh: New file.
48188         * tests/test-fseeko2.sh: Likewise.
48189         * tests/test-ftell2.sh: Likewise.
48190         * tests/test-ftello2.sh: Likewise.
48191
48192 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
48193
48194         test-getaddrinfo: fix usage of skip return code 77
48195         * tests/test-gettaddrinfo.c: Return skip code 77 only
48196         for first occurrence of skip (4x77 is not 77)
48197
48198 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
48199
48200         strtod: avoid C99 decl-after-statement
48201         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
48202
48203 2009-02-24  Eric Blake  <ebb9@byu.net>
48204
48205         strtod: detect HP-UX 11.31 bug
48206         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
48207         Reported by Gary V. Vaughan.
48208
48209 2009-02-23  Bruno Haible  <bruno@clisp.org>
48210
48211         Fix invalid read past end of memory block.
48212         * lib/vasnprintf.c (DCHAR_SET): Define.
48213         (local_wcslen): Define only when needed.
48214         (local_strnlen, local_wcsnlen): New functions.
48215         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
48216         directives that involve a conversion ourselves.
48217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
48218         wcsnlen, mbrtowc, wcrtomb.
48219         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
48220         * tests/test-vasprintf-posix.c (test_function): Likewise.
48221         * tests/test-snprintf-posix.h (test_function): Likewise.
48222         * tests/test-sprintf-posix.h (test_function): Likewise.
48223         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48224
48225 2009-02-22  Bruno Haible  <bruno@clisp.org>
48226
48227         Implement new clarified decomposition of Hangul syllables.
48228         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
48229         of type LTV, return only a pairwise decomposition.
48230         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
48231         Likewise.
48232         * tests/uninorm/test-decomposition.c (main): Updated expected result.
48233         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
48234         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
48235
48236 2009-02-22  Bruno Haible  <bruno@clisp.org>
48237
48238         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
48239         zero-length results and shrink excess allocated memory.
48240         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
48241         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
48242         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
48243         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
48244         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
48245         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
48246         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
48247         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
48248         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
48249         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
48250         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
48251         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
48252
48253 2009-02-21  Bruno Haible  <bruno@clisp.org>
48254
48255         * doc/gnulib.texi: Include safe-alloc.texi earlier.
48256         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
48257         spaces after a period. Put a space between a macro name and its
48258         argument list. Trivial rewordings.
48259         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
48260         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
48261         (main): Return 0 explicitly.
48262
48263 2009-02-21  Bruno Haible  <bruno@clisp.org>
48264
48265         Tests for module 'uninorm/filter'.
48266         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
48267         * modules/uninorm/filter-tests: New file.
48268
48269         New module 'uninorm/filter'.
48270         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
48271         uninorm_filter_flush, uninorm_filter_free): New declarations.
48272         * lib/uninorm/uninorm-filter.c: New file.
48273         * modules/uninorm/filter: New file.
48274
48275 2009-02-21  Bruno Haible  <bruno@clisp.org>
48276
48277         Tests for module 'uninorm/nfkc'.
48278         * tests/uninorm/test-nfkc.c: New file.
48279         * tests/uninorm/test-u8-nfkc.c: New file.
48280         * tests/uninorm/test-u16-nfkc.c: New file.
48281         * tests/uninorm/test-u32-nfkc.c: New file.
48282         * tests/uninorm/test-u32-nfkc-big.sh: New file.
48283         * tests/uninorm/test-u32-nfkc-big.c: New file.
48284         * modules/uninorm/nfkc-tests: New file.
48285
48286         New module 'uninorm/nfkc'.
48287         * lib/uninorm/nfkc.c: New file.
48288         * modules/uninorm/nfkc: New file.
48289
48290         Tests for module 'uninorm/nfkd'.
48291         * tests/uninorm/test-nfkd.c: New file.
48292         * tests/uninorm/test-u8-nfkd.c: New file.
48293         * tests/uninorm/test-u16-nfkd.c: New file.
48294         * tests/uninorm/test-u32-nfkd.c: New file.
48295         * tests/uninorm/test-u32-nfkd-big.sh: New file.
48296         * tests/uninorm/test-u32-nfkd-big.c: New file.
48297         * modules/uninorm/nfkd-tests: New file.
48298
48299         New module 'uninorm/nfkd'.
48300         * lib/uninorm/nfkd.c: New file.
48301         * modules/uninorm/nfkd: New file.
48302
48303         Tests for module 'uninorm/nfc'.
48304         * tests/uninorm/test-nfc.c: New file.
48305         * tests/uninorm/test-u8-nfc.c: New file.
48306         * tests/uninorm/test-u16-nfc.c: New file.
48307         * tests/uninorm/test-u32-nfc.c: New file.
48308         * tests/uninorm/test-u32-nfc-big.sh: New file.
48309         * tests/uninorm/test-u32-nfc-big.c: New file.
48310         * modules/uninorm/nfc-tests: New file.
48311
48312         New module 'uninorm/nfc'.
48313         * lib/uninorm/nfc.c: New file.
48314         * modules/uninorm/nfc: New file.
48315
48316         Tests for module 'uninorm/nfd'.
48317         * tests/uninorm/test-nfd.c: New file.
48318         * tests/uninorm/test-u8-nfd.c: New file.
48319         * tests/uninorm/test-u16-nfd.c: New file.
48320         * tests/uninorm/test-u32-nfd.c: New file.
48321         * tests/uninorm/test-u32-nfd-big.sh: New file.
48322         * tests/uninorm/test-u32-nfd-big.c: New file.
48323         * tests/uninorm/test-u32-normalize-big.h: New file.
48324         * tests/uninorm/test-u32-normalize-big.c: New file.
48325         * tests/uninorm/NormalizationTest.txt: New file, created from
48326         Unicode 5.1.0 NormalizationTest.txt.
48327         * modules/uninorm/nfd-tests: New file.
48328
48329         New module 'uninorm/nfd'.
48330         * lib/uninorm/nfd.c: New file.
48331         * modules/uninorm/nfd: New file.
48332
48333         New module 'uninorm/u32-normalize'.
48334         * lib/uninorm/u32-normalize.c: New file.
48335         * modules/uninorm/u32-normalize: New file.
48336
48337         New module 'uninorm/u16-normalize'.
48338         * lib/uninorm/u16-normalize.c: New file.
48339         * modules/uninorm/u16-normalize: New file.
48340
48341         New module 'uninorm/u8-normalize'.
48342         * lib/uninorm/u8-normalize.c: New file.
48343         * lib/uninorm/normalize-internal.h: New file.
48344         * lib/uninorm/u-normalize-internal.h: New file.
48345         * modules/uninorm/u8-normalize: New file.
48346
48347         New module 'uninorm/decompose-internal'.
48348         * lib/uninorm/decompose-internal.c: New file.
48349         * modules/uninorm/decompose-internal: New file.
48350
48351         Tests for module 'uninorm/composition'.
48352         * tests/uninorm/test-composition.c: New file.
48353         * modules/uninorm/composition-tests: New file.
48354
48355         New module 'uninorm/composition'.
48356         * lib/uninorm/composition.c: New file.
48357         * lib/uninorm/composition-table.gperf: New file, generated by
48358         gen-uni-tables.
48359         * modules/uninorm/composition: New file.
48360
48361         Tests for module 'uninorm/compat-decomposition'.
48362         * tests/uninorm/test-compat-decomposition.c: New file.
48363         * modules/uninorm/compat-decomposition-tests: New file.
48364
48365         New module 'uninorm/compat-decomposition'.
48366         * lib/uninorm/decompose-internal.h: New file.
48367         * lib/uninorm/compat-decomposition.c: New file.
48368         * modules/uninorm/compat-decomposition: New file.
48369
48370         Tests for module 'uninorm/canonical-decomposition'.
48371         * tests/uninorm/test-canonical-decomposition.c: New file.
48372         * modules/uninorm/canonical-decomposition-tests: New file.
48373
48374         New module 'uninorm/canonical-decomposition'.
48375         * lib/uninorm/canonical-decomposition.c: New file.
48376         * modules/uninorm/canonical-decomposition: New file.
48377
48378         Tests for module 'uninorm/decomposition'.
48379         * tests/uninorm/test-decomposition.c: New file.
48380         * modules/uninorm/decomposition-tests: New file.
48381
48382         New module 'uninorm/decomposition'.
48383         * lib/uninorm/decomposition.c: New file.
48384         * modules/uninorm/decomposition: New file.
48385
48386         New module 'uninorm/decomposition-table'.
48387         * lib/uninorm/decomposition-table.h: New file.
48388         * lib/uninorm/decomposition-table.c: New file.
48389         * lib/uninorm/decomposition-table1.h: New file, generated by
48390         gen-uni-tables.
48391         * lib/uninorm/decomposition-table2.h: New file, generated by
48392         gen-uni-tables.
48393         * modules/uninorm/decomposition-table: New file.
48394
48395         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
48396         (UC_DECOMP_*): New enumeration items.
48397         (get_decomposition): New function.
48398         (struct decomp_table): New type.
48399         (output_decomposition, output_decomposition_tables): New functions.
48400         (unicode_composition_exclusions): New variable.
48401         (fill_composition_exclusions, debug_output_composition_tables): New
48402         functions.
48403         (main): Accept one more argument. Invoke fill_composition_exclusions.
48404         Output decomposition and composition tables.
48405
48406         New module 'uninorm/base'.
48407         * lib/uninorm.h: New file.
48408         * lib/unictype.h: Update comment.
48409         * modules/uninorm/base: New file.
48410
48411 2009-02-21  David Lutterkort  <lutter@redhat.com>
48412
48413         Tests for module 'safe-alloc'.
48414         * tests/test-safe-alloc.c: New file.
48415         * modules/safe-alloc-tests: New file.
48416
48417         New module 'safe-alloc'.
48418         * lib/safe-alloc.h: New file.
48419         * lib/safe-alloc.c: New file.
48420         * m4/safe-alloc.m4: New file.
48421         * modules/safe-alloc: New file.
48422         * doc/safe-alloc.texi: New file.
48423         * doc/gnulib.texi: Include it.
48424         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48425         safe-alloc.
48426
48427 2009-02-18  Bruno Haible  <bruno@clisp.org>
48428
48429         Fix link error on non-glibc systems.
48430         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
48431         variable.
48432         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48433
48434 2009-02-18  Jim Meyering  <meyering@redhat.com>
48435
48436         fts: avoid used-uninitialized error due to recent change
48437         * lib/fts.c (fts_read): Guard uses of the new member,
48438         parent->fts_n_dirs_remaining, since it's not relevant for
48439         the parent of a directory specified on the command-line.
48440
48441 2009-02-17  James Youngman  <jay@gnu.org>
48442             Bruno Haible  <bruno@clisp.org>
48443
48444         * m4/include_next.m4: Reformulate comment.
48445
48446 2009-02-16  Jim Meyering  <meyering@redhat.com>
48447
48448         fts: add #if guards so that the fts_lgpl module still builds
48449         * lib/fts.c: Guard just-added hash-table-using parts with
48450         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
48451         Reported by Simon Josefsson.
48452
48453 2009-02-15  Bruno Haible  <bruno@clisp.org>
48454
48455         * modules/array-mergesort-tests: New file.
48456         * tests/test-array-mergesort.c: New file.
48457
48458         New module 'array-mergesort'.
48459         * modules/array-mergesort: New file.
48460         * lib/array-mergesort.h: New file.
48461
48462 2009-02-15  Bruno Haible  <bruno@clisp.org>
48463
48464         Fix 2009-02-07 commit.
48465         * lib/gen-uni-tables.c (output_predicate, output_category,
48466         output_combclass, output_bidi_category, output_decimal_digit,
48467         output_digit, output_numeric, output_mirror, output_scripts,
48468         output_ident_category, output_simple_mapping): Fix format directives.
48469         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
48470
48471 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
48472
48473         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
48474         fixes are available from IBM.
48475
48476 2009-02-13  Jim Meyering  <meyering@redhat.com>
48477
48478         fts: arrange not to stat non-directories in more cases
48479         This makes GNU find (when it doesn't need to stat each file)
48480         *much* more efficient at traversing reiserfs file systems.
48481         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
48482         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
48483         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
48484         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
48485         (leaf_optimization_applies): New function.
48486         (LCO_hash, LCO_compare): New helper functions.
48487         (link_count_optimize_ok): New function.
48488         (fts_stat): Initialize new member (if dir).
48489         (fts_read): Decrement parent's fts_n_dirs_remaining count if
48490         we've just stat'ed a directory.  Skip the stat call when possible.
48491         ---
48492         Note this AFS-related exchange:
48493         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
48494         and note find's pioctl call in find/fstype.c.
48495         But that is necessary only if you want to enable the
48496         optimization for AFS, and for now, I don't.
48497
48498         fts: move a function definition "up" (no semantic change)
48499         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
48500         "up" to precede upcoming use of a related function.
48501
48502 2009-02-11  Jim Meyering  <meyering@redhat.com>
48503
48504         fts: correct internal computation of nlinks (optimization-related)
48505         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
48506         whether the current entry is a directory, so don't test it.
48507
48508 2009-02-10  Bruno Haible  <bruno@clisp.org>
48509
48510         Tests for module 'uniwbrk/ulc-wordbreaks'.
48511         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
48512         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
48513         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
48514
48515         Tests for module 'uniwbrk/u32-wordbreaks'.
48516         * modules/uniwbrk/u32-wordbreaks-tests: New file.
48517         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
48518
48519         Tests for module 'uniwbrk/u16-wordbreaks'.
48520         * modules/uniwbrk/u16-wordbreaks-tests: New file.
48521         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
48522
48523         Tests for module 'uniwbrk/u8-wordbreaks'.
48524         * modules/uniwbrk/u8-wordbreaks-tests: New file.
48525         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
48526
48527 2009-02-10  Bruno Haible  <bruno@clisp.org>
48528
48529         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
48530         property.
48531         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
48532         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
48533         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
48534
48535 2009-02-10  Simon Josefsson  <simon@josefsson.org>
48536
48537         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
48538         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
48539
48540 2009-02-10  Bruno Haible  <bruno@clisp.org>
48541
48542         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
48543         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
48544         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
48545         * lib/unilbrk/u8-possible-linebreaks.c: Update.
48546         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
48547         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
48548
48549 2009-02-09  Simon Josefsson  <simon@josefsson.org>
48550
48551         * lib/sockets.h (gl_fd_to_handle): New function.
48552
48553         * tests/test-sockets.c: Call gl_fd_to_handle.
48554
48555 2009-02-09  Bruno Haible  <bruno@clisp.org>
48556
48557         * doc/havelib.texi: Document the conventions on bi-arch systems.
48558
48559 2009-02-08  Bruno Haible  <bruno@clisp.org>
48560
48561         Document the AC_LIB_LINKFLAGS macro.
48562         * doc/havelib.texi: New file, mostly written on 2005-05-24.
48563         * doc/gnulib.texi: Include it.
48564
48565 2009-02-08  Bruno Haible  <bruno@clisp.org>
48566
48567         Fix wrong order of sections, compared to TOC.
48568         * doc/gnulib.texi: Include relocatable-maint.texi after the
48569         "Regular expressions" node, not before.
48570
48571 2009-02-08  Bruno Haible  <bruno@clisp.org>
48572
48573         Tests for module 'unicase/totitle'.
48574         * modules/unicase/totitle-tests: New file.
48575
48576         Tests for module 'unicase/tolower'.
48577         * modules/unicase/tolower-tests: New file.
48578
48579         Tests for module 'unicase/toupper'.
48580         * modules/unicase/toupper-tests: New file.
48581         * tests/unicase/test-mapping-part1.h: New file.
48582         * tests/unicase/test-mapping-part2.h: New file.
48583
48584         New module 'unicase/totitle'.
48585         * modules/unicase/totitle: New file.
48586         * lib/unicase/totitle.c: New file.
48587
48588         New module 'unicase/tolower'.
48589         * modules/unicase/tolower: New file.
48590         * lib/unicase/tolower.c: New file.
48591
48592         New module 'unicase/toupper'.
48593         * modules/unicase/toupper: New file.
48594         * lib/unicase/toupper.c: New file.
48595         * lib/unicase/simple-mapping.h: New file.
48596
48597         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
48598         (mapping_table): New structure.
48599         (output_simple_mapping): New function.
48600         (main): Invoke output_simple_mapping_test and output_simple_mapping.
48601         * modules/gen-uni-tables (Description): Update.
48602         * lib/unicase/toupper.h: New file, automatically generated by
48603         gen-uni-tables.
48604         * lib/unicase/tolower.h: New file, automatically generated by
48605         gen-uni-tables.
48606         * lib/unicase/totitle.h: New file, automatically generated by
48607         gen-uni-tables.
48608         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
48609         gen-uni-tables.
48610         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
48611         gen-uni-tables.
48612         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
48613         gen-uni-tables.
48614
48615         New module 'unicase/base'.
48616         * modules/unicase/base: New file.
48617         * lib/unicase.h: New file.
48618
48619 2009-02-08  Bruno Haible  <bruno@clisp.org>
48620
48621         New module 'uniwbrk/ulc-wordbreaks'.
48622         * modules/uniwbrk/ulc-wordbreaks: New file.
48623         * lib/uniwbrk/ulc-wordbreaks.c: New file.
48624
48625         New module 'uniwbrk/u32-wordbreaks'.
48626         * modules/uniwbrk/u32-wordbreaks: New file.
48627         * lib/uniwbrk/u32-wordbreaks.c: New file.
48628
48629         New module 'uniwbrk/u16-wordbreaks'.
48630         * modules/uniwbrk/u16-wordbreaks: New file.
48631         * lib/uniwbrk/u16-wordbreaks.c: New file.
48632
48633         New module 'uniwbrk/u8-wordbreaks'.
48634         * modules/uniwbrk/u8-wordbreaks: New file.
48635         * lib/uniwbrk/u8-wordbreaks.c: New file.
48636         * lib/uniwbrk/u-wordbreaks.h: New file.
48637
48638         New module 'uniwbrk/table'.
48639         * modules/uniwbrk/table: New file.
48640         * lib/uniwbrk/wbrktable.h: New file.
48641         * lib/uniwbrk/wbrktable.c: New file.
48642
48643         New module 'uniwbrk/wordbreak-property'.
48644         * modules/uniwbrk/wordbreak-property: New file.
48645         * lib/uniwbrk/wordbreak-property.c: New file.
48646
48647         * lib/gen-uni-tables.c (WBP_*): New enum items.
48648         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
48649         (unicode_org_wbp): New variable.
48650         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
48651         New functions.
48652         (wbp_table): New structure.
48653         (output_wbp, output_wbrk_tables): New functions.
48654         (main): Accept additional argument. Invoke fill_org_wbp,
48655         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
48656         output_wbrk_tables.
48657         * modules/gen-uni-tables (Description): Update.
48658         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
48659         gen-uni-tables.
48660
48661         New module 'uniwbrk/base'.
48662         * modules/uniwbrk/base: New file.
48663         * lib/uniwbrk.h: New file.
48664
48665 2009-02-08  Bruno Haible  <bruno@clisp.org>
48666
48667         Update to Unicode 5.1.0.
48668         * lib/gen-uni-tables.c (is_property_alphabetic): Include
48669         U+2185..U+2188.
48670         (is_property_default_ignorable_code_point): Don't include characters
48671         of category Cc or Cs and not-a-characters.
48672         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
48673         U+0D79, U+109E, U+109F, U+A60C.
48674         * lib/unictype/bidi_of.h: Regenerated.
48675         * lib/unictype/blocks.h: Regenerated.
48676         * lib/unictype/categ_C.h: Regenerated.
48677         * lib/unictype/categ_Cf.h: Regenerated.
48678         * lib/unictype/categ_Cn.h: Regenerated.
48679         * lib/unictype/categ_L.h: Regenerated.
48680         * lib/unictype/categ_Ll.h: Regenerated.
48681         * lib/unictype/categ_Lm.h: Regenerated.
48682         * lib/unictype/categ_Lo.h: Regenerated.
48683         * lib/unictype/categ_Lu.h: Regenerated.
48684         * lib/unictype/categ_M.h: Regenerated.
48685         * lib/unictype/categ_Mc.h: Regenerated.
48686         * lib/unictype/categ_Me.h: Regenerated.
48687         * lib/unictype/categ_Mn.h: Regenerated.
48688         * lib/unictype/categ_N.h: Regenerated.
48689         * lib/unictype/categ_Nd.h: Regenerated.
48690         * lib/unictype/categ_Nl.h: Regenerated.
48691         * lib/unictype/categ_No.h: Regenerated.
48692         * lib/unictype/categ_P.h: Regenerated.
48693         * lib/unictype/categ_Pd.h: Regenerated.
48694         * lib/unictype/categ_Pe.h: Regenerated.
48695         * lib/unictype/categ_Pf.h: Regenerated.
48696         * lib/unictype/categ_Pi.h: Regenerated.
48697         * lib/unictype/categ_Po.h: Regenerated.
48698         * lib/unictype/categ_Ps.h: Regenerated.
48699         * lib/unictype/categ_S.h: Regenerated.
48700         * lib/unictype/categ_Sk.h: Regenerated.
48701         * lib/unictype/categ_Sm.h: Regenerated.
48702         * lib/unictype/categ_So.h: Regenerated.
48703         * lib/unictype/categ_of.h: Regenerated.
48704         * lib/unictype/combining.h: Regenerated.
48705         * lib/unictype/ctype_alnum.h: Regenerated.
48706         * lib/unictype/ctype_alpha.h: Regenerated.
48707         * lib/unictype/ctype_graph.h: Regenerated.
48708         * lib/unictype/ctype_lower.h: Regenerated.
48709         * lib/unictype/ctype_print.h: Regenerated.
48710         * lib/unictype/ctype_punct.h: Regenerated.
48711         * lib/unictype/ctype_upper.h: Regenerated.
48712         * lib/unictype/decdigit.h: Regenerated.
48713         * lib/unictype/digit.h: Regenerated.
48714         * lib/unictype/mirror.h: Regenerated.
48715         * lib/unictype/numeric.h: Regenerated.
48716         * lib/unictype/pr_alphabetic.h: Regenerated.
48717         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
48718         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
48719         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
48720         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
48721         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
48722         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
48723         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
48724         * lib/unictype/pr_combining.h: Regenerated.
48725         * lib/unictype/pr_dash.h: Regenerated.
48726         * lib/unictype/pr_decimal_digit.h: Regenerated.
48727         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
48728         * lib/unictype/pr_deprecated.h: Regenerated.
48729         * lib/unictype/pr_diacritic.h: Regenerated.
48730         * lib/unictype/pr_extender.h: Regenerated.
48731         * lib/unictype/pr_format_control.h: Regenerated.
48732         * lib/unictype/pr_grapheme_base.h: Regenerated.
48733         * lib/unictype/pr_grapheme_extend.h: Regenerated.
48734         * lib/unictype/pr_grapheme_link.h: Regenerated.
48735         * lib/unictype/pr_id_continue.h: Regenerated.
48736         * lib/unictype/pr_id_start.h: Regenerated.
48737         * lib/unictype/pr_ideographic.h: Regenerated.
48738         * lib/unictype/pr_ignorable_control.h: Regenerated.
48739         * lib/unictype/pr_lowercase.h: Regenerated.
48740         * lib/unictype/pr_math.h: Regenerated.
48741         * lib/unictype/pr_numeric.h: Regenerated.
48742         * lib/unictype/pr_other_alphabetic.h: Regenerated.
48743         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
48744         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
48745         * lib/unictype/pr_other_id_continue.h: Regenerated.
48746         * lib/unictype/pr_other_lowercase.h: Regenerated.
48747         * lib/unictype/pr_other_math.h: Regenerated.
48748         * lib/unictype/pr_punctuation.h: Regenerated.
48749         * lib/unictype/pr_sentence_terminal.h: Regenerated.
48750         * lib/unictype/pr_soft_dotted.h: Regenerated.
48751         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
48752         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
48753         * lib/unictype/pr_unified_ideograph.h: Regenerated.
48754         * lib/unictype/pr_uppercase.h: Regenerated.
48755         * lib/unictype/pr_xid_continue.h: Regenerated.
48756         * lib/unictype/pr_xid_start.h: Regenerated.
48757         * lib/unictype/pr_zero_width.h: Regenerated.
48758         * lib/unictype/scripts.h: Regenerated.
48759         * lib/unictype/scripts_byname.gperf: Regenerated.
48760         * lib/unictype/sy_java_ident.h: Regenerated.
48761         * lib/unilbrk/lbrkprop1.h: Regenerated.
48762         * lib/unilbrk/lbrkprop2.h: Regenerated.
48763         * tests/unictype/test-categ_C.c: Regenerated.
48764         * tests/unictype/test-categ_Cf.c: Regenerated.
48765         * tests/unictype/test-categ_Cn.c: Regenerated.
48766         * tests/unictype/test-categ_L.c: Regenerated.
48767         * tests/unictype/test-categ_Ll.c: Regenerated.
48768         * tests/unictype/test-categ_Lm.c: Regenerated.
48769         * tests/unictype/test-categ_Lo.c: Regenerated.
48770         * tests/unictype/test-categ_Lu.c: Regenerated.
48771         * tests/unictype/test-categ_M.c: Regenerated.
48772         * tests/unictype/test-categ_Mc.c: Regenerated.
48773         * tests/unictype/test-categ_Me.c: Regenerated.
48774         * tests/unictype/test-categ_Mn.c: Regenerated.
48775         * tests/unictype/test-categ_N.c: Regenerated.
48776         * tests/unictype/test-categ_Nd.c: Regenerated.
48777         * tests/unictype/test-categ_Nl.c: Regenerated.
48778         * tests/unictype/test-categ_No.c: Regenerated.
48779         * tests/unictype/test-categ_P.c: Regenerated.
48780         * tests/unictype/test-categ_Pd.c: Regenerated.
48781         * tests/unictype/test-categ_Pe.c: Regenerated.
48782         * tests/unictype/test-categ_Pf.c: Regenerated.
48783         * tests/unictype/test-categ_Pi.c: Regenerated.
48784         * tests/unictype/test-categ_Po.c: Regenerated.
48785         * tests/unictype/test-categ_Ps.c: Regenerated.
48786         * tests/unictype/test-categ_S.c: Regenerated.
48787         * tests/unictype/test-categ_Sk.c: Regenerated.
48788         * tests/unictype/test-categ_Sm.c: Regenerated.
48789         * tests/unictype/test-categ_So.c: Regenerated.
48790         * tests/unictype/test-ctype_alnum.c: Regenerated.
48791         * tests/unictype/test-ctype_alpha.c: Regenerated.
48792         * tests/unictype/test-ctype_graph.c: Regenerated.
48793         * tests/unictype/test-ctype_lower.c: Regenerated.
48794         * tests/unictype/test-ctype_print.c: Regenerated.
48795         * tests/unictype/test-ctype_punct.c: Regenerated.
48796         * tests/unictype/test-ctype_upper.c: Regenerated.
48797         * tests/unictype/test-decdigit.h: Regenerated.
48798         * tests/unictype/test-digit.h: Regenerated.
48799         * tests/unictype/test-numeric.h: Regenerated.
48800         * tests/unictype/test-pr_alphabetic.c: Regenerated.
48801         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
48802         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
48803         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
48804         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
48805         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
48806         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
48807         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
48808         * tests/unictype/test-pr_combining.c: Regenerated.
48809         * tests/unictype/test-pr_dash.c: Regenerated.
48810         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
48811         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
48812         * tests/unictype/test-pr_deprecated.c: Regenerated.
48813         * tests/unictype/test-pr_diacritic.c: Regenerated.
48814         * tests/unictype/test-pr_extender.c: Regenerated.
48815         * tests/unictype/test-pr_format_control.c: Regenerated.
48816         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
48817         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
48818         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
48819         * tests/unictype/test-pr_id_continue.c: Regenerated.
48820         * tests/unictype/test-pr_id_start.c: Regenerated.
48821         * tests/unictype/test-pr_ideographic.c: Regenerated.
48822         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
48823         * tests/unictype/test-pr_lowercase.c: Regenerated.
48824         * tests/unictype/test-pr_math.c: Regenerated.
48825         * tests/unictype/test-pr_numeric.c: Regenerated.
48826         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
48827         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
48828         Regenerated.
48829         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
48830         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
48831         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
48832         * tests/unictype/test-pr_other_math.c: Regenerated.
48833         * tests/unictype/test-pr_punctuation.c: Regenerated.
48834         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
48835         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
48836         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
48837         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
48838         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
48839         * tests/unictype/test-pr_uppercase.c: Regenerated.
48840         * tests/unictype/test-pr_xid_continue.c: Regenerated.
48841         * tests/unictype/test-pr_xid_start.c: Regenerated.
48842         * tests/unictype/test-pr_zero_width.c: Regenerated.
48843
48844         Update to Unicode 5.1.0.
48845         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
48846         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
48847         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
48848         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
48849         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
48850         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
48851         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
48852         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
48853         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
48854         (nonspacing_table_ind): Update.
48855         * tests/uniwidth/test-uc_width2.sh: Update expected result.
48856
48857         Update to Unicode 5.1.0.
48858         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
48859         code transform.
48860         * lib/uniname/uniname.c (unicode_character_name,
48861         unicode_name_character): Add the range 0x1Fxxx to the code transform.
48862         * lib/uniname/uninames.h: Regenerated.
48863         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
48864
48865 2009-02-07  Bruno Haible  <bruno@clisp.org>
48866
48867         Merge gen-ctype and gen-lbrk into a single program.
48868         * lib/gen-uni-tables.c: New file, incorporating
48869         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
48870         Add directory prefixes to the names of the generated files.
48871         * lib/unictype/gen-ctype.c: Remove file.
48872         * lib/unilbrk/gen-lbrk.c: Remove file.
48873         * modules/gen-uni-tables: New file.
48874         * modules/unictype/gen-ctype: Remove file.
48875         * modules/unilbrk/gen-lbrk: Remove file.
48876
48877 2009-02-07  Bruno Haible  <bruno@clisp.org>
48878
48879         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
48880
48881         New module 'unistr/u32-strcoll'.
48882         * modules/unistr/u32-strcoll: New file.
48883         * lib/unistr/u32-strcoll.c: New file.
48884
48885         New module 'unistr/u16-strcoll'.
48886         * modules/unistr/u16-strcoll: New file.
48887         * lib/unistr/u16-strcoll.c: New file.
48888
48889         New module 'unistr/u8-strcoll'.
48890         * modules/unistr/u8-strcoll: New file.
48891         * lib/unistr/u8-strcoll.c: New file.
48892         * lib/unistr/u-strcoll.h: New file.
48893
48894 2009-02-07  Bruno Haible  <bruno@clisp.org>
48895
48896         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
48897         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48898         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48899         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
48900         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
48901         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
48902
48903 2009-02-07  Bruno Haible  <bruno@clisp.org>
48904
48905         Make 64-bit clean.
48906         * lib/unictype/gen-ctype.c (output_predicate, output_category,
48907         output_combclass, output_bidi_category, output_decimal_digit,
48908         output_digit, output_numeric, output_mirror, output_scripts,
48909         output_ident_category): Use proper width specifier in format strings.
48910
48911 2009-02-07  Bruno Haible  <bruno@clisp.org>
48912
48913         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
48914         failure behaviour.
48915
48916 2009-02-07  Jim Meyering  <meyering@redhat.com>
48917
48918         regex: avoid compilation failure with upcoming gcc-4.4
48919         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
48920         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
48921         "... error: integer overflow in preprocessor expression".
48922
48923 2009-02-05  Ben Pfaff  <blp@gnu.org>
48924
48925         Fix link errors on Windows when close module is used.
48926         * modules/close: Add $(LIB_CLOSE) to Link section.
48927         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
48928         $(LIB_CLOSE) on Windows.
48929
48930 2009-02-05  Jim Meyering  <meyering@redhat.com>
48931
48932         still avoid unused-parameter warnings, but do it cleanly
48933         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
48934         (get_fs_usage): Cast to void instead.
48935         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
48936         (dev_from_mount_options, read_file_system_list): Cast to void.
48937         Prompted by Bruno Haible.
48938
48939 2009-02-04  Jim Meyering  <meyering@redhat.com>
48940
48941         fsusage.c: correct copyright year
48942         * lib/fsusage.c: Reflect year in which the change is pushed into
48943
48944         avoid misc. warnings
48945         * lib/fsusage.c (UNUSED_PARAM): Define.
48946         (get_fs_usage): Mark parameter "disk" as unused.
48947         * lib/getugroups.c (getgrent): Use "void" in prototype.
48948         * lib/mountlist.c: Mark unused parameters.
48949         (read_file_system_list): Declare a local with "const".
48950         * lib/nanosleep.c (getnow): Declare static.
48951         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
48952
48953         dirfd: set errno upon failure
48954         * lib/dirfd.c: Include <errno.h>.
48955         Set errno to ENOTSUP when returning -1.
48956         * modules/dirfd (Depends-on): Add errno.
48957         Suggested by John Kodis <kodis@comcast.net>.
48958
48959 2009-02-01  Bruno Haible  <bruno@clisp.org>
48960
48961         Don't assume sizeof (long) >= sizeof (void *).
48962         * lib/memcmp.c: Include stdint.h.
48963         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
48964         srcp2 to 'const byte *'.
48965         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
48966         types to uintptr_t.
48967         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
48968         * modules/memcmp (Depends-on): Add stdint.
48969         Reported by Ozkan Sezer <sezeroz@gmail.com>.
48970
48971 2009-01-30  Eric Blake  <ebb9@byu.net>
48972
48973         fix more require-before-expand issues
48974         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
48975         expand, AC_PROG_AWK.
48976         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
48977
48978 2009-01-28  Eric Blake  <ebb9@byu.net>
48979
48980         version-etc: use consistent URL formatting
48981         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
48982         Improve formatting.  Use fputs for string without %.
48983
48984 2009-01-28  Jim Meyering  <meyering@redhat.com>
48985
48986         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
48987         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
48988         "underquoted definition of NAME" from autoconf-2.59.
48989
48990 2009-01-28  Bruno Haible  <bruno@clisp.org>
48991
48992         * doc/gnulib.texi: Add "Obsolete modules" to index.
48993
48994 2009-01-28  Jim Meyering  <meyering@redhat.com>
48995
48996         useless-if-before-free: recognize more variants
48997         * build-aux/useless-if-before-free: Also recognize e.g.,
48998         if (NULL != p) free (p);
48999
49000 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
49001
49002         test-getaddrinfo: skip (don't fail) this test when there's no network
49003         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
49004         on the presumption that it means you lack network access.
49005
49006 2009-01-26  Jim Meyering  <meyering@redhat.com>
49007
49008         fflush: avoid warnings on modern systems
49009         * lib/fflush.c (rpl_fflush): Move declarations of locals,
49010         pos and result, into scopes where they're used.
49011
49012 2009-01-26  Eric Blake  <ebb9@byu.net>
49013
49014         Silence warning reintroduced by recent extensions patch.
49015         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
49016         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
49017         autoconf.
49018
49019         Backport improved autoconf semantics of AC_DEFUN_ONCE.
49020         * m4/00gnulib.m4: New file.
49021         * gnulib-tool (func_get_filelist): Always use it.
49022         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
49023         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
49024
49025 2009-01-25  Bruno Haible  <bruno@clisp.org>
49026
49027         Make test-quotearg work on MacOS X and AIX.
49028         * tests/test-quotearg.sh: New file.
49029         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
49030         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
49031         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
49032         include <libintl.h>.
49033         (fake_locale): Remove variable.
49034         (gettext, dgettext, dcgettext): Remove functions.
49035         (main): Instead of setting a fake locale, set a real locale. Call
49036         textdomain and bindtextdomain.
49037         * modules/quotearg-tests (Files): Add the new files.
49038         (Depends-on): Add gettext, setenv, unsetenv.
49039         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49040         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
49041         Augment TESTS_ENVIRONMENT.
49042
49043 2009-01-25  Bruno Haible  <bruno@clisp.org>
49044
49045         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
49046         fr_FR.ISO8859-1 locale on MacOS X.
49047         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
49048         ja_JP.eucJP locale on MacOS X.
49049         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
49050         zh_CN.GB18030 locale on MacOS X.
49051
49052 2009-01-25  Bruno Haible  <bruno@clisp.org>
49053
49054         Avoid link errors on MacOS X 10.3.
49055         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
49056         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49057
49058 2009-01-25  Bruno Haible  <bruno@clisp.org>
49059
49060         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49061         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
49062         * modules/pipe (Files): Remove m4/posix_spawn.m4.
49063         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49064         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
49065         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49066         posix_spawnattr_init, posix_spawnattr_setsigmask,
49067         posix_spawnattr_setflags, posix_spawnattr_destroy.
49068
49069         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49070         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
49071         * modules/execute (Files): Remove m4/posix_spawn.m4.
49072         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49073         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49074         posix_spawnattr_init, posix_spawnattr_setsigmask,
49075         posix_spawnattr_setflags, posix_spawnattr_destroy.
49076
49077 2009-01-25  Bruno Haible  <bruno@clisp.org>
49078
49079         * lib/glthread/threadlib.c: Include <stdlib.h>.
49080
49081 2009-01-25  Bruno Haible  <bruno@clisp.org>
49082
49083         * lib/glthread/threadlib.c (dummy): New declaration.
49084
49085 2009-01-25  Bruno Haible  <bruno@clisp.org>
49086
49087         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
49088         multibyte characters also for the GB18030 encoding. Don't crash when
49089         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
49090
49091 2009-01-25  Bruno Haible  <bruno@clisp.org>
49092
49093         Avoid redefining 'struct random_data' on OSF/1 5.1.
49094         * lib/stdlib.in.h: Include <random.h> if it exists.
49095         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
49096         HAVE_RANDOM_H. Include <random.h> when testing whether
49097         'struct random_data' exists.
49098         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
49099
49100 2009-01-25  Bruno Haible  <bruno@clisp.org>
49101
49102         Don't install charset.alias on MacOS X >= 10.3.
49103         * lib/localcharset.c (DARWIN7): New macro.
49104         (get_charset_aliases): Hardcode the result for Darwin7.
49105         * modules/localcharset (install-exec-local): Don't install
49106         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
49107
49108 2009-01-25  Bruno Haible  <bruno@clisp.org>
49109
49110         Don't install charset.alias on mingw and Cygwin.
49111         * modules/localcharset (install-exec-local): Don't install
49112         charset.alias on mingw and Cygwin, if the file does not yet exist.
49113         The result for these platforms is hardcoded in localcharset.c.
49114
49115 2009-01-25  Bruno Haible  <bruno@clisp.org>
49116
49117         Make it possible again to use AC_GNU_SOURCE together with gnulib.
49118         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
49119         before requiring AC_USE_SYSTEM_EXTENSIONS.
49120
49121 2009-01-25  Jim Meyering  <meyering@redhat.com>
49122
49123         c-strtod: avoid warnings
49124         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
49125         "assignment discards qualifiers from pointer target type" warnings.
49126
49127 2009-01-24  Bruno Haible  <bruno@clisp.org>
49128
49129         Add support for non-UTF-8 locales on MacOS X.
49130         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
49131         canonical encodings. For Darwin 7 and newer, don't map traditional
49132         encodings to UTF-8.
49133         Reported by Vincent Lefevre <vincent@vinc17.org>
49134         at <http://savannah.gnu.org/bugs/?25235>.
49135
49136 2009-01-24  Bruno Haible  <bruno@clisp.org>
49137
49138         * doc/gnulib.texi (Obsolete modules): New section.
49139         Reported by Mike Frysinger <vapier@gentoo.org>.
49140
49141 2009-01-24  Bruno Haible  <bruno@clisp.org>
49142
49143         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
49144         (%.dvi): New rule.
49145
49146 2009-01-24  Bruno Haible  <bruno@clisp.org>
49147
49148         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
49149         Reported by Eric Blake.
49150
49151 2009-01-24  Bruno Haible  <bruno@clisp.org>
49152
49153         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
49154         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
49155         Reported by Gary V. Vaughan <gary@gnu.org>.
49156
49157 2009-01-24  Bruno Haible  <bruno@clisp.org>
49158
49159         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
49160
49161 2009-01-23  Bruno Haible  <bruno@clisp.org>
49162
49163         Make c-strtod, c-strtold usable in libraries.
49164         * lib/c-strtod.c: Include string.h instead of xalloc.h.
49165         (C_STRTOD): Call strdup instead of xstrdup.
49166         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
49167         * modules/c-strtold (Depends-on): Likewise.
49168         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
49169         * NEWS: Mention the change.
49170         Reported by Michael Gold <mgold@ncf.ca>.
49171
49172 2009-01-23  Jim Meyering  <meyering@redhat.com>
49173
49174         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
49175         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
49176         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
49177
49178 2009-01-23  Simon Josefsson  <simon@josefsson.org>
49179
49180         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
49181         GNU CoreUtils.
49182         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
49183         * modules/version-etc (Description): Update.
49184
49185 2009-01-22  Bruno Haible  <bruno@clisp.org>
49186
49187         Cache the C locale object.
49188         * lib/c-strtod.c (c_locale_cache): New variable.
49189         (c_locale): New function.
49190         (C_STRTOD): Use it, and don't call freelocale.
49191         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
49192         Suggested by Paolo Bonzini.
49193
49194 2009-01-21  Bruno Haible  <bruno@clisp.org>
49195
49196         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
49197         conditions other than overflow.
49198
49199 2009-01-21  Bruno Haible  <bruno@clisp.org>
49200
49201         * lib/c-strtod.c: Include errno.h.
49202         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
49203         value from STRTOD_L and STRTOD.
49204
49205 2009-01-21  Bruno Haible  <bruno@clisp.org>
49206         and Jim Meyering  <meyering@redhat.com>
49207
49208         nanosleep: skip configure test (fail it) for apple universal builds
49209         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
49210         universal builds, assume that nanosleep does not work.
49211         * modules/nanosleep (Depends-on): Add multiarch.
49212
49213         mktime: skip configure test (fail it) for apple universal builds
49214         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
49215         universal builds, assume that mktime does not work.
49216         * modules/mktime (Depends-on): Add multiarch.
49217
49218 2009-01-21  Eric Blake  <ebb9@byu.net>
49219
49220         multiarch: avoid expand-before-require warning
49221         * modules/multiarch (configure.ac): Require, rather than expand,
49222         gl_MULTIARCH.
49223         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
49224         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
49225         enforce that all clients require it.  Partial reversion of
49226         2008-12-29 patch.
49227
49228         error: avoid expand-before-require warning
49229         * modules/errno (configure.ac): Require, rather than expand,
49230         gl_HEADER_ERRNO_H.
49231         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
49232         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
49233         enforce that all clients require it.
49234
49235         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
49236         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
49237         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
49238         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
49239
49240 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
49241
49242         Revert:
49243         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49244
49245         regex: do not depend on obsolete modules.
49246         * modules/regex: Remove memcmp and memmove.
49247
49248 2009-01-20  Bruno Haible  <bruno@clisp.org>
49249
49250         Make the 'link' module link on Windows NT 4.
49251         * lib/link.c (_WIN32_WINNT): Don't define.
49252         (CreateHardLinkFuncType): New type.
49253         (CreateHardLinkFunc, initialized): New variables.
49254         (initialize): New function.
49255         (link): Invoke CreateHardLink indirectly through the function pointer.
49256
49257 2009-01-20  Bruno Haible  <bruno@clisp.org>
49258
49259         Fix compilation failure on mingw.
49260         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
49261
49262 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
49263
49264         * doc/c-strtod.texi: Mention a couple of restrictions.
49265
49266 2009-01-20  Jim Meyering  <meyering@redhat.com>
49267
49268         gettimeofday: move more declarations out of functions
49269         * lib/gettimeofday.c: Move extern declarations of tzset and
49270         gmtime out of containing functions.  Prompted by Bruno Haible.
49271
49272 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49273
49274         regex: do not depend on obsolete modules.
49275         * modules/regex: Remove memcmp and memmove.
49276
49277 2009-01-19  Bruno Haible  <bruno@clisp.org>
49278
49279         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49280         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
49281         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49282         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
49283         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
49284
49285 2009-01-19  Bruno Haible  <bruno@clisp.org>
49286
49287         * tests/test-link.c: Include <errno.h>.
49288         (main): Exit with code 77 when a hard link cannot be created due to
49289         the file system.
49290         * tests/test-link.sh: Skip test when a hard link cannot be created due
49291         to the file system.
49292         Suggested by Eric Blake.
49293
49294 2009-01-19  Martin Lambers  <marlam@marlam.de>
49295
49296         * modules/link-tests: New file.
49297         * tests/test-link.sh: New file.
49298         * tests/test-link.c: New file.
49299
49300 2009-01-19  Eric Blake  <ebb9@byu.net>
49301
49302         doc: mention another function added in cygwin 1.7.0
49303         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
49304         Another new function in cygwin 1.7.
49305
49306 2009-01-19  Bruno Haible  <bruno@clisp.org>
49307
49308         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49309         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
49310         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
49311         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49312         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
49313         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
49314         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
49315         * m4/md4.m4 (gl_MD4): Likewise.
49316         * m4/md5.m4 (gl_MD5): Likewise.
49317         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
49318         * m4/sha1.m4 (gl_SHA1): Likewise.
49319         * m4/sha256.m4 (gl_SHA256): Likewise.
49320         * m4/sha512.m4 (gl_SHA512): Likewise.
49321
49322 2009-01-19  Bruno Haible  <bruno@clisp.org>
49323
49324         * modules/uniname/uniname-tests (Depends-on): Add progname.
49325         * tests/uniname/test-uninames.c: Include progname.h.
49326         (main): Call set_program_name.
49327
49328         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
49329         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
49330         (main): Call set_program_name.
49331
49332         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
49333         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
49334         (main): Call set_program_name.
49335
49336         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
49337         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
49338         (main): Call set_program_name.
49339
49340         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
49341         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
49342         (main): Call set_program_name.
49343
49344         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
49345         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
49346         (main): Call set_program_name.
49347
49348         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
49349         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
49350         (main): Call set_program_name.
49351
49352         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
49353         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
49354         (main): Call set_program_name.
49355
49356         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
49357         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
49358         (main): Call set_program_name.
49359
49360 2009-01-19  Eric Blake  <ebb9@byu.net>
49361
49362         test-unistd: test previous patch
49363         * tests/test-unistd.c: Test *_FILENO macros.
49364
49365         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
49366         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49367         Guarantee a definition.
49368         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
49369         * modules/unistd-safer (Depends-on): Add dependency on unistd.
49370         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
49371         * lib/dup-safer.c (STDERR_FILENO): Likewise.
49372         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49373         Likewise.
49374         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
49375         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
49376         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49377         Likewise.
49378         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
49379         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
49380         (STDERR_FILENO): Likewise.
49381         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
49382         (STDERR_FILENO): Likewise.
49383         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
49384         (STDERR_FILENO): Likewise.
49385         Reported by Elbert Pol.
49386
49387 2009-01-19  Eric Blake  <ebb9@byu.net>
49388
49389         doc: mention more functions added in cygwin 1.7.0
49390         * doc/posix-functions/abort.texi (abort): Update wording related
49391         to cygwin.
49392         * doc/posix-functions/daylight.texi (daylight): Likewise.
49393         * doc/posix-functions/optarg.texi (optarg): Likewise.
49394         * doc/posix-functions/optarg.texi (opterr): Likewise.
49395         * doc/posix-functions/optarg.texi (optind): Likewise.
49396         * doc/posix-functions/optarg.texi (optopt): Likewise.
49397         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
49398         worked in 1.5.x, and was withdrawn in 1.7.
49399         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
49400         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
49401         cygwin versions.
49402         * doc/posix-functions/perror.texi (perror): Likewise.
49403         * doc/posix-functions/printf.texi (printf): Likewise.
49404         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
49405         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
49406         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
49407         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
49408         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
49409         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
49410         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
49411         Likewise.
49412         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
49413         Likewise.
49414         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
49415         this function.
49416         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
49417         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
49418         Likewise.
49419         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
49420         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
49421         * doc/posix-functions/confstr.texi (confstr): Likewise.
49422         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
49423         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
49424         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
49425         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
49426         * doc/posix-functions/fputws.texi (fputws): Likewise.
49427         * doc/posix-functions/fwide.texi (fwide): Likewise.
49428         * doc/posix-functions/getwc.texi (getwc): Likewise.
49429         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
49430         * doc/posix-functions/putwc.texi (putwc): Likewise.
49431         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
49432         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
49433         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
49434         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
49435         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
49436         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
49437         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
49438         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
49439         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
49440         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
49441         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
49442
49443 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49444
49445         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
49446         * lib/ioctl.c: Include <sys/ioctl.h>.
49447
49448 2009-01-19  Simon Josefsson  <simon@josefsson.org>
49449
49450         * modules/getdate-tests (Depends-on): Add progname.
49451         * tests/test-getdate.c: Use progname module, to avoid link errors
49452         on non-glibc systems.
49453
49454 2009-01-18  Simon Josefsson  <simon@josefsson.org>
49455
49456         * modules/filenamecat-tests (Depends-on): Add progname.
49457         * modules/fstrcmp-tests (Depends-on): Likewise.
49458
49459         * tests/test-filenamecat.c: Use progname module, to avoid link
49460         errors on non-glibc systems.
49461         * tests/test-fstrcmp.c: Likewise.
49462
49463 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49464
49465         gettimeofday: avoid warning: nested extern declaration of 'localtime'
49466         * lib/gettimeofday.c: Move extern declaration out of function.
49467
49468 2009-01-18  Bruno Haible  <bruno@clisp.org>
49469
49470         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
49471         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
49472         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
49473
49474 2009-01-18  Bruno Haible  <bruno@clisp.org>
49475
49476         * lib/strftime.c (MEMPCPY): Remove unused macro.
49477         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
49478
49479 2009-01-18  Martin Lambers  <marlam@marlam.de>
49480
49481         New module 'link'.
49482         * lib/unistd.in.h (link): New declaration.
49483         * lib/link.c: New file.
49484         * m4/link.m4: New file.
49485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
49486         HAVE_LINK.
49487         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
49488         * modules/link: New file.
49489         * doc/posix-functions/link.texi: Mention the new module.
49490
49491 2009-01-18  Bruno Haible  <bruno@clisp.org>
49492
49493         * tests/test-avltree_list.c (main): Call set_program_name.
49494         * tests/test-avltree_oset.c (main): Likewise.
49495         * tests/test-obstack-printf.c: Include progname.h.
49496         (main): Call set_program_name.
49497         * tests/test-quotearg.c: Include progname.h.
49498         (main): Call set_program_name.
49499         * tests/test-xmemdup0.c: Include progname.h.
49500         (main): Call set_program_name.
49501
49502 2009-01-18  Bruno Haible  <bruno@clisp.org>
49503
49504         New module 'alphasort'.
49505         * lib/dirent.in.h (alphasort): New declaration.
49506         * lib/alphasort.c: New file, from glibc with modifications.
49507         * m4/alphasort.m4: New file.
49508         * modules/alphasort: New file.
49509         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
49510         HAVE_ALPHASORT.
49511         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
49512         HAVE_ALPHASORT.
49513         * doc/posix-functions/alphasort.texi: Mention the new module and the
49514         portability problems.
49515
49516 2009-01-18  Bruno Haible  <bruno@clisp.org>
49517
49518         New module 'scandir'.
49519         * lib/dirent.in.h (scandir): New declaration.
49520         * lib/scandir.c: New file, from glibc with modifications.
49521         * m4/scandir.m4: New file.
49522         * modules/scandir: New file.
49523         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
49524         HAVE_SCANDIR.
49525         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
49526         HAVE_SCANDIR.
49527         * doc/posix-functions/scandir.texi: Mention the new module and the
49528         portability problems.
49529
49530 2009-01-17  Bruno Haible  <bruno@clisp.org>
49531
49532         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
49533         Update documentation.
49534         (func_remove_suffix): Escape all dots in the suffix. Update
49535         documentation.
49536         (func_filter_filelist): Update documentation.
49537         Reported by Ralf Wildenhues.
49538
49539 2009-01-17  Bruno Haible  <bruno@clisp.org>
49540
49541         * modules/dprintf-posix-tests: New file.
49542         * tests/test-dprintf-posix.sh: New file.
49543         * tests/test-dprintf-posix.c: New file.
49544
49545         New modules 'dprintf', 'dprintf-posix'.
49546         * lib/stdio.in.h (dprintf): New declaration.
49547         * lib/dprintf.c: New file.
49548         * m4/dprintf.m4: New file.
49549         * m4/dprintf-posix.m4: New file.
49550         * modules/dprintf: New file.
49551         * modules/dprintf-posix: New file.
49552         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
49553         HAVE_DPRINTF, REPLACE_DPRINTF.
49554         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
49555         HAVE_DPRINTF, REPLACE_DPRINTF.
49556         * doc/posix-functions/dprintf.texi: Mention the new modules.
49557
49558 2009-01-17  Bruno Haible  <bruno@clisp.org>
49559
49560         * modules/vdprintf-posix-tests: New file.
49561         * tests/test-vdprintf-posix.sh: New file.
49562         * tests/test-vdprintf-posix.c: New file.
49563
49564         New modules 'vdprintf', 'vdprintf-posix'.
49565         * lib/stdio.in.h (vdprintf): New declaration.
49566         * lib/vdprintf.c: New file.
49567         * m4/vdprintf.m4: New file.
49568         * m4/vdprintf-posix.m4: New file.
49569         * modules/vdprintf: New file.
49570         * modules/vdprintf-posix: New file.
49571         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
49572         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49573         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
49574         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49575         * doc/posix-functions/vdprintf.texi: Mention the new modules.
49576
49577 2009-01-17  Bruno Haible  <bruno@clisp.org>
49578
49579         Fix replacement of fopen on mingw.
49580         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
49581         mingw.
49582
49583 2009-01-17  Bruno Haible  <bruno@clisp.org>
49584
49585         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
49586         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
49587
49588 2009-01-17  Bruno Haible  <bruno@clisp.org>
49589
49590         Avoid test-fflush2.sh failure on mingw.
49591         * tests/test-fflush2.c: Include binary-io.h.
49592         (main): Put standard input into binary mode.
49593         * modules/fflush-tests (Depends-on): Add binary-io.
49594
49595 2009-01-17  Bruno Haible  <bruno@clisp.org>
49596
49597         * lib/wchar.in.h: In another particular situation, include only the
49598         system's <wchar.h> file.
49599         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
49600         Reported by Albert Chin-A-Young <china@thewrittenword.com>
49601         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
49602
49603 2009-01-17  Bruno Haible  <bruno@clisp.org>
49604
49605         Support for stripping executables in --enable-relocatable.
49606         * build-aux/install-reloc: Expect one more argument, or an environment
49607         variable RELOC_STRIP_PROG. If set, strip the destination program and
49608         its wrapper.
49609         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
49610         RELOC_STRIP_PROG.
49611         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
49612         to set RELOCATABLE_STRIP.
49613         * NEWS: Mention the new Makefile requirement.
49614
49615 2009-01-17  Bruno Haible  <bruno@clisp.org>
49616
49617         * build-aux/install-reloc: Remove debugging information left over by
49618         C compiler on MacOS X.
49619
49620 2009-01-17  Bruno Haible  <bruno@clisp.org>
49621
49622         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
49623         * lib/progreloc.c (find_executable): Fix type of pointer passed to
49624         _NSGetExecutablePath.
49625
49626 2009-01-16  Jim Meyering  <meyering@redhat.com>
49627
49628         strerror: avoid warnings about discarding "const"
49629         * lib/strerror.c (rpl_strerror): Instead of returning a const
49630         string from each and every "case", use a variable, and add a single
49631         cast after the switch.
49632
49633 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
49634
49635         * lib/arpa_inet.in.h: Add extern "C" block for C++.
49636
49637 2009-01-16  Bruno Haible  <bruno@clisp.org>
49638
49639         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
49640         array initializer syntax that also works in C++ mode.
49641         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49642
49643 2009-01-16  Jim Meyering  <meyering@redhat.com>
49644
49645         poll: suppress a warning
49646         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
49647         to ignore "...unsigned expression < 0 is always false" warnings.
49648
49649 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
49650
49651         poll: remove declarations of unused variables
49652         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
49653         sockbuf and optlen.
49654
49655 2009-01-15  Bruno Haible  <bruno@clisp.org>
49656
49657         Make fflush-after-ungetc POSIX compliant on BSD systems.
49658         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
49659         (clear_ungetc_buffer): Implement also for other systems.
49660         (rpl_fflush): On glibc systems, invoke
49661         clear_ungetc_buffer_preserving_position. Otherwise, invoke
49662         clear_ungetc_buffer after fetching the stream's position, not before.
49663
49664 2009-01-15  Bruno Haible  <bruno@clisp.org>
49665
49666         Make fflush-after-ungetc POSIX compliant on glibc systems.
49667         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
49668         after ungetc.
49669         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
49670         (rpl_fflush): On glibc systems, simply call the system's fflush
49671         function after clearing the ungetc buffer.
49672         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
49673         Instead, lseek only to the end of file, then use the system's fseeko
49674         for the rest. On glibc systems, reset the EOF indicator bit.
49675
49676 2009-01-15  Jim Meyering  <meyering@redhat.com>
49677
49678         openmp.m4: revert quote-adding change, for portability to older autoconf
49679         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
49680         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
49681         Simon Josefsson noticed the problem when using autoconf-2.61.
49682
49683 2009-01-15  Bruno Haible  <bruno@clisp.org>
49684
49685         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
49686         * tests/test-fflush2.c (ASSERT): Always fail.
49687         (main): Add two tests for fflush() after ungetc(), taking into account
49688         the Austin Group's clarification.
49689         Suggested by Eric Blake.
49690
49691 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
49692
49693         mktime.m4: remove K&R-style function prototypes
49694         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
49695         for the Sun C++ compiler.
49696
49697 2009-01-14  Bruno Haible  <bruno@clisp.org>
49698
49699         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
49700         while including <wchar.h>.
49701         * lib/wchar.in.h: In two particular situations on HP-UX, include only
49702         the system's <wchar.h> file.
49703         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49704
49705 2009-01-14  Bruno Haible  <bruno@clisp.org>
49706
49707         * m4/csharp.m4: Don't mention gettext on the serial number line.
49708         * m4/csharpexec.m4: Likewise.
49709         * m4/eaccess.m4: Likewise.
49710         * m4/javaexec.m4: Likewise.
49711         * m4/sig_atomic_t.m4: Likewise.
49712         * m4/tmpdir.m4: Likewise.
49713         * m4/intldir.m4: Bump gettext version.
49714         * m4/lib-ld.m4: Likewise.
49715
49716 2009-01-14  Bruno Haible  <bruno@clisp.org>
49717
49718         * lib/progname.c (set_program_name): Add more comments.
49719         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
49720
49721 2009-01-14  Simon Josefsson  <simon@josefsson.org>
49722
49723         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
49724         were sys/stat.h does not define it.
49725
49726 2009-01-14  Jim Meyering  <meyering@redhat.com>
49727
49728         many *.m4 files: improve m4 quoting
49729         99% of this change was performed by running the following commands:
49730         git ls-files | grep '\.m4$' | xargs perl -pi \
49731           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
49732           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49733           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49734           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
49735         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
49736         The remainder were to add Copyright dates, increment serial numbers,
49737         undo some changes in comments, exclude m4/intl.m4, and add quotes
49738         around the "1" in ",1" where the unusual spacing prohibited the
49739         above regexps from doing the job.  For more details, see
49740         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
49741         * m4/acl.m4: Modified.
49742         * m4/afs.m4: Likewise.
49743         * m4/alloca.m4: Likewise.
49744         * m4/argp.m4: Likewise.
49745         * m4/argz.m4: Likewise.
49746         * m4/atexit.m4: Likewise.
49747         * m4/bison-i18n.m4: Likewise.
49748         * m4/bison.m4: Likewise.
49749         * m4/byteswap.m4: Likewise.
49750         * m4/c-stack.m4: Likewise.
49751         * m4/c-strtod.m4: Likewise.
49752         * m4/calloc.m4: Likewise.
49753         * m4/canonicalize-lgpl.m4: Likewise.
49754         * m4/chown.m4: Likewise.
49755         * m4/clock_time.m4: Likewise.
49756         * m4/codeset.m4: Likewise.
49757         * m4/copy-file.m4: Likewise.
49758         * m4/csharp.m4: Likewise.
49759         * m4/csharpcomp.m4: Likewise.
49760         * m4/csharpexec.m4: Likewise.
49761         * m4/d-ino.m4: Likewise.
49762         * m4/d-type.m4: Likewise.
49763         * m4/dirfd.m4: Likewise.
49764         * m4/double-slash-root.m4: Likewise.
49765         * m4/eaccess.m4: Likewise.
49766         * m4/eealloc.m4: Likewise.
49767         * m4/environ.m4: Likewise.
49768         * m4/errno_h.m4: Likewise.
49769         * m4/euidaccess.m4: Likewise.
49770         * m4/execute.m4: Likewise.
49771         * m4/fatal-signal.m4: Likewise.
49772         * m4/fchdir.m4: Likewise.
49773         * m4/fcntl_h.m4: Likewise.
49774         * m4/fileblocks.m4: Likewise.
49775         * m4/filenamecat.m4: Likewise.
49776         * m4/findprog.m4: Likewise.
49777         * m4/flexmember.m4: Likewise.
49778         * m4/fnmatch.m4: Likewise.
49779         * m4/fopen.m4: Likewise.
49780         * m4/fpending.m4: Likewise.
49781         * m4/fprintf-posix.m4: Likewise.
49782         * m4/free.m4: Likewise.
49783         * m4/frexp.m4: Likewise.
49784         * m4/frexpl.m4: Likewise.
49785         * m4/fsusage.m4: Likewise.
49786         * m4/ftruncate.m4: Likewise.
49787         * m4/gc-camellia.m4: Likewise.
49788         * m4/gc-random.m4: Likewise.
49789         * m4/gc.m4: Likewise.
49790         * m4/getaddrinfo.m4: Likewise.
49791         * m4/getcwd-abort-bug.m4: Likewise.
49792         * m4/getcwd-path-max.m4: Likewise.
49793         * m4/getdate.m4: Likewise.
49794         * m4/getdomainname.m4: Likewise.
49795         * m4/getgroups.m4: Likewise.
49796         * m4/gethostname.m4: Likewise.
49797         * m4/gethrxtime.m4: Likewise.
49798         * m4/getline.m4: Likewise.
49799         * m4/getloadavg.m4: Likewise.
49800         * m4/getndelim2.m4: Likewise.
49801         * m4/getpass.m4: Likewise.
49802         * m4/gettext.m4: Likewise.
49803         * m4/gettime.m4: Likewise.
49804         * m4/gettimeofday.m4: Likewise.
49805         * m4/gnulib-common.m4: Likewise.
49806         * m4/group-member.m4: Likewise.
49807         * m4/host-os.m4: Likewise.
49808         * m4/iconv.m4: Likewise.
49809         * m4/iconv_open.m4: Likewise.
49810         * m4/inet_ntop.m4: Likewise.
49811         * m4/inet_pton.m4: Likewise.
49812         * m4/inline.m4: Likewise.
49813         * m4/intldir.m4: Likewise.
49814         * m4/intlmacosx.m4: Likewise.
49815         * m4/intmax.m4: Likewise.
49816         * m4/intmax_t.m4: Likewise.
49817         * m4/inttypes.m4: Likewise.
49818         * m4/inttypes_h.m4: Likewise.
49819         * m4/inttypes-pri.m4: Likewise.
49820         * m4/isapipe.m4: Likewise.
49821         * m4/isnand.m4: Likewise.
49822         * m4/isnanf.m4: Likewise.
49823         * m4/isnanl.m4: Likewise.
49824         * m4/javacomp.m4: Likewise.
49825         * m4/javaexec.m4: Likewise.
49826         * m4/jm-winsz1.m4: Likewise.
49827         * m4/jm-winsz2.m4: Likewise.
49828         * m4/lchown.m4: Likewise.
49829         * m4/lcmessage.m4: Likewise.
49830         * m4/ldexpl.m4: Likewise.
49831         * m4/lib-ld.m4: Likewise.
49832         * m4/lib-link.m4: Likewise.
49833         * m4/libsigsegv.m4: Likewise.
49834         * m4/link-follow.m4: Likewise.
49835         * m4/localcharset.m4: Likewise.
49836         * m4/locale-fr.m4: Likewise.
49837         * m4/locale-ja.m4: Likewise.
49838         * m4/locale-tr.m4: Likewise.
49839         * m4/locale-zh.m4: Likewise.
49840         * m4/lock.m4: Likewise.
49841         * m4/longlong.m4: Likewise.
49842         * m4/ls-mntd-fs.m4: Likewise.
49843         * m4/lstat.m4: Likewise.
49844         * m4/malloc.m4: Likewise.
49845         * m4/mathl.m4: Likewise.
49846         * m4/mbrtowc.m4: Likewise.
49847         * m4/mbstate_t.m4: Likewise.
49848         * m4/mbswidth.m4: Likewise.
49849         * m4/memchr.m4: Likewise.
49850         * m4/memcmp.m4: Likewise.
49851         * m4/memcpy.m4: Likewise.
49852         * m4/memmem.m4: Likewise.
49853         * m4/memmove.m4: Likewise.
49854         * m4/mempcpy.m4: Likewise.
49855         * m4/memrchr.m4: Likewise.
49856         * m4/memset.m4: Likewise.
49857         * m4/minmax.m4: Likewise.
49858         * m4/mkdir-slash.m4: Likewise.
49859         * m4/mkdtemp.m4: Likewise.
49860         * m4/mktime.m4: Likewise.
49861         * m4/mmap-anon.m4: Likewise.
49862         * m4/mountlist.m4: Likewise.
49863         * m4/nanosleep.m4: Likewise.
49864         * m4/nls.m4: Likewise.
49865         * m4/nocrash.m4: Likewise.
49866         * m4/open.m4: Likewise.
49867         * m4/openat.m4: Likewise.
49868         * m4/openmp.m4: Likewise.
49869         * m4/pathmax.m4: Likewise.
49870         * m4/perl.m4: Likewise.
49871         * m4/physmem.m4: Likewise.
49872         * m4/pipe.m4: Likewise.
49873         * m4/po.m4: Likewise.
49874         * m4/poll.m4: Likewise.
49875         * m4/posixtm.m4: Likewise.
49876         * m4/posixver.m4: Likewise.
49877         * m4/printf-frexp.m4: Likewise.
49878         * m4/printf-frexpl.m4: Likewise.
49879         * m4/printf-posix.m4: Likewise.
49880         * m4/printf-posix-rpl.m4: Likewise.
49881         * m4/printf.m4: Likewise.
49882         * m4/progtest.m4: Likewise.
49883         * m4/putenv.m4: Likewise.
49884         * m4/readline.m4: Likewise.
49885         * m4/readlink.m4: Likewise.
49886         * m4/readutmp.m4: Likewise.
49887         * m4/realloc.m4: Likewise.
49888         * m4/regex.m4: Likewise.
49889         * m4/relocatable.m4: Likewise.
49890         * m4/relocatable-lib.m4: Likewise.
49891         * m4/rename-dest-slash.m4: Likewise.
49892         * m4/rename.m4: Likewise.
49893         * m4/rmdir-errno.m4: Likewise.
49894         * m4/rmdir.m4: Likewise.
49895         * m4/roundf.m4: Likewise.
49896         * m4/roundl.m4: Likewise.
49897         * m4/rpmatch.m4: Likewise.
49898         * m4/save-cwd.m4: Likewise.
49899         * m4/selinux-selinux-h.m4: Likewise.
49900         * m4/setenv.m4: Likewise.
49901         * m4/settime.m4: Likewise.
49902         * m4/sig2str.m4: Likewise.
49903         * m4/sig_atomic_t.m4: Likewise.
49904         * m4/signalblocking.m4: Likewise.
49905         * m4/signbit.m4: Likewise.
49906         * m4/sigpipe.m4: Likewise.
49907         * m4/sockets.m4: Likewise.
49908         * m4/sockpfaf.m4: Likewise.
49909         * m4/st_dm_mode.m4: Likewise.
49910         * m4/stat-time.m4: Likewise.
49911         * m4/stdbool.m4: Likewise.
49912         * m4/stdint.m4: Likewise.
49913         * m4/stdint_h.m4: Likewise.
49914         * m4/stpcpy.m4: Likewise.
49915         * m4/stpncpy.m4: Likewise.
49916         * m4/strcase.m4: Likewise.
49917         * m4/strchrnul.m4: Likewise.
49918         * m4/strcspn.m4: Likewise.
49919         * m4/strdup.m4: Likewise.
49920         * m4/strftime.m4: Likewise.
49921         * m4/strndup.m4: Likewise.
49922         * m4/strnlen.m4: Likewise.
49923         * m4/strpbrk.m4: Likewise.
49924         * m4/strptime.m4: Likewise.
49925         * m4/strsep.m4: Likewise.
49926         * m4/strtod.m4: Likewise.
49927         * m4/strtoimax.m4: Likewise.
49928         * m4/strtok_r.m4: Likewise.
49929         * m4/strtol.m4: Likewise.
49930         * m4/strtoll.m4: Likewise.
49931         * m4/strtoul.m4: Likewise.
49932         * m4/strtoull.m4: Likewise.
49933         * m4/strtoumax.m4: Likewise.
49934         * m4/strverscmp.m4: Likewise.
49935         * m4/threadlib.m4: Likewise.
49936         * m4/timegm.m4: Likewise.
49937         * m4/tm_gmtoff.m4: Likewise.
49938         * m4/tmpdir.m4: Likewise.
49939         * m4/tmpfile.m4: Likewise.
49940         * m4/tzset.m4: Likewise.
49941         * m4/uintmax_t.m4: Likewise.
49942         * m4/unlinkdir.m4: Likewise.
49943         * m4/unlocked-io.m4: Likewise.
49944         * m4/uptime.m4: Likewise.
49945         * m4/userspec.m4: Likewise.
49946         * m4/utimbuf.m4: Likewise.
49947         * m4/utime.m4: Likewise.
49948         * m4/utimes-null.m4: Likewise.
49949         * m4/utimes.m4: Likewise.
49950         * m4/vararrays.m4: Likewise.
49951         * m4/vasnprintf.m4: Likewise.
49952         * m4/vfprintf-posix.m4: Likewise.
49953         * m4/vprintf-posix.m4: Likewise.
49954         * m4/wait-process.m4: Likewise.
49955         * m4/wchar_t.m4: Likewise.
49956         * m4/wint_t.m4: Likewise.
49957         * m4/write-any-file.m4: Likewise.
49958         * m4/yield.m4: Likewise.
49959
49960 2009-01-13  Bruno Haible  <bruno@clisp.org>
49961
49962         Avoid test-copy-file.sh failures when ACL support insufficient.
49963         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
49964         TESTS_ENVIRONMENT.
49965         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
49966         Reported by Jim Meyering.
49967
49968 2009-01-13  Bruno Haible  <bruno@clisp.org>
49969
49970         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
49971         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
49972         * modules/unistdio/u8-printf-parse (Files): Likewise.
49973         * modules/unistdio/u32-printf-parse (Files): Likewise.
49974         * modules/unistdio/ulc-printf-parse (Files): Likewise.
49975
49976 2009-01-13  Simon Josefsson  <simon@josefsson.org>
49977
49978         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
49979         and m4/inttypes_h.m4 too.
49980
49981 2009-01-12  Eric Blake  <ebb9@byu.net>
49982
49983         tests: IRIX 6.2 cc can't compile -0.0 into .data
49984         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
49985         rather than at compile-time.
49986         * tests/test-floorl.c (minus_zero): Likewise.
49987         * tests/test-frexpl.c (minus_zero): Likewise.
49988         * tests/test-isnan.c (minus_zerol): Likewise.
49989         * tests/test-isnanl.h (minus_zero): Likewise.
49990         * tests/test-ldexpl.c (minus_zero): Likewise.
49991         * tests/test-roundl.c (minus_zero): Likewise.
49992         * tests/test-signbit.c (minus_zerol): Likewise.
49993         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49994         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49995         * tests/test-truncl.c (minus_zero): Likewise.
49996         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49997         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49998         Reported by Tom G. Christensen and Nelson H. F. Beebe.
49999
50000 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50001
50002         regex: fix glibc bug 9697
50003         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
50004         handling.
50005
50006 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50007
50008         regex: fix glibc bug 697
50009         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
50010         being NULL also if there are no backreferences.
50011
50012 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50013
50014         regex: merge glibc changes
50015         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
50016         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
50017         re_string_skip_chars, re_string_reconstruct): Likewise.
50018         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
50019
50020 2009-01-07  Jim Meyering  <meyering@redhat.com>
50021
50022         poll: filter through cppi
50023         * lib/poll.c: Indent cpp directives to reflect nesting.
50024
50025 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
50026
50027         poll: don't return uninitialized
50028         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
50029
50030 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
50031
50032         avoid compile failure on AIX 6.1
50033         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
50034         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
50035
50036 2009-01-04  Jim Meyering  <meyering@redhat.com>
50037
50038         remove duplicate inclusion of <stdio.h>
50039         * tests/test-fprintf-posix.c: Likewise.
50040         * tests/test-printf-posix.c: Likewise.
50041         * tests/test-snprintf-posix.c: Likewise.
50042         * tests/test-sprintf-posix.c: Likewise.
50043         * tests/test-vasprintf-posix.c: Likewise.
50044         * tests/test-vfprintf-posix.c: Likewise.
50045         * tests/test-vprintf-posix.c: Likewise.
50046         * tests/test-vsnprintf-posix.c: Likewise.
50047         * tests/test-vsprintf-posix.c: Likewise.
50048
50049 2009-01-03  Jim Meyering  <meyering@redhat.com>
50050
50051         gnulib-tool: fix sed-based filtering
50052         * gnulib-tool (func_filter_filelist): Remove extra backslash
50053         in sed_fff_filter definition.
50054
50055 2009-01-02  Jim Meyering  <meyering@redhat.com>
50056
50057         strftime: avoid compilation failure on Solaris 2.6
50058         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
50059         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
50060         Don't #define mbrlen or mbsinit, since now they're guaranteed to
50061         be available.  Reported by Tom G. Christensen.  Details in
50062         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
50063
50064 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50065             Bruno Haible  <bruno@clisp.org>
50066
50067         Speed up gnulib-tool by doing more string processing through shell
50068         built-ins.
50069         * gnulib-tool (fast_func_append): New variable.
50070         (func_remove_prefix, func_remove_suffix): New functions.
50071         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
50072         (func_filter_filelist): New function.
50073         (func_get_dependencies): Use func_remove_suffix instead of sed.
50074         (func_get_automake_snippet): Use func_filter_filelist instead of a
50075         subshell and sed invocation.
50076
50077 2009-01-01  Bruno Haible  <bruno@clisp.org>
50078
50079         Fix a security bug.
50080         * gnulib-tool (func_import, import, update): Don't allow the characters
50081         '"', '$', '`', '\' in macro arguments that become part of commands that
50082         are evaluated.
50083
50084 2009-01-01  Bruno Haible  <bruno@clisp.org>
50085
50086         * gnulib-tool (func_reset_sigpipe): Add more comments.
50087
50088 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50089
50090         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
50091         func_emit_tests_Makefile_am, func_import): Abort loops early if we
50092         already know the answer.
50093
50094 2009-01-01  Jim Meyering  <meyering@redhat.com>
50095
50096         * lib/version-etc.c (version_etc_va): Update copyright year.
50097
50098 2008-12-30  Bruno Haible  <bruno@clisp.org>
50099
50100         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
50101         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
50102         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
50103
50104 2008-12-29  Eric Blake  <ebb9@byu.net>
50105
50106         multiarch: avoid autoconf AC_REQUIRE bug
50107         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
50108         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
50109         2.63 and older.
50110         Reported by Bruno Haible, and analyzed in
50111         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
50112
50113 2008-12-29  Bruno Haible  <bruno@clisp.org>
50114
50115         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
50116         files in subdirectories correctly.
50117         Reported by Ralf Wildenhues.
50118
50119 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50120
50121         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
50122         rather than 'join FILE -', for Solaris join.
50123
50124 2008-12-29  Bruno Haible  <bruno@clisp.org>
50125
50126         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
50127         quoting.
50128         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
50129         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
50130         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
50131         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
50132         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
50133         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
50134         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
50135         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
50136         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50137         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
50138         * m4/nls.m4 (AM_NLS): Likewise.
50139         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
50140         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
50141         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
50142         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
50143         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
50144         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
50145         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
50146         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
50147         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
50148         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
50149         * m4/xsize.m4 (gl_XSIZE): Likewise.
50150         Suggested by Jim Meyering.
50151
50152 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50153
50154         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
50155         * lib/parse-duration.c: use a switch instead of cascading if's.
50156
50157 2008-12-29  Eric Blake  <ebb9@byu.net>
50158
50159         wchar.h: supply WEOF on Irix 5.3
50160         * lib/wchar.in.h (wint_t): Also supply WEOF.
50161         * lib/wctype.in.h (wint_t): Likewise.
50162         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
50163         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
50164         Reported by Tom G. Christensen.
50165
50166 2008-12-26  Bruno Haible  <bruno@clisp.org>
50167
50168         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
50169         i486, i586, i686.
50170
50171 2008-12-26  Bruno Haible  <bruno@clisp.org>
50172
50173         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
50174
50175 2008-12-26  Bruno Haible  <bruno@clisp.org>
50176
50177         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
50178         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
50179         not __STDC_CONSTANT_MACROS.
50180         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
50181
50182 2008-12-25  Bruno Haible  <bruno@clisp.org>
50183
50184         Add support for universal builds to vasnprintf.
50185         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
50186         universal builds, guess no.
50187         * modules/vasnprintf-posix (Depends-on): Add multiarch.
50188         * modules/vasprintf-posix (Depends-on): Likewise.
50189         * modules/fprintf-posix (Depends-on): Likewise.
50190         * modules/vfprintf-posix (Depends-on): Likewise.
50191         * modules/snprintf-posix (Depends-on): Likewise.
50192         * modules/vsnprintf-posix (Depends-on): Likewise.
50193         * modules/sprintf-posix (Depends-on): Likewise.
50194         * modules/vsprintf-posix (Depends-on): Likewise.
50195         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50196         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50197         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50198         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50199         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50200         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50201         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50202
50203         Add support for universal builds to <inttypes.h>.
50204         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
50205         _SCNu64_PREFIX): In Apple
50206         universal builds, define directly, using _LP64.
50207         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
50208         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
50209         * modules/inttypes (Depends-on): Add multiarch.
50210         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50211
50212         Add support for universal builds to <stdint.h>.
50213         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
50214         universal builds, define directly, using _LP64.
50215         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
50216         Apple universal builds, don't test for the size and suffix of ptrdiff_t
50217         and size_t.
50218         * modules/stdint (Depends-on): Add multiarch.
50219         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50220
50221         New module 'multiarch'.
50222         * modules/multiarch: New file.
50223         * m4/multiarch.m4: New file.
50224
50225 2008-12-25  Bruno Haible  <bruno@clisp.org>
50226
50227         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
50228
50229 2008-12-25  Bruno Haible  <bruno@clisp.org>
50230
50231         * modules/btowc (License): Relicense under LGPLv2+.
50232         * modules/mbsinit (License): Likewise.
50233         * modules/mbrtowc (License): Likewise.
50234         * modules/wcrtomb (License): Likewise.
50235         * modules/streq (License): Likewise.
50236         Reported by David Lutterkort <lutter@redhat.com>.
50237
50238 2008-12-23  Bruno Haible  <bruno@clisp.org>
50239
50240         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
50241
50242 2008-12-23  Bruno Haible  <bruno@clisp.org>
50243
50244         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
50245         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
50246         GETADDRINFO_LIB, not in LIBS.
50247         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
50248         * modules/canon-host (Link): Likewise.
50249         * NEWS: Mention the change.
50250         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
50251         GETADDRINFO_LIB.
50252
50253 2008-12-22  Bruno Haible  <bruno@clisp.org>
50254
50255         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
50256         * doc/posix-functions/iswalpha_l.texi: Likewise.
50257         * doc/posix-functions/iswblank_l.texi: Likewise.
50258         * doc/posix-functions/iswcntrl_l.texi: Likewise.
50259         * doc/posix-functions/iswctype_l.texi: Likewise.
50260         * doc/posix-functions/iswdigit_l.texi: Likewise.
50261         * doc/posix-functions/iswgraph_l.texi: Likewise.
50262         * doc/posix-functions/iswlower_l.texi: Likewise.
50263         * doc/posix-functions/iswprint_l.texi: Likewise.
50264         * doc/posix-functions/iswpunct_l.texi: Likewise.
50265         * doc/posix-functions/iswspace_l.texi: Likewise.
50266         * doc/posix-functions/iswupper_l.texi: Likewise.
50267         * doc/posix-functions/iswxdigit_l.texi: Likewise.
50268         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
50269         * doc/posix-functions/open_wmemstream.texi: Likewise.
50270         * doc/posix-functions/swscanf.texi: Likewise.
50271         * doc/posix-functions/towctrans_l.texi: Likewise.
50272         * doc/posix-functions/towlower.texi: Likewise.
50273         * doc/posix-functions/towlower_l.texi: Likewise.
50274         * doc/posix-functions/towupper.texi: Likewise.
50275         * doc/posix-functions/towupper_l.texi: Likewise.
50276         * doc/posix-functions/vfwprintf.texi: Likewise.
50277         * doc/posix-functions/vfwscanf.texi: Likewise.
50278         * doc/posix-functions/vswscanf.texi: Likewise.
50279         * doc/posix-functions/vwprintf.texi: Likewise.
50280         * doc/posix-functions/vwscanf.texi: Likewise.
50281         * doc/posix-functions/wcpcpy.texi: Likewise.
50282         * doc/posix-functions/wcpncpy.texi: Likewise.
50283         * doc/posix-functions/wcscasecmp.texi: Likewise.
50284         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
50285         * doc/posix-functions/wcscoll_l.texi: Likewise.
50286         * doc/posix-functions/wcsdup.texi: Likewise.
50287         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50288         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
50289         * doc/posix-functions/wcsnlen.texi: Likewise.
50290         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50291         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
50292         * doc/posix-functions/wctrans_l.texi: Likewise.
50293         * doc/posix-functions/wctype_l.texi: Likewise.
50294         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
50295         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
50296         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
50297         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
50298         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
50299         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
50300         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
50301         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
50302         * doc/glibc-functions/wcschrnul.texi: Likewise.
50303         * doc/glibc-functions/wcsftime_l.texi: Likewise.
50304         * doc/glibc-functions/wcstod_l.texi: Likewise.
50305         * doc/glibc-functions/wcstof_l.texi: Likewise.
50306         * doc/glibc-functions/wcstol_l.texi: Likewise.
50307         * doc/glibc-functions/wcstold_l.texi: Likewise.
50308         * doc/glibc-functions/wcstoll_l.texi: Likewise.
50309         * doc/glibc-functions/wcstoq.texi: Likewise.
50310         * doc/glibc-functions/wcstoul_l.texi: Likewise.
50311         * doc/glibc-functions/wcstoull_l.texi: Likewise.
50312         * doc/glibc-functions/wcstouq.texi: Likewise.
50313         * doc/glibc-functions/wmempcpy.texi: Likewise.
50314
50315 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
50316             Eric Blake  <ebb9@byu.net>
50317             Paolo Bonzini  <bonzini@gnu.org>
50318             Bruno Haible  <bruno@clisp.org>
50319
50320         Make c-stack work on Haiku.
50321         * lib/c-stack.c (SA_ONSTACK): Define fallback.
50322         (c_stack_action): Use SA_ONSTACK flag.
50323
50324 2008-12-22  Bruno Haible  <bruno@clisp.org>
50325
50326         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
50327
50328 2008-12-22  Bruno Haible  <bruno@clisp.org>
50329
50330         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
50331         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
50332         being overridden.
50333         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
50334         New macros.
50335         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
50336         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
50337         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
50338         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
50339
50340 2008-12-22  Bruno Haible  <bruno@clisp.org>
50341
50342         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
50343         from test code.
50344
50345 2008-12-22  Eric Blake  <ebb9@byu.net>
50346
50347         Avoid gcc warnings on cygwin.
50348         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
50349         Avoid unused variable.
50350         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
50351         Likewise.
50352
50353 2008-12-22  Bruno Haible  <bruno@clisp.org>
50354
50355         Remove HAVE_MBRTOWC conditionals.
50356         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
50357         (mbscasecmp): Assume mbrtowc function.
50358         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
50359         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
50360         * lib/mbschr.c: Include mbuiter.h unconditionally.
50361         (mbschr): Assume mbrtowc function.
50362         * lib/mbscspn.c: Include mbuiter.h unconditionally.
50363         (mbscspn): Assume mbrtowc function.
50364         * lib/mbslen.c: Include mbuiter.h unconditionally.
50365         (mbslen): Assume mbrtowc function.
50366         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
50367         (mbsncasecmp): Assume mbrtowc function.
50368         * lib/mbsnlen.c: Include mbiter.h unconditionally.
50369         (mbsnlen): Assume mbrtowc function.
50370         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
50371         (mbspbrk): Assume mbrtowc function.
50372         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
50373         (mbspcasecmp): Assume mbrtowc function.
50374         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
50375         (mbsrchr): Assume mbrtowc function.
50376         * lib/mbssep.c: Include mbuiter.h unconditionally.
50377         (mbssep): Assume mbrtowc function.
50378         * lib/mbsspn.c: Include mbuiter.h unconditionally.
50379         (mbsspn): Assume mbrtowc function.
50380         * lib/mbsstr.c: Include mbuiter.h unconditionally.
50381         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
50382         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
50383         (mbstok_r): Assume mbrtowc function.
50384         * lib/propername.c: Include mbuiter.h unconditionally.
50385         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
50386         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
50387         (trim2): Assume mbrtowc function.
50388         * lib/mbswidth.c (mbsinit): Remove fallback definition.
50389         (mbsnwidth): Assume mbrtowc function.
50390         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
50391         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
50392         fallback definitions.
50393         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
50394
50395 2008-12-22  Bruno Haible  <bruno@clisp.org>
50396
50397         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
50398
50399 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
50400
50401         * modules/regex: Request emulations for the mb*/wc* functions we need.
50402         * m4/regex.m4: Don't look for those functions here.
50403         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
50404
50405 2008-12-22  Bruno Haible  <bruno@clisp.org>
50406
50407         * modules/fnmatch (Depends-on): Remove duplicated dependency.
50408
50409 2008-12-21  Bruno Haible  <bruno@clisp.org>
50410
50411         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
50412         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
50413         (Include): Remove conditionalization.
50414         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
50415         (Include): Remove conditionalization.
50416         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
50417         (Include): Remove conditionalization.
50418         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
50419         * m4/mbfile.m4 (gl_MBFILE): Likewise.
50420         * NEWS: Mention the change.
50421         Reported by Alan Hourihane <alanh@fairlite.co.uk>
50422         via Sergey Poznyakoff <gray@gnu.org.ua>.
50423
50424 2008-12-21  Bruno Haible  <bruno@clisp.org>
50425
50426         * MODULES.html.sh (Extended multibyte and wide character utilities
50427         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
50428         wcrtomb, wcsrtombs.
50429         (Support for systems lacking POSIX:2008): Add accept, bind, close,
50430         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
50431         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
50432         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
50433
50434 2008-12-21  Bruno Haible  <bruno@clisp.org>
50435
50436         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
50437
50438 2008-12-21  Bruno Haible  <bruno@clisp.org>
50439
50440         * modules/wcsnrtombs-tests: New file.
50441         * tests/test-wcsnrtombs1.sh: New file.
50442         * tests/test-wcsnrtombs2.sh: New file.
50443         * tests/test-wcsnrtombs3.sh: New file.
50444         * tests/test-wcsnrtombs4.sh: New file.
50445         * tests/test-wcsnrtombs.c: New file.
50446
50447         New module 'wcsnrtombs'.
50448         * lib/wchar.in.h (wcsnrtombs): New declaration.
50449         * lib/wcsnrtombs.c: New file.
50450         * lib/wcsrtombs-state.c: New file.
50451         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
50452         (internal_state): Remove variable.
50453         * m4/wcsnrtombs.m4: New file.
50454         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
50455         compilation units.
50456         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
50457         HAVE_WCSNRTOMBS.
50458         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
50459         HAVE_WCSNRTOMBS.
50460         * modules/wcsnrtombs: New file.
50461         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
50462         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
50463
50464 2008-12-21  Bruno Haible  <bruno@clisp.org>
50465
50466         * modules/wcsrtombs-tests: New file.
50467         * tests/test-wcsrtombs1.sh: New file.
50468         * tests/test-wcsrtombs2.sh: New file.
50469         * tests/test-wcsrtombs3.sh: New file.
50470         * tests/test-wcsrtombs4.sh: New file.
50471         * tests/test-wcsrtombs.c: New file.
50472
50473         New module 'wcsrtombs'.
50474         * lib/wchar.in.h (wcsrtombs): New declaration.
50475         * lib/wcsrtombs.c: New file.
50476         * m4/wcsrtombs.m4: New file.
50477         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
50478         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50479         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
50480         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50481         * modules/wcsrtombs: New file.
50482         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
50483         bugs.
50484
50485 2008-12-21  Bruno Haible  <bruno@clisp.org>
50486
50487         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
50488         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
50489         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
50490         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
50491         if not correct.
50492         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
50493         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
50494         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50495         m4/locale-zh.m4, m4/codeset.m4.
50496         * doc/posix-functions/wcrtomb.texi: Document the bug.
50497
50498 2008-12-21  Bruno Haible  <bruno@clisp.org>
50499
50500         Work around a btowc() bug on IRIX 6.5.
50501         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
50502         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
50503         REPLACE_WTOBC if not.
50504         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
50505         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
50506         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
50507
50508 2008-12-21  Bruno Haible  <bruno@clisp.org>
50509
50510         * modules/wcrtomb-tests: New file.
50511         * tests/test-wcrtomb.sh: New file.
50512         * tests/test-wcrtomb.c: New file.
50513
50514         New module 'wcrtomb'.
50515         * lib/wchar.in.h (wcrtomb): New declaration.
50516         * lib/wcrtomb.c: New file.
50517         * m4/wcrtomb.m4: New file.
50518         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
50519         HAVE_WCRTOMB.
50520         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
50521         HAVE_WCRTOMB.
50522         * modules/wcrtomb: New file.
50523         * doc/posix-functions/wcrtomb.texi: Mention the new module.
50524
50525 2008-12-21  Bruno Haible  <bruno@clisp.org>
50526
50527         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
50528         * modules/mbsrtowcs (Files): Likewise.
50529         * modules/wctob (Files): Likewise.
50530         * modules/c-strcase-tests (Files): Likewise.
50531         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
50532         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
50533         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
50534         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
50535         * modules/vasnprintf-posix-tests (Files): Likewise.
50536
50537 2008-12-21  William Pursell  <bill.pursell@gmail.com>
50538
50539         gitlog-to-changelog: pass all command-line arguments to git-log
50540         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
50541         it is sometimes convenient to filter the commits in various ways.
50542         gitlog-to-changelog only allows --since to specify a start date,
50543         but git-log itself supports many other filtering mechanisms.
50544         At the moment, I want to filter by branch name.  Rather than
50545         adding a --branch option to gitlog-to-changelog, it seems more
50546         flexible to simply pass all options directly to git-log and let
50547         git do the work.  Notice that this effectively makes --since a
50548         redundant option for gitlog-to-changelog, but removing it would
50549         require current usage to change since calls would then require
50550         an additional '--'.
50551
50552 2008-12-21  Bruno Haible  <bruno@clisp.org>
50553
50554         * modules/mbsnrtowcs-tests: New file.
50555         * tests/test-mbsnrtowcs1.sh: New file.
50556         * tests/test-mbsnrtowcs2.sh: New file.
50557         * tests/test-mbsnrtowcs3.sh: New file.
50558         * tests/test-mbsnrtowcs4.sh: New file.
50559         * tests/test-mbsnrtowcs.c: New file.
50560
50561         New module 'mbsnrtowcs'.
50562         * lib/wchar.in.h (mbsnrtowcs): New declaration.
50563         * lib/mbsnrtowcs.c: New file.
50564         * lib/mbsrtowcs-state.c: New file.
50565         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
50566         (internal_state): Remove variable.
50567         * m4/mbsnrtowcs.m4: New file.
50568         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
50569         compilation units.
50570         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
50571         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50572         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
50573         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50574         * modules/mbsnrtowcs: New file.
50575         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
50576         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
50577         portability problem.
50578
50579 2008-12-21  Bruno Haible  <bruno@clisp.org>
50580
50581         Work around mbsrtowcs bug.
50582         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
50583         (gl_FUNC_MBSRTOWCS): Invoke it.
50584         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50585         m4/locale-zh.m4.
50586         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
50587
50588 2008-12-21  Bruno Haible  <bruno@clisp.org>
50589
50590         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
50591
50592 2008-12-21  Bruno Haible  <bruno@clisp.org>
50593
50594         Update doc for AIX.
50595         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
50596         16-bit wchar_t type.
50597         * doc/posix-functions/btowc.texi: Likewise.
50598         * doc/posix-functions/fgetwc.texi: Likewise.
50599         * doc/posix-functions/fgetws.texi: Likewise.
50600         * doc/posix-functions/fputwc.texi: Likewise.
50601         * doc/posix-functions/fputws.texi: Likewise.
50602         * doc/posix-functions/fwide.texi: Likewise.
50603         * doc/posix-functions/fwprintf.texi: Likewise.
50604         * doc/posix-functions/fwscanf.texi: Likewise.
50605         * doc/posix-functions/getwchar.texi: Likewise.
50606         * doc/posix-functions/getwc.texi: Likewise.
50607         * doc/posix-functions/iswalnum.texi: Likewise.
50608         * doc/posix-functions/iswalpha.texi: Likewise.
50609         * doc/posix-functions/iswblank.texi: Likewise.
50610         * doc/posix-functions/iswcntrl.texi: Likewise.
50611         * doc/posix-functions/iswctype.texi: Likewise.
50612         * doc/posix-functions/iswdigit.texi: Likewise.
50613         * doc/posix-functions/iswgraph.texi: Likewise.
50614         * doc/posix-functions/iswlower.texi: Likewise.
50615         * doc/posix-functions/iswprint.texi: Likewise.
50616         * doc/posix-functions/iswpunct.texi: Likewise.
50617         * doc/posix-functions/iswspace.texi: Likewise.
50618         * doc/posix-functions/iswupper.texi: Likewise.
50619         * doc/posix-functions/iswxdigit.texi: Likewise.
50620         * doc/posix-functions/mbrtowc.texi: Likewise.
50621         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50622         * doc/posix-functions/mbstowcs.texi: Likewise.
50623         * doc/posix-functions/mbtowc.texi: Likewise.
50624         * doc/posix-functions/putwchar.texi: Likewise.
50625         * doc/posix-functions/putwc.texi: Likewise.
50626         * doc/posix-functions/swprintf.texi: Likewise.
50627         * doc/posix-functions/tolower.texi: Likewise.
50628         * doc/posix-functions/toupper.texi: Likewise.
50629         * doc/posix-functions/towctrans.texi: Likewise.
50630         * doc/posix-functions/ungetwc.texi: Likewise.
50631         * doc/posix-functions/vswprintf.texi: Likewise.
50632         * doc/posix-functions/wcrtomb.texi: Likewise.
50633         * doc/posix-functions/wcscat.texi: Likewise.
50634         * doc/posix-functions/wcschr.texi: Likewise.
50635         * doc/posix-functions/wcscmp.texi: Likewise.
50636         * doc/posix-functions/wcscoll.texi: Likewise.
50637         * doc/posix-functions/wcscpy.texi: Likewise.
50638         * doc/posix-functions/wcscspn.texi: Likewise.
50639         * doc/posix-functions/wcsftime.texi: Likewise.
50640         * doc/posix-functions/wcslen.texi: Likewise.
50641         * doc/posix-functions/wcsncat.texi: Likewise.
50642         * doc/posix-functions/wcsncmp.texi: Likewise.
50643         * doc/posix-functions/wcsncpy.texi: Likewise.
50644         * doc/posix-functions/wcspbrk.texi: Likewise.
50645         * doc/posix-functions/wcsrchr.texi: Likewise.
50646         * doc/posix-functions/wcsrtombs.texi: Likewise.
50647         * doc/posix-functions/wcsspn.texi: Likewise.
50648         * doc/posix-functions/wcsstr.texi: Likewise.
50649         * doc/posix-functions/wcstod.texi: Likewise.
50650         * doc/posix-functions/wcstof.texi: Likewise.
50651         * doc/posix-functions/wcstoimax.texi: Likewise.
50652         * doc/posix-functions/wcstok.texi: Likewise.
50653         * doc/posix-functions/wcstold.texi: Likewise.
50654         * doc/posix-functions/wcstoll.texi: Likewise.
50655         * doc/posix-functions/wcstol.texi: Likewise.
50656         * doc/posix-functions/wcstombs.texi: Likewise.
50657         * doc/posix-functions/wcstoull.texi: Likewise.
50658         * doc/posix-functions/wcstoul.texi: Likewise.
50659         * doc/posix-functions/wcstoumax.texi: Likewise.
50660         * doc/posix-functions/wcswidth.texi: Likewise.
50661         * doc/posix-functions/wcsxfrm.texi: Likewise.
50662         * doc/posix-functions/wctob.texi: Likewise.
50663         * doc/posix-functions/wctomb.texi: Likewise.
50664         * doc/posix-functions/wctrans.texi: Likewise.
50665         * doc/posix-functions/wctype.texi: Likewise.
50666         * doc/posix-functions/wcwidth.texi: Likewise.
50667         * doc/posix-functions/wmemchr.texi: Likewise.
50668         * doc/posix-functions/wmemcmp.texi: Likewise.
50669         * doc/posix-functions/wmemcpy.texi: Likewise.
50670         * doc/posix-functions/wmemmove.texi: Likewise.
50671         * doc/posix-functions/wmemset.texi: Likewise.
50672         * doc/posix-functions/wprintf.texi: Likewise.
50673         * doc/posix-functions/wscanf.texi: Likewise.
50674
50675 2008-12-21  Bruno Haible  <bruno@clisp.org>
50676
50677         Update doc for HP-UX 11.11.
50678         * doc/posix-functions/btowc.texi: Clarify that the function is missing
50679         in HP-UX version 11.00, not in all versions of HP-UX 11.
50680         * doc/posix-functions/fwide.texi: Likewise.
50681         * doc/posix-functions/fwprintf.texi: Likewise.
50682         * doc/posix-functions/fwscanf.texi: Likewise.
50683         * doc/posix-functions/inet_ntop.texi: Likewise.
50684         * doc/posix-functions/inet_pton.texi: Likewise.
50685         * doc/posix-functions/mbrlen.texi: Likewise.
50686         * doc/posix-functions/mbrtowc.texi: Likewise.
50687         * doc/posix-functions/mbsinit.texi: Likewise.
50688         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50689         * doc/posix-functions/swprintf.texi: Likewise.
50690         * doc/posix-functions/swscanf.texi: Likewise.
50691         * doc/posix-functions/towctrans.texi: Likewise.
50692         * doc/posix-functions/vfwprintf.texi: Likewise.
50693         * doc/posix-functions/vswprintf.texi: Likewise.
50694         * doc/posix-functions/vwprintf.texi: Likewise.
50695         * doc/posix-functions/wcrtomb.texi: Likewise.
50696         * doc/posix-functions/wcsrtombs.texi: Likewise.
50697         * doc/posix-functions/wcsstr.texi: Likewise.
50698         * doc/posix-functions/wctob.texi: Likewise.
50699         * doc/posix-functions/wctrans.texi: Likewise.
50700         * doc/posix-functions/wmemchr.texi: Likewise.
50701         * doc/posix-functions/wmemcmp.texi: Likewise.
50702         * doc/posix-functions/wmemcpy.texi: Likewise.
50703         * doc/posix-functions/wmemmove.texi: Likewise.
50704         * doc/posix-functions/wmemset.texi: Likewise.
50705         * doc/posix-functions/wprintf.texi: Likewise.
50706         * doc/posix-functions/wscanf.texi: Likewise.
50707
50708 2008-12-21  Bruno Haible  <bruno@clisp.org>
50709
50710         Work around a portability problem.
50711         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
50712         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
50713
50714 2008-12-20  Bruno Haible  <bruno@clisp.org>
50715
50716         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
50717         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
50718         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
50719         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
50720         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
50721
50722         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
50723         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
50724         set.
50725         (GNULIB_defined_mbstate_t): New macro.
50726         (mbsinit): Redefine if REPLACE_MBSINIT is set.
50727         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
50728         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
50729         reuses the system's mbrtowc function but works around the bugs.
50730         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
50731         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
50732         macros.
50733         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
50734         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
50735         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
50736         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
50737         REPLACE_MBSINIT if mbsinit needs to be overridden.
50738         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
50739         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50740         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
50741         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50742         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50743         m4/locale-zh.m4.
50744         (Depends): Add mbsinit.
50745         * modules/mbsinit (Depends): Add mbrtowc.
50746         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
50747
50748 2008-12-20  Bruno Haible  <bruno@clisp.org>
50749
50750         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
50751         so that there are no conversion errors on AIX.
50752         * tests/test-mbsrtowcs.c (main): LIkewise.
50753
50754 2008-12-20  Bruno Haible  <bruno@clisp.org>
50755
50756         Work around wctob bug on Solaris <= 9.
50757         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
50758         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
50759         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
50760         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
50761         * modules/wctob (Files): Add m4/locale-fr.m4.
50762         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
50763
50764 2008-12-20  Bruno Haible  <bruno@clisp.org>
50765
50766         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
50767         /dev/null.
50768         * tests/test-select-in.sh: Likewise.
50769         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50770
50771 2008-12-20  Bruno Haible  <bruno@clisp.org>
50772
50773         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
50774         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
50775         Cygwin 1.5.x.
50776
50777 2008-12-20  Bruno Haible  <bruno@clisp.org>
50778
50779         Ensure mbstate_t is defined on HP-UX 11.11.
50780         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
50781         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
50782         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
50783         AC_USE_SYSTEM_EXTENSIONS.
50784         * modules/fnmatch (Depends-on): Add extensions.
50785         * modules/mbrlen (Depends-on): Likewise.
50786         * modules/mbrtowc (Depends-on): Likewise.
50787         * modules/mbsinit (Depends-on): Likewise.
50788         * modules/mbsrtowcs (Depends-on): Likewise.
50789         * modules/mbswidth (Depends-on): Likewise.
50790         * modules/quotearg (Depends-on): Likewise.
50791         * modules/strftime (Depends-on): Likewise.
50792
50793 2008-12-20  Bruno Haible  <bruno@clisp.org>
50794
50795         Ensure wctob is declared on IRIX 6.5.
50796         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
50797         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
50798         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
50799         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
50800         of HAVE_WCTOB.
50801         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
50802         HAVE_WCTOB.
50803         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
50804
50805 2008-12-19  Bruno Haible  <bruno@clisp.org>
50806
50807         * modules/mbsrtowcs-tests: New file.
50808         * tests/test-mbsrtowcs1.sh: New file.
50809         * tests/test-mbsrtowcs2.sh: New file.
50810         * tests/test-mbsrtowcs3.sh: New file.
50811         * tests/test-mbsrtowcs4.sh: New file.
50812         * tests/test-mbsrtowcs.c: New file.
50813
50814         New module 'mbsrtowcs'.
50815         * lib/wchar.in.h (mbsrtowcs): New declaration.
50816         * lib/mbsrtowcs.c: New file.
50817         * m4/mbsrtowcs.m4: New file.
50818         * modules/mbsrtowcs: New file.
50819         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
50820         HAVE_MBSRTOWCS.
50821         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
50822         HAVE_MBSRTOWCS.
50823         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
50824
50825 2008-12-19  Bruno Haible  <bruno@clisp.org>
50826
50827         New module 'mbrlen'.
50828         * lib/wchar.in.h (mbrlen): New declaration.
50829         * lib/mbrlen.c: New file.
50830         * m4/mbrlen.m4: New file.
50831         * modules/mbrlen: New file.
50832         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
50833         HAVE_MBRLEN.
50834         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
50835         HAVE_MBRLEN.
50836         * doc/posix-functions/mbrlen.texi: Document the new module.
50837
50838 2008-12-19  Bruno Haible  <bruno@clisp.org>
50839
50840         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
50841         * modules/mbrtowc (Depends-on): Add verify.
50842         Suggested by Paul Eggert.
50843
50844 2008-12-18  Bruno Haible  <bruno@clisp.org>
50845
50846         * modules/mbsinit-tests: New file.
50847         * tests/test-mbsinit.sh: New file.
50848         * tests/test-mbsinit.c: New file.
50849
50850 2008-12-18  Bruno Haible  <bruno@clisp.org>
50851
50852         * modules/mbrtowc-tests: New file.
50853         * tests/test-mbrtowc1.sh: New file.
50854         * tests/test-mbrtowc2.sh: New file.
50855         * tests/test-mbrtowc3.sh: New file.
50856         * tests/test-mbrtowc4.sh: New file.
50857         * tests/test-mbrtowc.c: New file.
50858
50859         New module 'mbrtowc'.
50860         * lib/wchar.in.h (mbstate_t): Override when the system does not have
50861         mbsinit and mbrtowc.
50862         (mbrtowc): New declaration.
50863         * lib/mbrtowc.c: New file.
50864         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
50865         * modules/mbrtowc: New file.
50866         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
50867         HAVE_MBRTOWC.
50868         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
50869         HAVE_MBRTOWC.
50870         * doc/posix-functions/mbrtowc.texi: Document the new module.
50871
50872 2008-12-18  Bruno Haible  <bruno@clisp.org>
50873
50874         New module 'wctob'.
50875         * lib/wchar.in.h (wctob): New declaration.
50876         * lib/wctob.c: New file.
50877         * m4/wctob.m4: New file.
50878         * modules/wctob: New file.
50879         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
50880         HAVE_WCTOB.
50881         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
50882         * doc/posix-functions/wctob.texi: Document the new module.
50883
50884 2008-12-18  Bruno Haible  <bruno@clisp.org>
50885
50886         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
50887         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
50888
50889 2008-12-18  Simon Josefsson  <simon@josefsson.org>
50890
50891         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
50892         G. Christensen" <tgc@jupiterrise.com>.
50893
50894         * lib/flock.c: Need to include errno.h.  Reported by "Tom
50895         G. Christensen" <tgc@jupiterrise.com>.
50896
50897         * lib/flock.c: Need to include string.h.  Reported by "Tom
50898         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
50899         <ebb9@byu.net>.
50900
50901 2008-12-18  Bruno Haible  <bruno@clisp.org>
50902
50903         * m4/locale-ja.m4: New file, from GNU gettext.
50904
50905 2008-12-17  Bruno Haible  <bruno@clisp.org>
50906
50907         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
50908         Suggested by Eric Blake.
50909
50910 2008-12-17  Bruno Haible  <bruno@clisp.org>
50911
50912         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
50913
50914 2008-12-17  Bruno Haible  <bruno@clisp.org>
50915
50916         * lib/mbsinit.c: Include verify.h. Verify an assumption.
50917         * modules/mbsinit (Depends-on): Add verify.
50918         Suggested by Paul Eggert.
50919
50920 2008-12-17  Bruno Haible  <bruno@clisp.org>
50921
50922         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
50923         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
50924         gl_FUNC_MBRTOWC.
50925         * m4/mbiter.m4 (gl_MBITER): LIkewise.
50926         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
50927         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
50928         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
50929         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
50930         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
50931         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
50932         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
50933         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
50934         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
50935         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
50936         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
50937         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
50938         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
50939         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
50940         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
50941         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
50942         * modules/trim (configure.ac): Likewise.
50943
50944 2008-12-17  Bruno Haible  <bruno@clisp.org>
50945
50946         * modules/btowc-tests: New file.
50947         * tests/test-btowc1.sh: New file.
50948         * tests/test-btowc2.sh: New file.
50949         * tests/test-btowc.c: New file.
50950
50951         New module 'btowc'.
50952         * lib/wchar.in.h (btowc): New declaration.
50953         * lib/btowc.c: New file.
50954         * m4/btowc.m4: New file.
50955         * modules/btowc: New file.
50956         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
50957         HAVE_BTOWC.
50958         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
50959         * doc/posix-functions/btowc.texi: Document the new module.
50960
50961 2008-12-17  Bruno Haible  <bruno@clisp.org>
50962
50963         New module 'mbsinit'.
50964         * lib/wchar.in.h (mbsinit): New declaration.
50965         * lib/mbsinit.c: New file.
50966         * m4/mbsinit.m4: New file.
50967         * modules/mbsinit: New file.
50968         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
50969         HAVE_MBSINIT.
50970         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
50971         HAVE_MBSINIT.
50972         * doc/posix-functions/mbsinit.texi: Document the new module.
50973
50974 2008-12-16  Bruno Haible  <bruno@clisp.org>
50975
50976         * lib/unistd.in.h: Add comment.
50977         * tests/test-environ.c: Don't include <stdlib.h>.
50978
50979 2008-12-16  Bruno Haible  <bruno@clisp.org>
50980
50981         * lib/parse-duration.h (parse_duration): Document return value
50982         convention.
50983         * lib/parse-duration.c: Include specification header first. Add
50984         comments.
50985         (_): Remove macro.
50986         (parse_year_month_day, parse_hour_minute_second): Move side effects
50987         outside of strchr call.
50988         (parse_non_iso8601): Move side effects outside of isspace call.
50989         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
50990         call.
50991
50992 2008-12-16  Bruno Haible  <bruno@clisp.org>
50993
50994         * tests/test-parse-duration.sh: Produce no output when the test
50995         succeeds.
50996
50997 2008-12-16  Bruno Haible  <bruno@clisp.org>
50998
50999         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
51000         expressions.
51001
51002 2008-12-15  Bruno Haible  <bruno@clisp.org>
51003
51004         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
51005         * doc/glibc-functions/flistxattr.texi: Likewise.
51006         * doc/glibc-functions/fopencookie.texi: Likewise.
51007         * doc/glibc-functions/fremovexattr.texi: Likewise.
51008         * doc/glibc-functions/fsetxattr.texi: Likewise.
51009         * doc/glibc-functions/getxattr.texi: Likewise.
51010         * doc/glibc-functions/lgetxattr.texi: Likewise.
51011         * doc/glibc-functions/listxattr.texi: Likewise.
51012         * doc/glibc-functions/llistxattr.texi: Likewise.
51013         * doc/glibc-functions/lremovexattr.texi: Likewise.
51014         * doc/glibc-functions/lsetxattr.texi: Likewise.
51015         * doc/glibc-functions/removexattr.texi: Likewise.
51016         * doc/glibc-functions/setxattr.texi: Likewise.
51017         * doc/posix-functions/open_memstream.texi: Likewise.
51018
51019 2008-12-15  Eric Blake  <ebb9@byu.net>
51020
51021         Update doc for cygwin 1.7.
51022         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
51023         functions.
51024         * doc/posix-functions/fchmodat.texi: Likewise.
51025         * doc/posix-functions/fchownat.texi: Likewise.
51026         * doc/posix-functions/fdopendir.texi: Likewise.
51027         * doc/posix-functions/fmemopen.texi: Likewise.
51028         * doc/posix-functions/freeaddrinfo.texi: Likewise.
51029         * doc/posix-functions/fstatat.texi: Likewise.
51030         * doc/posix-functions/futimens.texi: Likewise.
51031         * doc/posix-functions/gai_strerror.texi: Likewise.
51032         * doc/posix-functions/getaddrinfo.texi: Likewise.
51033         * doc/posix-functions/getnameinfo.texi: Likewise.
51034         * doc/posix-functions/if_freenameindex.texi: Likewise.
51035         * doc/posix-functions/if_indextoname.texi: Likewise.
51036         * doc/posix-functions/if_nameindex.texi: Likewise.
51037         * doc/posix-functions/if_nametoindex.texi: Likewise.
51038         * doc/posix-functions/insque.texi: Likewise.
51039         * doc/posix-functions/linkat.texi: Likewise.
51040         * doc/posix-functions/llrint.texi: Likewise.
51041         * doc/posix-functions/llrintf.texi: Likewise.
51042         * doc/posix-functions/llrintl.texi: Likewise.
51043         * doc/posix-functions/lockf.texi: Likewise.
51044         * doc/posix-functions/lrintl.texi: Likewise.
51045         * doc/posix-functions/mkdirat.texi: Likewise.
51046         * doc/posix-functions/mkfifoat.texi: Likewise.
51047         * doc/posix-functions/mknodat.texi: Likewise.
51048         * doc/posix-functions/mq_close.texi: Likewise.
51049         * doc/posix-functions/mq_getattr.texi: Likewise.
51050         * doc/posix-functions/mq_notify.texi: Likewise.
51051         * doc/posix-functions/mq_open.texi: Likewise.
51052         * doc/posix-functions/mq_receive.texi: Likewise.
51053         * doc/posix-functions/mq_send.texi: Likewise.
51054         * doc/posix-functions/mq_setattr.texi: Likewise.
51055         * doc/posix-functions/mq_timedreceive.texi: Likewise.
51056         * doc/posix-functions/mq_timedsend.texi: Likewise.
51057         * doc/posix-functions/mq_unlink.texi: Likewise.
51058         * doc/posix-functions/open_memstream.texi: Likewise.
51059         * doc/posix-functions/openat.texi: Likewise.
51060         * doc/posix-functions/posix_fadvise.texi: Likewise.
51061         * doc/posix-functions/posix_fallocate.texi: Likewise.
51062         * doc/posix-functions/posix_madvise.texi: Likewise.
51063         * doc/posix-functions/posix_memalign.texi: Likewise.
51064         * doc/posix-functions/posix_openpt.texi: Likewise.
51065         * doc/posix-functions/readlinkat.texi: Likewise.
51066         * doc/posix-functions/remque.texi: Likewise.
51067         * doc/posix-functions/renameat.texi: Likewise.
51068         * doc/posix-functions/rintl.texi: Likewise.
51069         * doc/posix-functions/sem_unlink.texi: Likewise.
51070         * doc/posix-functions/shm_open.texi: Likewise.
51071         * doc/posix-functions/shm_unlink.texi: Likewise.
51072         * doc/posix-functions/signgam.texi: Likewise.
51073         * doc/posix-functions/sigset.texi: Likewise.
51074         * doc/posix-functions/stpcpy.texi: Likewise.
51075         * doc/posix-functions/stpncpy.texi: Likewise.
51076         * doc/posix-functions/strerror.texi: Likewise.
51077         * doc/posix-functions/strtod.texi: Likewise.
51078         * doc/posix-functions/symlinkat.texi: Likewise.
51079         * doc/posix-functions/unlinkat.texi: Likewise.
51080         * doc/posix-functions/utimensat.texi: Likewise.
51081         * doc/glibc-functions/bindresvport.texi: Likewise.
51082         * doc/glibc-functions/dn_expand.texi: Likewise.
51083         * doc/glibc-functions/exp10.texi: Likewise.
51084         * doc/glibc-functions/exp10f.texi: Likewise.
51085         * doc/glibc-functions/fgetxattr.texi: Likewise.
51086         * doc/glibc-functions/flistxattr.texi: Likewise.
51087         * doc/glibc-functions/fopencookie.texi: Likewise.
51088         * doc/glibc-functions/freeifaddrs.texi: Likewise.
51089         * doc/glibc-functions/fremovexattr.texi: Likewise.
51090         * doc/glibc-functions/fsetxattr.texi: Likewise.
51091         * doc/glibc-functions/getifaddrs.texi: Likewise.
51092         * doc/glibc-functions/getxattr.texi: Likewise.
51093         * doc/glibc-functions/lgetxattr.texi: Likewise.
51094         * doc/glibc-functions/listxattr.texi: Likewise.
51095         * doc/glibc-functions/llistxattr.texi: Likewise.
51096         * doc/glibc-functions/lremovexattr.texi: Likewise.
51097         * doc/glibc-functions/lsetxattr.texi: Likewise.
51098         * doc/glibc-functions/pow10.texi: Likewise.
51099         * doc/glibc-functions/pow10f.texi: Likewise.
51100         * doc/glibc-functions/rcmd_af.texi: Likewise.
51101         * doc/glibc-functions/removexattr.texi: Likewise.
51102         * doc/glibc-functions/res_init.texi: Likewise.
51103         * doc/glibc-functions/res_mkquery.texi: Likewise.
51104         * doc/glibc-functions/res_query.texi: Likewise.
51105         * doc/glibc-functions/res_querydomain.texi: Likewise.
51106         * doc/glibc-functions/res_send.texi: Likewise.
51107         * doc/glibc-functions/rresvport_af.texi: Likewise.
51108         * doc/glibc-functions/setxattr.texi: Likewise.
51109         * doc/glibc-functions/strcasestr.texi: Likewise.
51110
51111 2008-12-15  Bruno Haible  <bruno@clisp.org>
51112
51113         Fix compilation error on OSF/1 4.0.
51114         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
51115         <sys/time.h>, simply delegate to the system header.
51116         Reported by Daniel Richard G. <oss@teragram.com>.
51117
51118 2008-12-15  Bruno Haible  <bruno@clisp.org>
51119
51120         * doc/posix-functions/openat.texi: Mention the 'openat' module.
51121         * doc/posix-functions/fchmodat.texi: Likewise.
51122         * doc/posix-functions/fchownat.texi: Likewise.
51123         * doc/posix-functions/fdopendir.texi: Likewise.
51124         * doc/posix-functions/fstatat.texi: Likewise.
51125         * doc/posix-functions/mkdirat.texi: Likewise.
51126         * doc/posix-functions/unlinkat.texi: Likewise.
51127
51128 2008-12-14  Bruno Haible  <bruno@clisp.org>
51129
51130         Update doc for POSIX:2008.
51131         * doc/posix-functions/faccessat.texi: New file.
51132         * doc/posix-functions/fchmodat.texi: New file.
51133         * doc/posix-functions/fchownat.texi: New file.
51134         * doc/posix-functions/fdopendir.texi: New file.
51135         * doc/posix-functions/fstatat.texi: New file.
51136         * doc/posix-functions/futimens.texi: New file.
51137         * doc/posix-functions/linkat.texi: New file.
51138         * doc/posix-functions/mkdirat.texi: New file.
51139         * doc/posix-functions/mkfifoat.texi: New file.
51140         * doc/posix-functions/mknodat.texi: New file.
51141         * doc/posix-functions/open_wmemstream.texi: New file.
51142         * doc/posix-functions/openat.texi: New file.
51143         * doc/posix-functions/psiginfo.texi: New file.
51144         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
51145         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
51146         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
51147         * doc/posix-functions/readlinkat.texi: New file.
51148         * doc/posix-functions/renameat.texi: New file.
51149         * doc/posix-functions/strerror_l.texi: New file.
51150         * doc/posix-functions/symlinkat.texi: New file.
51151         * doc/posix-functions/unlinkat.texi: New file.
51152         * doc/posix-functions/utimensat.texi: New file.
51153         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51154
51155 2008-12-14  Bruno Haible  <bruno@clisp.org>
51156
51157         Update doc for POSIX:2008.
51158         * doc/posix-functions/alphasort.texi: Renamed from
51159         doc/glibc-functions/alphasort.texi.
51160         * doc/posix-functions/dirfd.texi: Renamed from
51161         doc/glibc-functions/dirfd.texi.
51162         * doc/posix-functions/dprintf.texi: Renamed from
51163         doc/glibc-functions/dprintf.texi.
51164         * doc/posix-functions/duplocale.texi: Renamed from
51165         doc/glibc-functions/duplocale.texi.
51166         * doc/posix-functions/fexecve.texi: Renamed from
51167         doc/glibc-functions/fexecve.texi.
51168         * doc/posix-functions/fmemopen.texi: Renamed from
51169         doc/glibc-functions/fmemopen.texi.
51170         * doc/posix-functions/freelocale.texi: Renamed from
51171         doc/glibc-functions/freelocale.texi.
51172         * doc/posix-functions/getdate_err.texi: Renamed from
51173         doc/glibc-functions/getdate_err.texi.
51174         * doc/posix-functions/isalnum_l.texi: Renamed from
51175         doc/glibc-functions/isalnum_l.texi.
51176         * doc/posix-functions/isalpha_l.texi: Renamed from
51177         doc/glibc-functions/isalpha_l.texi.
51178         * doc/posix-functions/isblank_l.texi: Renamed from
51179         doc/glibc-functions/isblank_l.texi.
51180         * doc/posix-functions/iscntrl_l.texi: Renamed from
51181         doc/glibc-functions/iscntrl_l.texi.
51182         * doc/posix-functions/isdigit_l.texi: Renamed from
51183         doc/glibc-functions/isdigit_l.texi.
51184         * doc/posix-functions/isgraph_l.texi: Renamed from
51185         doc/glibc-functions/isgraph_l.texi.
51186         * doc/posix-functions/islower_l.texi: Renamed from
51187         doc/glibc-functions/islower_l.texi.
51188         * doc/posix-functions/isprint_l.texi: Renamed from
51189         doc/glibc-functions/isprint_l.texi.
51190         * doc/posix-functions/ispunct_l.texi: Renamed from
51191         doc/glibc-functions/ispunct_l.texi.
51192         * doc/posix-functions/isspace_l.texi: Renamed from
51193         doc/glibc-functions/isspace_l.texi.
51194         * doc/posix-functions/isupper_l.texi: Renamed from
51195         doc/glibc-functions/isupper_l.texi.
51196         * doc/posix-functions/iswalnum_l.texi: Renamed from
51197         doc/glibc-functions/iswalnum_l.texi.
51198         * doc/posix-functions/iswalpha_l.texi: Renamed from
51199         doc/glibc-functions/iswalpha_l.texi.
51200         * doc/posix-functions/iswblank_l.texi: Renamed from
51201         doc/glibc-functions/iswblank_l.texi.
51202         * doc/posix-functions/iswcntrl_l.texi: Renamed from
51203         doc/glibc-functions/iswcntrl_l.texi.
51204         * doc/posix-functions/iswctype_l.texi: Renamed from
51205         doc/glibc-functions/iswctype_l.texi.
51206         * doc/posix-functions/iswdigit_l.texi: Renamed from
51207         doc/glibc-functions/iswdigit_l.texi.
51208         * doc/posix-functions/iswgraph_l.texi: Renamed from
51209         doc/glibc-functions/iswgraph_l.texi.
51210         * doc/posix-functions/iswlower_l.texi: Renamed from
51211         doc/glibc-functions/iswlower_l.texi.
51212         * doc/posix-functions/iswprint_l.texi: Renamed from
51213         doc/glibc-functions/iswprint_l.texi.
51214         * doc/posix-functions/iswpunct_l.texi: Renamed from
51215         doc/glibc-functions/iswpunct_l.texi.
51216         * doc/posix-functions/iswspace_l.texi: Renamed from
51217         doc/glibc-functions/iswspace_l.texi.
51218         * doc/posix-functions/iswupper_l.texi: Renamed from
51219         doc/glibc-functions/iswupper_l.texi.
51220         * doc/posix-functions/iswxdigit_l.texi: Renamed from
51221         doc/glibc-functions/iswxdigit_l.texi.
51222         * doc/posix-functions/isxdigit_l.texi: Renamed from
51223         doc/glibc-functions/isxdigit_l.texi.
51224         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
51225         doc/glibc-functions/mbsnrtowcs.texi.
51226         * doc/posix-functions/mkdtemp.texi: Renamed from
51227         doc/glibc-functions/mkdtemp.texi.
51228         * doc/posix-functions/newlocale.texi: Renamed from
51229         doc/glibc-functions/newlocale.texi.
51230         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
51231         doc/glibc-functions/nl_langinfo_l.texi.
51232         * doc/posix-functions/open_memstream.texi: Renamed from
51233         doc/glibc-functions/open_memstream.texi.
51234         * doc/posix-functions/opterr.texi: Renamed from
51235         doc/glibc-functions/opterr.texi.
51236         * doc/posix-functions/optind.texi: Renamed from
51237         doc/glibc-functions/optind.texi.
51238         * doc/posix-functions/optopt.texi: Renamed from
51239         doc/glibc-functions/optopt.texi.
51240         * doc/posix-functions/psignal.texi: Renamed from
51241         doc/glibc-functions/psignal.texi.
51242         * doc/posix-functions/scandir.texi: Renamed from
51243         doc/glibc-functions/scandir.texi.
51244         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
51245         doc/glibc-functions/sched_get_priority_min.texi.
51246         * doc/posix-functions/signgam.texi: Renamed from
51247         doc/glibc-functions/signgam.texi.
51248         * doc/posix-functions/stpcpy.texi: Renamed from
51249         doc/glibc-functions/stpcpy.texi.
51250         * doc/posix-functions/stpncpy.texi: Renamed from
51251         doc/glibc-functions/stpncpy.texi.
51252         * doc/posix-functions/strcasecmp_l.texi: Renamed from
51253         doc/glibc-functions/strcasecmp_l.texi.
51254         * doc/posix-functions/strcoll_l.texi: Renamed from
51255         doc/glibc-functions/strcoll_l.texi.
51256         * doc/posix-functions/strfmon_l.texi: Renamed from
51257         doc/glibc-functions/strfmon_l.texi.
51258         * doc/posix-functions/strftime_l.texi: Renamed from
51259         doc/glibc-functions/strftime_l.texi.
51260         * doc/posix-functions/strncasecmp_l.texi: Renamed from
51261         doc/glibc-functions/strncasecmp_l.texi.
51262         * doc/posix-functions/strndup.texi: Renamed from
51263         doc/glibc-functions/strndup.texi.
51264         * doc/posix-functions/strnlen.texi: Renamed from
51265         doc/glibc-functions/strnlen.texi.
51266         * doc/posix-functions/strsignal.texi: Renamed from
51267         doc/glibc-functions/strsignal.texi.
51268         * doc/posix-functions/strxfrm_l.texi: Renamed from
51269         doc/glibc-functions/strxfrm_l.texi.
51270         * doc/posix-functions/timer_gettime.texi: Renamed from
51271         doc/glibc-functions/timer_gettime.texi.
51272         * doc/posix-functions/tolower_l.texi: Renamed from
51273         doc/glibc-functions/tolower_l.texi.
51274         * doc/posix-functions/toupper_l.texi: Renamed from
51275         doc/glibc-functions/toupper_l.texi.
51276         * doc/posix-functions/towctrans_l.texi: Renamed from
51277         doc/glibc-functions/towctrans_l.texi.
51278         * doc/posix-functions/towlower_l.texi: Renamed from
51279         doc/glibc-functions/towlower_l.texi.
51280         * doc/posix-functions/towupper_l.texi: Renamed from
51281         doc/glibc-functions/towupper_l.texi.
51282         * doc/posix-functions/uselocale.texi: Renamed from
51283         doc/glibc-functions/uselocale.texi.
51284         * doc/posix-functions/vdprintf.texi: Renamed from
51285         doc/glibc-functions/vdprintf.texi.
51286         * doc/posix-functions/wcpcpy.texi:
51287         Renamed from doc/glibc-functions/wcpcpy.texi.
51288         * doc/posix-functions/wcpncpy.texi: Renamed from
51289         doc/glibc-functions/wcpncpy.texi.
51290         * doc/posix-functions/wcscasecmp.texi: Renamed from
51291         doc/glibc-functions/wcscasecmp.texi.
51292         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
51293         doc/glibc-functions/wcscasecmp_l.texi.
51294         * doc/posix-functions/wcscoll_l.texi: Renamed from
51295         doc/glibc-functions/wcscoll_l.texi.
51296         * doc/posix-functions/wcsdup.texi: Renamed from
51297         doc/glibc-functions/wcsdup.texi.
51298         * doc/posix-functions/wcsncasecmp.texi: Renamed from
51299         doc/glibc-functions/wcsncasecmp.texi.
51300         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
51301         doc/glibc-functions/wcsncasecmp_l.texi.
51302         * doc/posix-functions/wcsnlen.texi: Renamed from
51303         doc/glibc-functions/wcsnlen.texi.
51304         * doc/posix-functions/wcsnrtombs.texi: Renamed from
51305         doc/glibc-functions/wcsnrtombs.texi.
51306         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
51307         doc/glibc-functions/wcsxfrm_l.texi.
51308         * doc/posix-functions/wctrans_l.texi: Renamed from
51309         doc/glibc-functions/wctrans_l.texi.
51310         * doc/posix-functions/wctype_l.texi: Renamed from
51311         doc/glibc-functions/wctype_l.texi.
51312         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51313         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
51314         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
51315         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
51316         these subsections.
51317         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
51318         Remove sections.
51319
51320 2008-12-14  Bruno Haible  <bruno@clisp.org>
51321
51322         Update doc for POSIX:2008.
51323         * doc/posix-functions/*.texi: Update URL of POSIX specification.
51324
51325 2008-12-14  Bruno Haible  <bruno@clisp.org>
51326
51327         Update doc for POSIX:2008.
51328         * doc/pastposix-functions/bcmp.texi: Renamed from
51329         doc/posix-functions/bcmp.texi.
51330         * doc/pastposix-functions/bcopy.texi: Renamed from
51331         doc/posix-functions/bcopy.texi.
51332         * doc/pastposix-functions/bsd_signal.texi: Renamed from
51333         doc/posix-functions/bsd_signal.texi.
51334         * doc/pastposix-functions/bzero.texi: Renamed from
51335         doc/posix-functions/bzero.texi.
51336         * doc/pastposix-functions/ecvt.texi: Renamed from
51337         doc/posix-functions/ecvt.texi.
51338         * doc/pastposix-functions/fcvt.texi: Renamed from
51339         doc/posix-functions/fcvt.texi.
51340         * doc/pastposix-functions/ftime.texi: Renamed from
51341         doc/posix-functions/ftime.texi.
51342         * doc/pastposix-functions/gcvt.texi: Renamed from
51343         doc/posix-functions/gcvt.texi.
51344         * doc/pastposix-functions/getcontext.texi: Renamed from
51345         doc/posix-functions/getcontext.texi.
51346         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
51347         doc/posix-functions/gethostbyaddr.texi.
51348         * doc/pastposix-functions/gethostbyname.texi: Renamed from
51349         doc/posix-functions/gethostbyname.texi.
51350         * doc/pastposix-functions/getwd.texi: Renamed from
51351         doc/posix-functions/getwd.texi.
51352         * doc/pastposix-functions/h_errno.texi: Renamed from
51353         doc/posix-functions/h_errno.texi.
51354         * doc/pastposix-functions/index.texi: Renamed from
51355         doc/posix-functions/index.texi.
51356         * doc/pastposix-functions/makecontext.texi: Renamed from
51357         doc/posix-functions/makecontext.texi.
51358         * doc/pastposix-functions/mktemp.texi: Renamed from
51359         doc/posix-functions/mktemp.texi.
51360         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
51361         doc/posix-functions/pthread_attr_getstackaddr.texi.
51362         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
51363         doc/posix-functions/pthread_attr_setstackaddr.texi.
51364         * doc/pastposix-functions/rindex.texi: Renamed from
51365         doc/posix-functions/rindex.texi.
51366         * doc/pastposix-functions/scalb.texi: Renamed from
51367         doc/posix-functions/scalb.texi.
51368         * doc/pastposix-functions/setcontext.texi: Renamed from
51369         doc/posix-functions/setcontext.texi.
51370         * doc/pastposix-functions/swapcontext.texi: Renamed from
51371         doc/posix-functions/swapcontext.texi.
51372         * doc/pastposix-functions/ualarm.texi: Renamed from
51373         doc/posix-functions/ualarm.texi.
51374         * doc/pastposix-functions/usleep.texi: Renamed from
51375         doc/posix-functions/usleep.texi.
51376         * doc/pastposix-functions/vfork.texi: Renamed from
51377         doc/posix-functions/vfork.texi.
51378         * doc/pastposix-functions/wcswcs.texi: Renamed from
51379         doc/posix-functions/wcswcs.texi.
51380         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
51381         (Function Substitutes): Update.
51382
51383 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51384
51385         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
51386         m4/strerror.m4.
51387
51388 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51389             Bruno Haible  <bruno@clisp.org>
51390
51391         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
51392
51393 2008-12-13  Bruno Haible  <bruno@clisp.org>
51394
51395         * modules/strtoull (Depends-on): Remove unistd.
51396
51397 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51398
51399         * modules/strtoull (Depends-on): Add stdlib.
51400
51401 2008-12-11  Simon Josefsson  <simon@josefsson.org>
51402
51403         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
51404
51405 2008-12-10  Jim Meyering  <meyering@redhat.com>
51406
51407         gl_ASSERT: don't say assertions are disabled when they're not
51408         * m4/assert.m4 (gl_ASSERT): Do not make configure report
51409         "checking whether to enable assertions... no", when they are in
51410         fact enabled.  This is solely a bug in the output of configure.
51411         In spite of saying "no", NDEBUG was not defined in that case.
51412         Also, as noted by Eric Blake, leave assertions enabled upon
51413         --enable-assert=INVALID.
51414
51415 2008-12-10  Bruno Haible  <bruno@clisp.org>
51416
51417         Change MODULES.html to refer to POSIX:2008 where possible.
51418         * MODULES.html.sh (POSIX2008_URL): New variable.
51419         (posix_headers): Remove sys/timeb, ucontext.
51420         (posix2001_headers): New variable.
51421         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
51422         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
51423         index, makecontext, mktemp, pthread_attr_getstackaddr,
51424         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
51425         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
51426         (posix2001_functions): New variable.
51427         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
51428         otherwise.
51429
51430 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51431
51432         add missing include to parse-duration.c
51433         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
51434         * modules/parse-duration (Depends-on): Add xalloc.
51435
51436         fix sed script reading maint.mk
51437         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
51438         (syntax-check-rules): Use it.
51439
51440 2008-12-09  Bruno Haible  <bruno@clisp.org>
51441
51442         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
51443         MacOS X 10.4/PowerPC.
51444         Reported by Simon Josefsson.
51445
51446 2008-12-08  Jim Meyering  <meyering@redhat.com>
51447
51448         work around mingw's lack of some S_IF definitions
51449         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
51450         Reported by Simon Josefsson.
51451
51452 2008-12-08  Bruno Haible  <bruno@clisp.org>
51453
51454         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
51455         applied to variables. Needed on MacOS X 10.4/PowerPC.
51456         Reported by Simon Josefsson.
51457
51458 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
51459         and Eric Blake  <ebb9@byu.net>
51460
51461         assert: honor --enable-assert
51462         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
51463         order to honor --enable-assert, rather than treating it as a
51464         synonym for --disable-assert.
51465
51466 2008-12-08  Jim Meyering  <meyering@redhat.com>
51467
51468         * lib/posixtm.c: Remove now-useless declaration of mktime.
51469
51470         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
51471
51472 2008-12-07  Bruno Haible  <bruno@clisp.org>
51473
51474         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
51475         test_once): Mark functions as static.
51476         * tests/test-tls.c (test_tls): Likewise.
51477
51478 2008-12-07  Bruno Haible  <bruno@clisp.org>
51479
51480         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
51481         iconv_register_autodetect.
51482
51483 2008-12-07  Jim Meyering  <meyering@redhat.com>
51484
51485         posixtm.c: avoid a warning
51486         * lib/posixtm.c (posixtime): Don't initialize tm0.
51487         It's no longer needed to placate gcc4's -Wuninitialized,
51488         and the attempt to placate would elicit a new warning.
51489
51490         unicodeio.c: mark unused parameters
51491         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51492         (fallback_failure_callback): Likewise.
51493
51494 2008-12-07  Bruno Haible  <bruno@clisp.org>
51495
51496         * gnulib-tool (func_create_testdir): When building the tests
51497         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
51498         Reported by Simon Josefsson.
51499
51500 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51501
51502         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
51503
51504 2008-12-06  Bruno Haible  <bruno@clisp.org>
51505
51506         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
51507         Suggested by Eric Blake.
51508
51509 2008-12-06  Bruno Haible  <bruno@clisp.org>
51510
51511         Fix a c-stack test failure on MacOS X.
51512         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
51513         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
51514         handler for SIGBUS as well.
51515         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
51516         install a signal handler for SIGBUS as well.
51517         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
51518
51519 2008-12-06  Bruno Haible  <bruno@clisp.org>
51520
51521         Advocacy documentation.
51522         * doc/gnulib-intro.texi (Benefits): New section.
51523         * doc/gnulib.texi: Update.
51524
51525 2008-12-06  Bruno Haible  <bruno@clisp.org>
51526
51527         Document the 'manywarnings' module.
51528         * doc/manywarnings.texi: New file.
51529         * doc/gnulib.texi: Include it.
51530
51531 2008-12-05  Eric Blake  <ebb9@byu.net>
51532
51533         tests: silence some gcc warnings
51534         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
51535         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
51536         type mismatches.
51537
51538 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51539             Bruno Haible  <bruno@clisp.org>
51540
51541         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
51542
51543 2008-11-29  Jim Meyering  <meyering@redhat.com>
51544
51545         unicodeio.c: mark unused parameters
51546         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51547         (fallback_failure_callback): Likewise.
51548
51549         fts: fix a thinko
51550         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
51551         (set_stat_type): Return S_IF*-valued "type" directly.
51552         Prompted by James Youngman's spotting a related bug.
51553         Confirmed by further testing through find.
51554
51555         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
51556         * lib/fts.c (D_TYPE): Define.
51557         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
51558         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
51559         (s_ifmt_shift_bits): New function.
51560         (set_stat_type): New function.
51561         (fts_build): When not calling fts_stat, call set_stat_type
51562         to propagate dirent.d_type info to fts_read caller.
51563         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
51564         fts_statp->st_mode type information may be valid.
51565
51566 2008-11-28  Simon Josefsson  <simon@josefsson.org>
51567
51568         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
51569         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
51570         <sds@gnu.org>.
51571
51572 2008-11-20  Bruno Haible  <bruno@clisp.org>
51573
51574         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
51575         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
51576         INCLUDE_NEXT.
51577         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
51578         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
51579         * modules/math (Makefile.am): Substitute
51580         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
51581         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51582
51583 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
51584             Bruno Haible  <bruno@clisp.org>
51585
51586         * lib/stdint.in.h: Define all type macros so that their expansion is
51587         a single typedef'ed token. Fixes a compilation failure in Boost which
51588         does "using ::int8_t;".
51589
51590 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51591
51592         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
51593         gl_MANYWARN_ALL_GCC.
51594         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
51595         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
51596         * modules/manywarnings: New file.
51597         * MODULES.html.sh: Mention manywarnings module.
51598
51599 2008-11-18  Bruno Haible  <bruno@clisp.org>
51600
51601         * doc/gnulib-tool.texi (Unit tests): New section.
51602
51603 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51604
51605         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
51606         paths like 'lib/po/foo.po'.
51607
51608 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51609
51610         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
51611         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
51612
51613 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51614
51615         * m4/warnings.m4: Use CPPFLAGS to really check whether the
51616         parameter works.
51617
51618 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51619
51620         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
51621
51622 2008-11-17  Bruce Korb  <bkorb@gnu.org>
51623
51624         * modules/parse-duration-tests: New file.
51625         * tests/test-parse-duration.sh: New file.
51626         * tests/test-parse-duration.c: New file.
51627
51628         New module 'parse-duration'.
51629         * lib/parse-duration.h: New file.
51630         * lib/parse-duration.c: New file.
51631         * modules/parse-duration: New file.
51632
51633 2008-11-17  Bruno Haible  <bruno@clisp.org>
51634
51635         * tests/test-select-out.sh: Comment out the first pipe test.
51636         Reported by Simon Josefsson.
51637
51638 2008-11-17  Bruno Haible  <bruno@clisp.org>
51639
51640         * modules/getaddrinfo (Depends-on): Add servent, hostent.
51641         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
51642         gl_HOSTENT.
51643
51644 2008-11-17  Bruno Haible  <bruno@clisp.org>
51645
51646         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
51647         -lnetwork and -lnet. Needed for Haiku and BeOS.
51648
51649 2008-11-16  Bruno Haible  <bruno@clisp.org>
51650
51651         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
51652
51653 2008-11-16  Bruno Haible  <bruno@clisp.org>
51654
51655         Avoid test failure on Haiku.
51656         * tests/test-fsync.c: Include <errno.h>.
51657         (main): Don't require that fsync (0) fails.
51658
51659 2008-11-15  Bruno Haible  <bruno@clisp.org>
51660
51661         New module 'hostent'.
51662         * modules/hostent: New file.
51663         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
51664
51665 2008-11-15  Bruno Haible  <bruno@clisp.org>
51666
51667         New module 'servent'.
51668         * modules/servent: New file.
51669         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
51670
51671 2008-11-15  Bruno Haible  <bruno@clisp.org>
51672
51673         Avoid generating same test program with two different rules.
51674         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
51675         test-frexp to test-frexp-nolibm.
51676         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
51677         test-frexpl to test-frexpl-nolibm.
51678
51679 2008-11-15  Bruno Haible  <bruno@clisp.org>
51680
51681         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
51682         $(FREXPL_LIBM).
51683
51684 2008-11-15  Bruno Haible  <bruno@clisp.org>
51685
51686         * lib/netdb.in.h: Activate the definitions also when the system's
51687         <netdb.h> has 'struct addrinfo'.
51688         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
51689         EAI_OVERFLOW or AI_NUMERICSERV.
51690         * doc/posix-headers/netdb.texi: Document the problem.
51691
51692 2008-11-15  Bruno Haible  <bruno@clisp.org>
51693
51694         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
51695
51696         Make the 'sched' module work on platforms where <sched.h> exists but
51697         is incomplete (such as Haiku).
51698         * lib/sched.in.h; Include the system's <sched.h> if it exists.
51699         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
51700         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
51701         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
51702         HAVE_STRUCT_SCHED_PARAM.
51703         * modules/sched (Depends-on): Add include_next.
51704         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
51705         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
51706         * doc/posix-headers/sched.texi: Document the issue.
51707
51708 2008-11-13  Jim Meyering  <meyering@redhat.com>
51709
51710         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
51711         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
51712         test would fail due to the difference in the Report bugs to ...
51713         line.  The expected address is empty, "<>", while the actual
51714         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
51715
51716 2008-11-12  Bruno Haible  <bruno@clisp.org>
51717
51718         lstat: don't compile lstat.c on systems lacking lstat
51719         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
51720         which don't have lstat; this is handled by lib/sys_stat.in.h already.
51721         Reported by Daniel P. Berrange via Jim Meyering.
51722
51723 2008-11-12  Jim Meyering  <meyering@redhat.com>
51724
51725         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
51726
51727 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51728
51729         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
51730         instead.
51731
51732 2008-11-12  Bruno Haible  <bruno@clisp.org>
51733
51734         * lib/unicodeio.c: Include unistr.h.
51735         (utf8_wctomb): Remove function.
51736         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
51737
51738 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51739
51740         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
51741         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
51742         <bruno@clisp.org>.
51743         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
51744
51745 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51746
51747         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
51748         * doc/gnulib.texi: Add section for warnings.
51749
51750 2008-11-11  Bruno Haible  <bruno@clisp.org>
51751
51752         * lib/sockets.h: Add a comment.
51753
51754 2008-11-11  Karl Berry  <karl@gnu.org>
51755
51756         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
51757
51758 2008-11-11  Eric Blake  <ebb9@byu.net>
51759
51760         fdl.texi: avoid git symlinks
51761         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
51762
51763 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51764
51765         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
51766
51767 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51768
51769         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
51770         (gl_WARN_ADD): Substitute $2 if literal.
51771
51772 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51773
51774         * m4/warning.m4: Remove.
51775
51776 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51777
51778         * m4/warnings.m4: Almost complete rewrite. :-)
51779
51780 2008-11-10  Simon Josefsson  <simon@josefsson.org>
51781
51782         * modules/warnings: New module.
51783         * m4/warnings.m4: New file.
51784         * MODULES.html.sh: Mention warnings module.
51785         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
51786         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51787
51788 2008-11-10  Eric Blake  <ebb9@byu.net>
51789
51790         fdl.texi: make a symlink to the latest version
51791         * doc/standards.texi: Revert today's earlier change.
51792         * doc/fdl-1.2.texi: Rename from old fdl.texi...
51793         * doc/fdl.texi: ...and replace this with a symlink to the newer
51794         fdl-1.3.texi.
51795
51796 2008-11-10  Bruno Haible  <bruno@clisp.org>
51797
51798         * tests/test-select-fd.c (main): Accept the result file name as fourth
51799         argument.
51800         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
51801         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
51802
51803 2008-11-10  Bruno Haible  <bruno@clisp.org>
51804
51805         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
51806         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
51807         as autoconf-substituted macros.
51808         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
51809         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
51810         gl_NETDB_H_DEFAULTS. Set these variables.
51811         * modules/netdb (Makefile.am): Substitute these variables.
51812
51813 2008-11-10  Eric Blake  <ebb9@byu.net>
51814
51815         standards.texi: include correct file for FDL 1.3
51816         * doc/standards.texi (GNU Free Documentation License): Change
51817         include file to pull in FDL 1.3, not 1.2.
51818
51819         fdl.texi: revert accidental change to license
51820         * doc/fdl.texi: This is FDL 1.2, not 1.3.
51821
51822 2008-11-10  Bruno Haible  <bruno@clisp.org>
51823
51824         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
51825         cross-compiling guesses also when the native compile gives no result.
51826
51827 2008-11-10  Bruno Haible  <bruno@clisp.org>
51828
51829         * lib/spawni.c (__spawni): Force variable into the stack.
51830
51831 2008-11-10  Bruno Haible  <bruno@clisp.org>
51832
51833         Add support for Haiku.
51834         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
51835         glibc and BeOS, but also on Haiku.
51836         * lib/fpurge.c (fpurge): Likewise.
51837         * lib/freadable.c (freadable): Likewise.
51838         * lib/freadahead.c (freadahead): Likewise.
51839         * lib/freading.c (freading): Likewise.
51840         * lib/freadptr.c (freadptr): Likewise.
51841         * lib/freadseek.c (freadptrinc): Likewise.
51842         * lib/fseeko.c (rpl_fseeko): Likewise.
51843         * lib/fseterr.c (fseterr): Likewise.
51844         * lib/fwritable.c (fwritable): Likewise.
51845         * lib/fwriting.c (fwriting): Likewise.
51846         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
51847
51848 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51849
51850         * lib/config.charset: Treat Haiku like BeOS.
51851
51852 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51853
51854         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
51855         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
51856
51857 2008-11-08  Bruno Haible  <bruno@clisp.org>
51858
51859         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
51860         AC_CACHE_CHECK.
51861
51862 2008-11-08  Bruno Haible  <bruno@clisp.org>
51863
51864         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
51865
51866 2008-11-08  Bruno Haible  <bruno@clisp.org>
51867
51868         * tests/test-select-fd.c: New file.
51869         * tests/test-select-in.sh: New file.
51870         * tests/test-select-out.sh: New file.
51871         * tests/test-select-stdin.c: New file.
51872         * modules/select-tests (Files): Add the new files.
51873         (Depends-on): Add gettimeofday.
51874         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
51875         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
51876         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
51877
51878 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
51879             Bruno Haible  <bruno@clisp.org>
51880
51881         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
51882
51883 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
51884
51885         * build-aux/pmccabe2html: Added support for C++ source files.
51886
51887 2008-11-05  Ben Pfaff  <blp@gnu.org>
51888
51889         Fix lib/close.c build on Windows.
51890         * modules/close (Files): Add lib/w32sock.h.
51891
51892 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
51893
51894         Accept Bison's NEWS format.
51895         * build-aux/announce-gen (print_news_deltas): Tweak
51896         $re_prefix.
51897
51898 2008-11-04  Bruno Haible  <bruno@clisp.org>
51899
51900         * modules/random_r (Maintainer): Add glibc.
51901
51902 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51903
51904         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
51905         by karl@freefriends.org (Karl Berry).
51906         * doc/alloca.texi: Likewise.
51907         * doc/c-ctype.texi: Likewise.
51908         * doc/c-strcase.texi: Likewise.
51909         * doc/c-strcaseeq.texi: Likewise.
51910         * doc/c-strcasestr.texi: Likewise.
51911         * doc/c-strstr.texi: Likewise.
51912         * doc/c-strtod.texi: Likewise.
51913         * doc/c-strtold.texi: Likewise.
51914         * doc/ctime.texi: Likewise.
51915         * doc/error.texi: Likewise.
51916         * doc/fdl.texi: Likewise.
51917         * doc/gcd.texi: Likewise.
51918         * doc/getdate.texi: Likewise.
51919         * doc/gnulib-intro.texi: Likewise.
51920         * doc/gnulib-tool.texi: Likewise.
51921         * doc/gnulib.texi: Likewise.
51922         * doc/inet_ntoa.texi: Likewise.
51923         * doc/maintain.texi: Likewise.
51924         * doc/make-stds.texi: Likewise.
51925         * doc/quote.texi: Likewise.
51926         * doc/regexprops-generic.texi: Likewise.
51927         * doc/standards.texi: Likewise.
51928         * doc/verify.texi: Likewise.
51929         * doc/visibility.texi: Likewise.
51930         * doc/gnulib.texi (GNU Free Documentation License): Include
51931         fdl-1.3.texi instead of fdl.texi.
51932
51933 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51934
51935         * doc/fdl-1.3.texi: New file, from
51936         <http://www.gnu.org/licenses/fdl-1.3.texi>.
51937         * modules/fdl-1.3: Add.
51938         * MODULES.html.sh: Add fdl-1.3.
51939
51940 2008-11-03  Bruno Haible  <bruno@clisp.org>
51941
51942         Make determination of absolute name of header file work with AIX xlc.
51943         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
51944         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
51945         preprocessing.
51946         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51947         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
51948
51949 2008-11-03  Simon Josefsson  <simon@josefsson.org>
51950
51951         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
51952         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
51953         <ludo@gnu.org>.
51954
51955 2008-11-02  Bruno Haible  <bruno@clisp.org>
51956
51957         Mark 'strpbrk' obsolete.
51958         * modules/strpbrk (Status, Notice): New sections.
51959         * modules/strtok_r (Depends-on): Add strpbrk.
51960
51961 2008-11-02  Bruno Haible  <bruno@clisp.org>
51962
51963         Mark 'strdup' obsolete.
51964         * modules/strdup (Status, Notice): New sections.
51965         * modules/findprog (Depends-on): Add strdup.
51966         * modules/getaddrinfo (Depends-on): Likewise.
51967         * modules/localename (Depends-on): Likewise.
51968         * modules/relocatable-lib (Depends-on): Likewise.
51969         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
51970         * modules/relocatable-prog (Depends-on): Likewise.
51971         * modules/trim (Depends-on): Likewise.
51972         * modules/unictype/gen-ctype (Depends-on): Likewise.
51973         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51974
51975 2008-11-02  Bruno Haible  <bruno@clisp.org>
51976
51977         Mark 'strcspn' obsolete.
51978         * modules/strcspn (Status, Notice): New sections.
51979
51980 2008-11-02  Bruno Haible  <bruno@clisp.org>
51981
51982         Mark 'rmdir' obsolete.
51983         * modules/rmdir (Status, Notice): New sections.
51984         * modules/clean-temp (Depends-on): Add rmdir.
51985         * modules/openat (Depends-on): Likewise.
51986
51987 2008-11-02  Bruno Haible  <bruno@clisp.org>
51988
51989         Mark 'raise' obsolete.
51990         * modules/raise (Status, Notice): New sections.
51991         (Include): Specify <signal.h>.
51992         * modules/stdio (Depends-on): Add raise.
51993         * modules/write (Depends-on): Likewise.
51994
51995 2008-11-02  Bruno Haible  <bruno@clisp.org>
51996
51997         Mark 'memset' obsolete.
51998         * modules/memset (Status, Notice): New sections.
51999
52000 2008-11-02  Bruno Haible  <bruno@clisp.org>
52001
52002         Mark 'memmove' obsolete.
52003         * modules/memmove (Status, Notice): New sections.
52004         * modules/argp (Depends-on): Add memmove.
52005         * modules/argz (Depends-on): Likewise.
52006         * modules/canonicalize (Depends-on): Likewise.
52007         * modules/canonicalize-lgpl (Depends-on): Likewise.
52008         * modules/fts (Depends-on): Likewise.
52009         * modules/getcwd (Depends-on): Likewise.
52010         * modules/human (Depends-on): Likewise.
52011         * modules/regex (Depends-on): Likewise.
52012         * modules/striconveh (Depends-on): Likewise.
52013         * modules/trim (Depends-on): Likewise.
52014         * modules/unistr/u8-move (Depends-on): Likewise.
52015         * modules/unistr/u16-move (Depends-on): Likewise.
52016         * modules/unistr/u32-move (Depends-on): Likewise.
52017
52018 2008-11-02  Bruno Haible  <bruno@clisp.org>
52019
52020         Mark 'memcpy' obsolete.
52021         * modules/memcpy (Status, Notice): New sections.
52022
52023 2008-11-02  Bruno Haible  <bruno@clisp.org>
52024
52025         Mark 'memcmp' obsolete.
52026         * modules/memcmp (Status, Notice): New sections.
52027         * modules/argmatch (Depends-on): Add memchr.
52028         * modules/backupfile (Depends-on): Likewise.
52029         * modules/c-strcasestr (Depends-on): Likewise.
52030         * modules/crypto/des (Depends-on): Likewise.
52031         * modules/csharpcomp (Depends-on): Likewise.
52032         * modules/fnmatch (Depends-on): Likewise.
52033         * modules/git-merge-changelog (Depends-on): Likewise.
52034         * modules/isnand (Depends-on): Likewise.
52035         * modules/isnand-nolibm (Depends-on): Likewise.
52036         * modules/isnanf (Depends-on): Likewise.
52037         * modules/isnanf-nolibm (Depends-on): Likewise.
52038         * modules/isnanl (Depends-on): Likewise.
52039         * modules/isnanl-nolibm (Depends-on): Likewise.
52040         * modules/mbchar (Depends-on): Likewise.
52041         * modules/memcoll (Depends-on): Likewise.
52042         * modules/quotearg (Depends-on): Likewise.
52043         * modules/regex (Depends-on): Likewise.
52044         * modules/relocatable-prog (Depends-on): Likewise.
52045         * modules/same (Depends-on): Likewise.
52046         * modules/signbit (Depends-on): Likewise.
52047         * modules/strcasestr-simple (Depends-on): Likewise.
52048         * modules/unictype/gen-ctype (Depends-on): Likewise.
52049         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52050         * modules/uniname/uniname (Depends-on): Likewise.
52051         * modules/unistr/u8-cmp (Depends-on): Likewise.
52052
52053 2008-11-02  Bruno Haible  <bruno@clisp.org>
52054
52055         Mark 'memchr' obsolete.
52056         * modules/memchr (Status, Notice): New sections.
52057         * modules/argp (Depends-on): Add memchr.
52058         * modules/base64 (Depends-on): Likewise.
52059         * modules/c-strcasestr (Depends-on): Likewise.
52060         * modules/chdir-long (Depends-on): Likewise.
52061         * modules/fnmatch (Depends-on): Likewise.
52062         * modules/getsubopt (Depends-on): Likewise.
52063         * modules/git-merge-changelog (Depends-on): Likewise.
52064         * modules/glob (Depends-on): Likewise.
52065         * modules/strcasestr-simple (Depends-on): Likewise.
52066         * modules/strnlen (Depends-on): Likewise.
52067
52068 2008-11-02  Bruno Haible  <bruno@clisp.org>
52069
52070         Mark 'atexit' obsolete.
52071         * modules/atexit (Status, Notice): New sections.
52072         * modules/chdir-long (Depends-on): Add atexit.
52073         * modules/wait-process (Depends-on): Likewise.
52074
52075 2008-11-02  Bruno Haible  <bruno@clisp.org>
52076
52077         * gnulib-tool: New option --with-obsolete.
52078         (func_usage): Document it.
52079         (func_modules_transitive_closure): Drop obsolete dependencies if
52080         incobsolete is not true.
52081         (func_import): Read and save the incobsolete variable to the cache.
52082
52083 2008-11-02  Bruno Haible  <bruno@clisp.org>
52084
52085         * modules/TEMPLATE-EXTENDED: New field 'Status'.
52086         * gnulib-tool: New option --extract-status.
52087         (func_usage): Document it.
52088         (sed_extract_prog): Recognize it.
52089         (func_get_status): New function.
52090
52091 2008-10-30  Simon Josefsson  <simon@josefsson.org>
52092
52093         * modules/sockets (License): Change from LGPL to LGPLv2+.
52094
52095 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52096
52097         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
52098
52099 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52100
52101         * MODULES.html.sh (Support for systems lacking POSIX:2001):
52102         Mention times and sys_times.
52103         * modules/sys_times, modules/sys_times-tests: New modules.
52104         * modules/times, modules/times-tests: Likewise
52105         * m4/sys_times_h.m4: New file.
52106         * lib/sys_times.in.h: Likewise
52107         * lib/times.c: Likewise.
52108         * tests/test-sys_times.c: Likewise.
52109         * tests/test-times.c: Likewise.
52110         * doc/posix-headers/sys_times.texi: Update.
52111         * doc/posix-functions/times.texi: Update.
52112
52113 2008-10-28  Jim Meyering  <meyering@redhat.com>
52114
52115         * modules/tempname (Depends-on): Add lstat.
52116
52117         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
52118
52119 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52120
52121         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
52122         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
52123         using idiom used elsewhere in gnulib.
52124
52125 2008-10-27  Jim Meyering  <meyering@redhat.com>
52126
52127         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
52128
52129 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52130
52131         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
52132         TESTS_ENVIRONMENT, for shell scripts that needs to call built
52133         programs.
52134         * tests/test-argp-2.sh: Use $EXEEXT when needed.
52135
52136 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52137
52138         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
52139
52140 2008-10-27  Bruno Haible  <bruno@clisp.org>
52141
52142         * tests/test-lstat.c: Include <stdio.h>.
52143
52144 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52145
52146         * modules/lstat-tests: New module.
52147         * tests/test-lstat.c: New file.
52148
52149 2008-10-26  Jim Meyering  <meyering@redhat.com>
52150
52151         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
52152
52153 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52154             Bruno Haible  <bruno@clisp.org>
52155
52156         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
52157         * modules/configmake (Include): Add a note that the include must come
52158         after all system headers.
52159         * lib/javaversion.c: Include configmake.h after all other includes.
52160
52161 2008-10-26  Bruno Haible  <bruno@clisp.org>
52162
52163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
52164         HAVE_STRUCT_RANDOM_DATA to 1.
52165         (gl_STDLIB_H): Simplify.
52166
52167 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52168
52169         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
52170         substitute HAVE_STRUCT_RANDOM_DATA.
52171         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
52172         random_data.
52173         * modules/stdlib (Makefile.am): Substitute
52174         HAVE_STRUCT_RANDOM_DATA.
52175
52176 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52177
52178         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
52179         * doc/gnulib-intro.texi (Copyright): Likewise.
52180
52181 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52182
52183         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
52184         findings.
52185
52186 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
52187             Bruno Haible  <bruno@clisp.org>
52188
52189         * lib/unistd.in.h: Include <winsock2.h>.
52190         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
52191         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
52192         Provide dummy declarations.
52193         (gethostname): Override.
52194         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
52195         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
52196         gl_PREREQ_SYS_H_WINSOCK2.
52197         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
52198         * doc/posix-functions/gethostname.texi: More details.
52199
52200 2008-10-25  Bruno Haible  <bruno@clisp.org>
52201
52202         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52203         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
52204         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
52205
52206         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
52207         here ...
52208         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
52209         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
52210         gl_UNISTD_H_DEFAULTS.
52211
52212 2008-10-25  Eric Blake  <ebb9@byu.net>
52213
52214         signbit: avoid spurious compiler failure
52215         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
52216         declarations inside function.
52217
52218 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52219             Bruno Haible  <bruno@clisp.org>
52220
52221         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
52222         * modules/random_r (Depends-on): Add stdint.
52223
52224 2008-10-24  Bruno Haible  <bruno@clisp.org>
52225
52226         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
52227         Eggert.
52228         * modules/strerror (License): Likewise.
52229
52230 2008-10-24  Jim Meyering  <meyering@redhat.com>
52231
52232         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
52233         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
52234
52235 2008-10-24  Eric Blake  <ebb9@byu.net>
52236
52237         getgroups: fix compilation when getgroups is available
52238         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
52239         but with <config.h> override of getgroups disabled.
52240
52241 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52242
52243         * doc/gnulib.texi (Header files): Add note about C++ problems.
52244         Explained by Bruno Haible <bruno@clisp.org>.
52245
52246 2008-10-23  Bruno Haible  <bruno@clisp.org>
52247
52248         Define a dummy SA_NODEFER macro on Interix.
52249         * lib/signal.in.h (SA_NODEFER): Define fallback.
52250         Reported by Aleksey Cheusov <cheusov@tut.by> via
52251         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
52252
52253 2008-10-23  Bruno Haible  <bruno@clisp.org>
52254
52255         * modules/freadahead (License): Change to LGPLv2+.
52256         Suggested by Simon Josefsson.
52257
52258 2008-10-23  Jim Meyering  <meyering@redhat.com>
52259
52260         random_r: new module
52261         * modules/random_r: New file.
52262         * m4/random_r.m4: New file.
52263         * lib/random_r.c: New file, from glibc.
52264         * modules/random_r-tests: New file.
52265         * tests/test-random_r.c: New file.
52266         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
52267          Declare.
52268         (RAND_MAX): Define.
52269         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
52270         * modules/stdlib: Substitute them, too.
52271         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
52272         * doc/glibc-functions/initstate_r.texi: Mention the new module.
52273         * doc/glibc-functions/random_r.texi: Likewise.
52274         * doc/glibc-functions/setstate_r.texi: Likewise.
52275         * doc/glibc-functions/srandom_r.texi: Likewise.
52276         * config/srclist.txt: Mention it.
52277
52278 2008-10-23  David Lutterkort  <lutter@redhat.com>
52279
52280         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
52281         link requirement
52282
52283 2008-10-23  Jim Meyering  <meyering@redhat.com>
52284
52285         selinux-h: mark parameters of stub functions as intentionally unused
52286         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
52287         * lib/se-context.in.h: Likewise.
52288
52289 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52290
52291         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
52292
52293 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52294
52295         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
52296
52297 2008-10-22  Eric Blake  <ebb9@byu.net>
52298
52299         glthread/thread: avoid compiler warning
52300         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
52301         Add unreachable abort to silence compiler.
52302
52303 2008-10-22  Eric Blake  <ebb9@byu.net>
52304
52305         netdb: also supply struct addrinfo for cygwin 1.5.x
52306         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
52307         older cygwin.
52308         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
52309         cygwin.
52310         * doc/posix-headers/netdb.texi (netdb.h): Document this.
52311
52312 2008-10-22  Bruno Haible  <bruno@clisp.org>
52313
52314         * users.txt: Update entry about pspp.
52315
52316 2008-10-21  Bruno Haible  <bruno@clisp.org>
52317
52318         Simplification.
52319         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
52320         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
52321
52322         Simplification.
52323         * lib/ioctl.c (ioctl): Don't undefine.
52324         * lib/socket.c (socket): Don't undefine.
52325
52326         Remove unused module indicator macros.
52327         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
52328         GNULIB_$1 as a C macro.
52329
52330         * doc/posix-functions/close.texi: Undo last change.
52331         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
52332         Windows platforms.
52333
52334 2008-10-21  Bruno Haible  <bruno@clisp.org>
52335
52336         Add gethostname() declaration to <unistd.h>.
52337         * lib/unistd.in.h (gethostname): New declaration.
52338         * lib/gethostname.c: Include <unistd.h>.
52339         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
52340         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
52341         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
52342         and HAVE_GETHOSTNAME.
52343         * modules/gethostname (Depends-on): Add unistd.
52344         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52345         (Include): Specify <unistd.h>.
52346         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
52347         HAVE_GETHOSTNAME.
52348         * tests/test-gethostname.c: Include <unistd.h> first.
52349
52350 2008-10-21  Bruno Haible  <bruno@clisp.org>
52351
52352         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
52353         * modules/select-tests (Depends-on): Likewise.
52354         Reported by Simon Josefsson.
52355
52356 2008-10-21  Simon Josefsson  <simon@josefsson.org>
52357
52358         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
52359         * lib/accept.c: New file, based on winsock.c.
52360         * lib/bind.c: New file, based on winsock.c.
52361         * lib/connect.c: New file, based on winsock.c.
52362         * lib/getpeername.c: New file, based on winsock.c.
52363         * lib/getsockname.c: New file, based on winsock.c.
52364         * lib/getsockopt.c: New file, based on winsock.c.
52365         * lib/ioctl.c: New file, based on winsock.c.
52366         * lib/listen.c: New file, based on winsock.c.
52367         * lib/recv.c: New file, based on winsock.c.
52368         * lib/recvfrom.c: New file, based on winsock.c.
52369         * lib/send.c: New file, based on winsock.c.
52370         * lib/sendto.c: New file, based on winsock.c.
52371         * lib/setsockopt.c: New file, based on winsock.c.
52372         * lib/shutdown.c: New file, based on winsock.c.
52373         * lib/socket.c: New file, based on winsock.c.
52374         * lib/w32sock.h: New file, based on winsock.c.
52375         * lib/winsock.c: Remove file.
52376         * modules/accept: Likewise.
52377         * modules/bind: Likewise.
52378         * modules/connect: Likewise.
52379         * modules/getpeername: Likewise.
52380         * modules/getsockname: Likewise.
52381         * modules/getsockopt: Likewise.
52382         * modules/ioctl: Likewise.
52383         * modules/listen: Likewise.
52384         * modules/recv: Likewise.
52385         * modules/recvfrom: Likewise.
52386         * modules/send: Likewise.
52387         * modules/sendto: Likewise.
52388         * modules/setsockopt: Likewise.
52389         * modules/shutdown: Likewise.
52390         * modules/socket: Use socket.c instead of winsock.c.
52391         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
52392         * doc/posix-functions/accept.texi: Doc fix.
52393         * doc/posix-functions/bind.texi: Doc fix.
52394         * doc/posix-functions/close.texi: Doc fix.
52395         * doc/posix-functions/connect.texi: Doc fix.
52396         * doc/posix-functions/getpeername.texi: Doc fix.
52397         * doc/posix-functions/getsockname.texi: Doc fix.
52398         * doc/posix-functions/getsockopt.texi: Doc fix.
52399         * doc/posix-functions/ioctl.texi: Doc fix.
52400         * doc/posix-functions/listen.texi: Doc fix.
52401         * doc/posix-functions/recv.texi: Doc fix.
52402         * doc/posix-functions/recvfrom.texi: Doc fix.
52403         * doc/posix-functions/send.texi: Doc fix.
52404         * doc/posix-functions/sendto.texi: Doc fix.
52405         * doc/posix-functions/setsockopt.texi: Doc fix.
52406         * doc/posix-functions/shutdown.texi: Doc fix.
52407         * doc/posix-functions/socket.texi: Doc fix.
52408
52409 2008-10-20  Bruno Haible  <bruno@clisp.org>
52410
52411         Take into account the role of SIGABRT_COMPAT on Windows 2008.
52412         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
52413         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
52414         as an alias for SIGABRT.
52415         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
52416         (sigaction): Map it to SIGABRT.
52417         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
52418
52419 2008-10-20  Bruno Haible  <bruno@clisp.org>
52420
52421         * lib/fts.c: Don't include lstat.h.
52422         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
52423
52424         Move the lstat() declaration to <sys/stat.h>.
52425         * lib/lstat.h: Remove file.
52426         * lib/sys_stat.in.h: Add special invocation convention.
52427         (lstat): New declaration.
52428         * lib/lstat.c (orig_lstat): New function.
52429         (rpl_lstat): Use orig_lstat instead of lstat.
52430         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
52431         AC_C_INLINE. Set REPLACE_LSTAT.
52432         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
52433         and REPLACE_LSTAT.
52434         * modules/lstat (Files): Remove lib/lstat.h.
52435         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52436         (Include): Specify <sys/stat.h> instead of lstat.h.
52437         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
52438         REPLACE_LSTAT.
52439         * NEWS: Mention the change.
52440
52441 2008-10-20  Bruno Haible  <bruno@clisp.org>
52442
52443         * modules/posix_spawn-tests: New file.
52444         * tests/test-posix_spawn3.c: New file.
52445
52446 2008-10-20  Bruno Haible  <bruno@clisp.org>
52447
52448         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
52449         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52450         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
52451         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52452         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
52453
52454 2008-10-20  Bruno Haible  <bruno@clisp.org>
52455
52456         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
52457         of posix_spawn on AIX 5.3.
52458
52459 2008-10-20  Bruno Haible  <bruno@clisp.org>
52460
52461         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
52462
52463 2008-10-20  Bruno Haible  <bruno@clisp.org>
52464
52465         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
52466         of AC_LANG_PROGRAM.
52467
52468 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52469
52470         * lib/netdb.in.h: Don't define GNU specific constants until they
52471         are supported or needed.  Reported by Bruno Haible
52472         <bruno@clisp.org>.
52473
52474 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52475
52476         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
52477
52478 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52479
52480         * lib/getaddrinfo.h: Remove file.
52481         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
52482         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
52483         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
52484         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
52485         * modules/netdb: Substitute GNULIB_GETADDRINFO.
52486         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
52487         * tests/test-getaddrinfo.c: Likewise.
52488         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
52489         * NEWS: Mention change.
52490
52491 2008-10-19  Bruno Haible  <bruno@clisp.org>
52492
52493         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
52494
52495 2008-10-19  Bruno Haible  <bruno@clisp.org>
52496
52497         * lib/wait-process.c: Include simply <sys/wait.h>.
52498         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
52499         WIFSTOPPED): Remove fallback definitions.
52500         * modules/wait-process (Depends-on): Add sys_wait.
52501
52502         New module 'sys_wait'.
52503         * modules/sys_wait: New file.
52504         * lib/sys_wait.in.h: New file, partially copied from
52505         lib/wait-process.c.
52506         * m4/sys_wait_h.m4: New file.
52507         * doc/posix-headers/sys_wait.texi: Mention the new module.
52508
52509 2008-10-19  Bruno Haible  <bruno@clisp.org>
52510
52511         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
52512
52513 2008-10-19  Bruno Haible  <bruno@clisp.org>
52514
52515         Assume that waitpid() fills an 'int' status, not a 'union wait'.
52516         * lib/wait-process.c (WAIT_T): Remove type.
52517         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
52518         (wait_subprocess): Update.
52519
52520 2008-10-19  Bruno Haible  <bruno@clisp.org>
52521
52522         New module 'atoll'.
52523         * modules/atoll: New file.
52524         * lib/stdlib.in.h (atoll): New declaration.
52525         * lib/atoll.c: New file, from glibc with modifications.
52526         * m4/atoll.m4: New file.
52527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
52528         HAVE_ATOLL.
52529         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
52530         * doc/posix-functions/atoll.texi: Mention the new module.
52531
52532 2008-10-19  Bruno Haible  <bruno@clisp.org>
52533
52534         Add strtoull() declaration to <stdlib.h>.
52535         * lib/stdlib.in.h (strtoull): New declaration.
52536         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52537         Set HAVE_STRTOULL.
52538         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
52539         HAVE_STRTOULL.
52540         * modules/strtoull (Depends-on): Add stdlib.
52541         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52542         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
52543         HAVE_STRTOULL.
52544
52545 2008-10-19  Bruno Haible  <bruno@clisp.org>
52546
52547         Add strtoll() declaration to <stdlib.h>.
52548         * lib/stdlib.in.h (strtoll): New declaration.
52549         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52550         Set HAVE_STRTOLL.
52551         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
52552         HAVE_STRTOLL.
52553         * modules/strtoll (Depends-on): Add stdlib.
52554         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52555         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
52556
52557 2008-10-19  Bruno Haible  <bruno@clisp.org>
52558
52559         * modules/bcopy (Depends-on): Add strings.
52560         (Include): Specify <strings.h>.
52561
52562 2008-10-19  Bruno Haible  <bruno@clisp.org>
52563
52564         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
52565
52566 2008-10-19  Bruno Haible  <bruno@clisp.org>
52567
52568         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
52569         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
52570         mingw.
52571
52572 2008-10-19  Bruno Haible  <bruno@clisp.org>
52573
52574         * lib/atanl.c: Don't include isnanl.h.
52575         * lib/cosl.c: Likewise.
52576         * lib/ldexpl.c: Likewise.
52577         * lib/logl.c: Likewise.
52578         * lib/sinl.c: Likewise.
52579         * lib/sqrtl.c: Likewise.
52580         * lib/tanl.c: Likewise.
52581
52582         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
52583         * lib/isnanf.h: Remove file.
52584         * lib/isnand.h: Remove file.
52585         * lib/isnanl.h: Remove file.
52586         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
52587         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
52588         macros.
52589         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
52590         HAVE_ISNANF, don't define it as a C macro.
52591         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
52592         HAVE_ISNAND, don't define it as a C macro.
52593         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
52594         HAVE_ISNANL, don't define it as a C macro.
52595         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
52596         HAVE_ISNAN[FDL].
52597         * modules/isnanf (Files): Remove lib/isnanf.h.
52598         (Depends-on): Add math.
52599         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52600         (Include): Specify <math.h> instead of isnanf.h.
52601         * modules/isnand (Files): Remove lib/isnand.h.
52602         (Depends-on): Add math.
52603         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52604         (Include): Specify <math.h> instead of isnand.h.
52605         * modules/isnanl (Files): Remove lib/isnanl.h.
52606         (Depends-on): Add math.
52607         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52608         (Include): Specify <math.h> instead of isnanl.h.
52609         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
52610         HAVE_ISNAN[FDL].
52611         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
52612         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
52613         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
52614         * NEWS: Mention the change.
52615
52616 2008-10-18  Bruno Haible  <bruno@clisp.org>
52617
52618         Add getusershell(), setusershell(), endusershell() declarations to
52619         <unistd.h>.
52620         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
52621         declarations.
52622         * lib/getusershell.c: Include unistd.h.
52623         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
52624         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52625         HAVE_GETUSERSHELL.
52626         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
52627         and HAVE_GETUSERSHELL.
52628         * modules/getusershell (Depends-on): Add unistd, extensions.
52629         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52630         (Include): Specify <unistd.h>.
52631         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
52632         HAVE_GETUSERSHELL.
52633
52634 2008-10-18  Bruno Haible  <bruno@clisp.org>
52635
52636         Add a getloadavg() declaration to <stdlib.h>.
52637         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
52638         getloadavg declaration.
52639         (getloadavg): New declaration.
52640         * lib/getloadavg.c: Include <stdlib.h> first.
52641         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
52642         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
52643         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
52644         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
52645         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52646         * modules/getloadavg (Depends-on): Add stdlib, extensions.
52647         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52648         (Include): Specify <stdlib.h>.
52649         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
52650         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52651
52652 2008-10-18  Bruno Haible  <bruno@clisp.org>
52653
52654         * lib/dirchownmod.c: Don't include lchmod.h.
52655
52656         Move the lchmod() declaration to <sys/stat.h>.
52657         * lib/lchmod.h: Remove file.
52658         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
52659         (lchmod): New declaration, moved here from lib/lchown.h.
52660         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
52661         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
52662         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
52663         and HAVE_LCHMOD.
52664         * modules/lchmod (Files): Remove lib/lchmod.h.
52665         (Depends-on): Add sys_stat, extensions.
52666         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52667         (Include): Specify <sys/stat.h> instead of lchmod.h.
52668         * modules/sys_stat (Depends-on): Add link-warning.
52669         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
52670         definition of GL_LINK_WARNING.
52671         * NEWS: Mention the change.
52672
52673 2008-10-18  Bruno Haible  <bruno@clisp.org>
52674
52675         * lib/fchdir.c: Don't include dirfd.h.
52676         * lib/fts.c: Likewise.
52677         * lib/getcwd.c: Likewise.
52678         * lib/glob.c: Likewise.
52679
52680         Move the dirfd() declaration to <dirent.h>.
52681         * lib/dirfd.h: Remove file.
52682         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
52683         (dirfd): New declaration.
52684         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
52685         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
52686         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
52687         HAVE_DECL_DIRFD.
52688         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
52689         HAVE_DECL_DIRFD.
52690         * modules/dirfd (Files): Remove lib/dirfd.h.
52691         (Depends-on): Add dirent, extensions.
52692         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
52693         (Include): Specify <dirent.h> instead of dirfd.h.
52694         * modules/dirent (Depends-on): Add link-warning.
52695         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
52696         definition of GL_LINK_WARNING.
52697         * NEWS: Mention the change.
52698
52699 2008-10-18  Bruno Haible  <bruno@clisp.org>
52700
52701         Move the euidaccess() declaration to <unistd.h>.
52702         * lib/euidaccess.h: Remove file.
52703         * lib/unistd.in.h (euidaccess): New declaration.
52704         * lib/euidaccess.c: Don't include euidaccess.h.
52705         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
52706         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
52707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
52708         and HAVE_EUIDACCESS.
52709         * modules/euidaccess (Files): Remove lib/euidaccess.h.
52710         (Depends-on): Add unistd.
52711         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52712         (Include): Specify <unistd.h> instead of euidaccess.h.
52713         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
52714         HAVE_EUIDACCESS.
52715         * NEWS: Mention the change.
52716
52717 2008-10-18  Bruno Haible  <bruno@clisp.org>
52718
52719         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
52720
52721         Move the getdomainname() declaration to <unistd.h>.
52722         * lib/getdomainname.h: Remove file.
52723         * lib/unistd.in.h (getdomainname): New declaration.
52724         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
52725         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
52726         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52727         HAVE_GETDOMAINNAME.
52728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52729         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
52730         * modules/getdomainname (Files): Remove lib/getdomainname.h.
52731         (Depends-on): Add unistd, extensions.
52732         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52733         (Includes): Specify <unistd.h> instead of getdomainname.h.
52734         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
52735         HAVE_GETDOMAINNAME.
52736         * NEWS: Mention the change.
52737
52738 2008-10-18  Bruno Haible  <bruno@clisp.org>
52739
52740         * modules/dirent: New file.
52741         * m4/dirent_h.m4: New file.
52742         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
52743         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
52744         * modules/fchdir (Files): Remove lib/dirent.in.h.
52745         (Depends-on): Add dirent.
52746         (Makefile.am): Move rules to modules/dirent.
52747         * doc/posix-headers/dirent.texi: Mention the new module.
52748
52749 2008-10-18  Bruno Haible  <bruno@clisp.org>
52750
52751         Avoid -Wunused-parameter warnings in public gnulib header files.
52752         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
52753         macro.
52754         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
52755
52756 2008-10-18  Bruno Haible  <bruno@clisp.org>
52757
52758         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
52759         * doc/glibc-functions/error.texi: Mention the module 'error'.
52760         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
52761         * doc/glibc-functions/getdomainname.texi: Mention the module
52762         'getdomainname'.
52763         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
52764         * doc/glibc-functions/getpagesize.texi: Mention the module
52765         'getpagesize'.
52766         * doc/glibc-functions/getusershell.texi: Mention the module
52767         'getusershell'.
52768         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
52769         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
52770         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
52771         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
52772         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
52773         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
52774         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
52775         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
52776         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
52777         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
52778         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
52779         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
52780         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
52781         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
52782
52783 2008-10-17  Bruno Haible  <bruno@clisp.org>
52784
52785         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
52786         HP-UX and IRIX, use -0.0L.
52787         * tests/test-ceill.c (minus_zero): Likewise.
52788         * tests/test-floorl.c (minus_zero): Likewise.
52789         * tests/test-frexpl.c (minus_zero): Likewise.
52790         * tests/test-isnan.c (minus_zerol): Likewise.
52791         * tests/test-isnanl.h (minus_zero): Likewise.
52792         * tests/test-ldexpl.c (minus_zero): Likewise.
52793         * tests/test-roundl.c (minus_zero): Likewise.
52794         * tests/test-signbit.c (minus_zerol): Likewise.
52795         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52796         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52797         * tests/test-truncl.c (minus_zero): Likewise.
52798         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52799         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52800         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
52801         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52802
52803 2008-10-17  Bruno Haible  <bruno@clisp.org>
52804
52805         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
52806         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
52807         that it gets activated only for gcc >= 3.0.
52808         * lib/dirent.in.h: Likewise.
52809         * lib/errno.in.h: Likewise.
52810         * lib/fcntl.in.h: Likewise.
52811         * lib/float.in.h: Likewise.
52812         * lib/iconv.in.h: Likewise.
52813         * lib/inttypes.in.h: Likewise.
52814         * lib/locale.in.h: Likewise.
52815         * lib/math.in.h: Likewise.
52816         * lib/netdb.in.h: Likewise.
52817         * lib/netinet_in.in.h: Likewise.
52818         * lib/search.in.h: Likewise.
52819         * lib/signal.in.h: Likewise.
52820         * lib/spawn.in.h: Likewise.
52821         * lib/stdarg.in.h: Likewise.
52822         * lib/stdint.in.h: Likewise.
52823         * lib/stdio.in.h: Likewise.
52824         * lib/stdlib.in.h: Likewise.
52825         * lib/string.in.h: Likewise.
52826         * lib/strings.in.h: Likewise.
52827         * lib/sys_file.in.h: Likewise.
52828         * lib/sys_ioctl.in.h: Likewise.
52829         * lib/sys_select.in.h: Likewise.
52830         * lib/sys_socket.in.h: Likewise.
52831         * lib/sys_stat.in.h: Likewise.
52832         * lib/sys_time.in.h: Likewise.
52833         * lib/sysexits.in.h: Likewise.
52834         * lib/time.in.h: Likewise.
52835         * lib/unistd.in.h: Likewise.
52836         * lib/wchar.in.h: Likewise.
52837         * lib/wctype.in.h: Likewise.
52838         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52839
52840 2008-10-17  Jim Meyering  <meyering@redhat.com>
52841
52842         ignore-value: don't depend on inline module
52843         * modules/ignore-value (Depends-on): Remove 'inline'.
52844         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
52845         Suggestion from Bruno Haible.
52846
52847 2008-10-17  Bruno Haible  <bruno@clisp.org>
52848
52849         New implementation of condition variables for Win32.
52850         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
52851         (gl_linked_waitqueue_t): New type.
52852         (gl_cond_t): Use it.
52853         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
52854         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
52855         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
52856         (glthread_cond_init_func, glthread_cond_wait_func,
52857         glthread_cond_timedwait_func, glthread_cond_signal_func,
52858         glthread_cond_broadcast_func, glthread_cond_destroy_func):
52859         Reimplemented on the basis of gl_linked_waitqueue_t.
52860         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
52861         gl_waitqueue_t.
52862         (gl_rwlock_t): Update.
52863         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
52864
52865 2008-10-17  Simon Josefsson  <simon@josefsson.org>
52866
52867         * modules/recvfrom (Depends-on): Add dependency on getpeername.
52868         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52869
52870 2008-10-17  Jim Meyering  <meyering@redhat.com>
52871
52872         ignore-value: new module
52873         * modules/ignore-value: New file.
52874         * lib/ignore-value.h: New file.
52875         * MODULES.html.sh (Compiler warning management): New section,
52876         just for this module.  More to come.
52877
52878 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52879
52880         open-safer.c: avoid 'signed and unsigned in conditional...' warning
52881         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
52882         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
52883
52884 2008-10-16  Jim Meyering  <meyering@redhat.com>
52885
52886         openat-die.c: avoid 'no previous prototype' warning
52887         * lib/openat-die.c: Include "openat.h".
52888         Reported by Reuben Thomas <rrt@sc3d.org>.
52889
52890 2008-10-16  Simon Josefsson  <simon@josefsson.org>
52891
52892         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
52893         * lib/netdb.in.h: Fix typo.
52894         Reported by Bruno Haible  <bruno@clisp.org>
52895
52896         * lib/netdb.in.h: Include sys/socket.h for platforms without
52897         netdb.h, to get structures like hostent on MinGW.
52898         * modules/netdb (Depends-on): Add sys_socket.
52899
52900 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52901
52902         * modules/netdb, modules/netdb-tests: New file.
52903         * m4/netdb_h.m4: New file.
52904         * lib/netdb.in.h: Add, currently just an empty file pending
52905         definitions.
52906         * tests/test-netdb.c: New file.
52907         * doc/posix-headers/netdb.texi: Mention that we replace it if
52908         needed.
52909         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52910         netdb.
52911
52912 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52913
52914         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
52915         with code.
52916
52917 2008-10-13  Bruno Haible  <bruno@clisp.org>
52918
52919         * lib/glthread/cond.c (glthread_cond_wait_func,
52920         glthread_cond_timedwait_func): Add a comment.
52921
52922 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52923
52924         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
52925         * tests/test-select.c: Likewise,
52926
52927 2008-10-13  Bruno Haible  <bruno@clisp.org>
52928
52929         * lib/glthread/cond.c (glthread_cond_wait_func,
52930         glthread_cond_timedwait_func): Fix variable name.
52931         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52932
52933 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
52934
52935         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
52936         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
52937         struct sockaddr.sa_len.
52938         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
52939
52940 2008-10-13  Simon Josefsson  <simon@josefsson.org>
52941
52942         * build-aux/pmccabe2html: Add css and css_url parameters.
52943
52944 2008-10-12  Bruno Haible  <bruno@clisp.org>
52945
52946         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
52947         calling aclx_get.
52948         Reported by Rainer Tammer <tammer@tammer.net>.
52949
52950 2008-10-12  Bruno Haible  <bruno@clisp.org>
52951
52952         Use msvcrt aware primitives for creation/termination of Win32 threads.
52953         * lib/glthread/thread.c: Include <process.h>.
52954         (glthread_create_func): Use _beginthreadex instead of CreateThread.
52955         (wrapper_func): Update signature.
52956         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
52957
52958 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52959             Bruno Haible  <bruno@clisp.org>
52960
52961         Provide a Win32 implementation of the 'cond' module.
52962         * lib/glthread/cond.h [USE_WIN32]: New implementation.
52963         * lib/glthread/cond.c (glthread_cond_init_func,
52964         glthread_cond_wait_func, glthread_cond_timedwait_func,
52965         glthread_cond_signal_func, glthread_cond_broadcast_func,
52966         glthread_cond_destroy_func) [USE_WIN32]: New functions.
52967         * modules/cond (Dependencies): Add gettimeofday.
52968
52969 2008-10-11  Bruno Haible  <bruno@clisp.org>
52970
52971         Make sleep work on older versions of mingw.
52972         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
52973         only whether it exists.
52974         * doc/posix-functions/sleep.texi: Mention the problem with older
52975         versions of mingw.
52976
52977 2008-10-11  Bruno Haible  <bruno@clisp.org>
52978
52979         New module 'shutdown'.
52980         * modules/shutdown: New file.
52981         * lib/sys_socket.in.h (shutdown): New declaration.
52982         * lib/winsock.c (shutdown): New function.
52983         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
52984         GNULIB_SHUTDOWN.
52985         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
52986         * doc/posix-functions/shutdown.texi: Document the new module.
52987
52988 2008-10-11  Jim Meyering  <meyering@redhat.com>
52989
52990         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
52991
52992 2008-10-11  Bruno Haible  <bruno@clisp.org>
52993
52994         New module 'fclose'.
52995         * modules/fclose: New file.
52996         * lib/stdio.in.h (fclose): New declaration.
52997         * lib/fclose.c: New file.
52998         * m4/fclose.m4: New file.
52999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
53000         REPLACE_FCLOSE.
53001         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
53002         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
53003         REPLACE_FCLOSE.
53004         * modules/close (Depends-on): fclose.
53005         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
53006
53007 2008-10-11  Bruno Haible  <bruno@clisp.org>
53008
53009         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
53010         set errno and don't call _close.
53011
53012 2008-10-10  Bruno Haible  <bruno@clisp.org>
53013
53014         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
53015         ACL, not afterwards. Fixes test failure on Cygwin.
53016
53017 2008-10-09  Ben Pfaff  <blp@gnu.org>
53018
53019         * build-aux/announce-gen: Fix gnulib version related part of usage
53020         message.  Die with a useful error message if no tarballs are
53021         found.
53022
53023 2008-10-10  Jim Meyering  <meyering@redhat.com>
53024
53025         bootstrap: use git's --depth=N option only if it's supported
53026         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
53027         recognize the --depth option.  Reported by Pádraig Brady.
53028
53029 2008-10-09  Bruno Haible  <bruno@clisp.org>
53030
53031         New module 'ioctl'.
53032         * modules/ioctl: New file.
53033         * lib/sys_socket.in.h (ioctl): Remove declaration.
53034         * lib/winsock.c: Include <sys/ioctl.h>.
53035         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
53036         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
53037         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
53038         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
53039         * doc/posix-functions/ioctl.texi: Mention the new module.
53040
53041 2008-10-09  Bruno Haible  <bruno@clisp.org>
53042
53043         New module 'sys_ioctl'.
53044         * lib/sys_ioctl.in.h: New file.
53045         * m4/sys_ioctl_h.m4: New file.
53046         * modules/sys_ioctl: New file.
53047         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
53048
53049 2008-10-09  Bruno Haible  <bruno@clisp.org>
53050
53051         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
53052         * lib/winsock.c: Include <stdarg.h>.
53053         (rpl_ioctl): Change to second argument 'int' and then varargs.
53054
53055 2008-10-09  Bruno Haible  <bruno@clisp.org>
53056
53057         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
53058         when the sys_socket module is present and the system has <winsock2.h>.
53059
53060 2008-10-09  Bruno Haible  <bruno@clisp.org>
53061
53062         * doc/posix-functions/close.texi: Mention module 'close' instead of
53063         module 'sys_socket'.
53064
53065 2008-10-09  Bruno Haible  <bruno@clisp.org>
53066
53067         * doc/glibc-headers/sys_ioctl.texi: New file.
53068         * doc/gnulib.texi: Include it.
53069
53070 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53071             Bruno Haible  <bruno@clisp.org>
53072
53073         Combine the two replacements of 'close'.
53074         * lib/sys_socket.in.h (close): Define to a reminder to include
53075         <unistd.h>.
53076         (_gl_close_fd_maybe_socket): New declaration.
53077         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
53078         * lib/winsock.c (close): Remove undefinition.
53079         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
53080         needed for the gnulib module 'close'.
53081         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
53082         define to an error symbol or to a warning, if suitable.
53083         * lib/close.c: Include <sys/socket.h>.
53084         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
53085         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
53086         UNISTD_H_HAVE_WINSOCK2_H.
53087         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
53088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53089         UNISTD_H_HAVE_WINSOCK2_H.
53090         * modules/sys_socket (Files): Add m4/unistd_h.m4.
53091         (configure.ac): Set a module indicator.
53092         (Makefile.am): Substitute GNULIB_CLOSE.
53093         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
53094         * modules/poll-tests (Depends-on): Add close.
53095         * modules/select-tests (Depends-on): Likewise.
53096
53097 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53098             Bruno Haible  <bruno@clisp.org>
53099
53100         New module 'close'.
53101         * modules/close: New file.
53102         * lib/unistd.in.h (close): Move declaration out of the
53103         FCHDIR_REPLACEMENT scope.
53104         (_gl_unregister_fd): New declaration.
53105         * lib/close.c: New file.
53106         * lib/fchdir.c (rpl_close): Remove function.
53107         * m4/close.m4: New file.
53108         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53109         close.
53110         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
53111         REPLACE_CLOSE.
53112         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
53113         REPLACE_CLOSE.
53114         * modules/fchdir (Depends-on): Add close.
53115
53116 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53117             Bruno Haible  <bruno@clisp.org>
53118
53119         * lib/fcntl.in.h (open): Simplify conditionals.
53120         (_gl_register_fd): New declaration.
53121         * lib/fchdir.c (rpl_open): Remove function.
53122         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
53123         also.
53124         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
53125         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53126         open.
53127
53128 2008-10-09  Jim Meyering  <meyering@redhat.com>
53129
53130         GNUmakefile: use the more name-space-friendly "_version"
53131         * top/GNUmakefile (_dummy): Update.
53132         (_version): Rename from "version".
53133
53134 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53135             Bruno Haible  <bruno@clisp.org>
53136
53137         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
53138         rpl_close.
53139         (_gl_register_fd): New function, extracted from rpl_open.
53140         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
53141         (rpl_open, rpl_opendir): Use _gl_register_fd.
53142
53143 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53144
53145         Fix organization of 'open' replacement.
53146         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
53147         (gl_FUNC_OPEN): Use it.
53148         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
53149
53150 2008-10-08  Bruno Haible  <bruno@clisp.org>
53151
53152         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
53153
53154 2008-10-08  Simon Josefsson  <simon@josefsson.org>
53155
53156         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
53157         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
53158         listen).
53159
53160 2008-10-08  Eric Blake  <ebb9@byu.net>
53161
53162         GNUmakefile: add 'make version' target
53163         * top/GNUmakefile (_curr-ver): Split version update rules...
53164         (version): ...into a target.
53165
53166 2008-10-07  Bruno Haible  <bruno@clisp.org>
53167
53168         Use a more portable replacement expression for -0.0L.
53169         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
53170         instead of -0.0L. Fix m4 quotation.
53171
53172         * tests/test-signbit.c: Include <float.h>.
53173         (minus_zero): New variable.
53174         (test_signbitl): Use minus_zero instead of -zero.
53175         * modules/signbit-tests (Depends-on): Add float.
53176
53177         * tests/test-ceill.c: Include <float.h>.
53178         (zero): Remove variable.
53179         (minus_zero): New variable.
53180         (main): Use minus_zero instead of -zero.
53181         * modules/ceill-tests (Depends-on): Add float.
53182
53183         * tests/test-floorl.c: Include <float.h>.
53184         (zero): Remove variable.
53185         (minus_zero): New variable.
53186         (main): Use minus_zero instead of -zero.
53187         * modules/floorl-tests (Depends-on): Add float.
53188
53189         * tests/test-roundl.c: Include <float.h>.
53190         (zero): Remove variable.
53191         (minus_zero): New variable.
53192         (main): Use minus_zero instead of -zero.
53193         * modules/roundl-tests (Depends-on): Add float.
53194
53195         * tests/test-truncl.c: Include <float.h>.
53196         (zero): Remove variable.
53197         (minus_zero): New variable.
53198         (main): Use minus_zero instead of -zero.
53199         * modules/truncl-tests (Depends-on): Add float.
53200
53201         * tests/test-frexpl.c (zero): Remove variable.
53202         (minus_zero): New variable.
53203         (main): Use minus_zero instead of -zero.
53204         * modules/frexpl-tests (Depends-on): Add float.
53205
53206         * tests/test-isnan.c (zerol): Remove variable.
53207         (minus_zerol): New variable.
53208         (test_long_double): Use minus_zerol instead of -zerol.
53209         * modules/isnan-tests (Depends-on): Add float.
53210
53211         * tests/test-isnanl.h (zero): Remove variable.
53212         (minus_zero): New variable.
53213         (main): Use minus_zero instead of -zero.
53214         * modules/isnanl-nolibm-tests (Depends-on): Add float.
53215         * modules/isnanl-tests (Depends-on): Add float.
53216
53217         * tests/test-ldexpl.c (zero): Remove variable.
53218         (minus_zero): New variable.
53219         (main): Use minus_zero instead of -zero.
53220         * modules/ldexpl-tests (Depends-on): Add float.
53221
53222         * tests/test-snprintf-posix.h (zerol): Remove variable.
53223         (minus_zerol): New variable.
53224         (test_function): Use minus_zerol instead of -zerol.
53225         * modules/snprintf-posix-tests (Depends-on): Add float.
53226         * modules/vsnprintf-posix-tests (Depends-on): Add float.
53227
53228         * tests/test-sprintf-posix.h (zerol): Remove variable.
53229         (minus_zerol): New variable.
53230         (test_function): Use minus_zerol instead of -zerol.
53231         * modules/sprintf-posix-tests (Depends-on): Add float.
53232         * modules/vsprintf-posix-tests (Depends-on): Add float.
53233
53234         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
53235         (minus_zerol): New variable.
53236         (test_function): Use minus_zerol instead of -zerol.
53237         * modules/vasnprintf-posix-tests (Depends-on): Add float.
53238
53239         * tests/test-vasprintf-posix.c (zerol): Remove variable.
53240         (minus_zerol): New variable.
53241         (test_function): Use minus_zerol instead of -zerol.
53242         * modules/vasprintf-posix-tests (Depends-on): Add float.
53243
53244 2008-10-07  Simon Josefsson  <simon@josefsson.org>
53245
53246         * MODULES.html.sh (Support for building documentation): Mention
53247         pmccabe2html.  Sort entries.
53248
53249         Add pmccabe2html module, from gnupdf.
53250         * build-aux/pmccabe.css: New file.
53251         * build-aux/pmccabe2html: New file.
53252         * m4/pmccabe2html.m4: New file.
53253         * modules/pmccabe2html: New file.
53254
53255 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
53256
53257         flock: new module
53258         * MODULES.html.sh: Add to list of modules.
53259         * lib/flock.c: flock implementation for Windows and Unix systems
53260         which have fcntl.
53261         * doc/glibc-functions/flock.texi: Update documentation.
53262         * lib/sys_file.in.h: <sys/file.h> header file.
53263         * m4/flock.m4: M4 macros.
53264         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
53265         * modules/flock: flock module.
53266         * modules/flock-tests: flock tests module.
53267         * modules/sys_file: sys/file.h module.
53268         * tests/test-flock.c: test suite for flock.
53269
53270 2008-10-06  Jim Meyering  <meyering@redhat.com>
53271
53272         bootstrap: check for LT_INIT more portably still ;-)
53273         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
53274         Spotted by Bruno Haible.
53275
53276 2008-10-06  Eric Blake  <ebb9@byu.net>
53277
53278         test-signbit: avoid tripping Irix cc bug on -0.0L
53279         * tests/test-signbit.c (minus_zerol): Delete, and replace with
53280         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
53281         entire testsuite consistent and avoids an Irix 6.2 bug.
53282
53283 2008-10-05  Bruno Haible  <bruno@clisp.org>
53284             Jim Meyering  <jim@meyering.net>
53285
53286         Add an option for ignoring EPIPE during close_stdout.
53287         * lib/closeout.h: Include <stdbool.h>.
53288         (close_stdout_set_ignore_EPIPE): New declaration.
53289         * lib/closeout.c: Include <stdbool.h>.
53290         (ignore_EPIPE): New variable.
53291         (close_stdout_set_ignore_EPIPE): New function.
53292         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
53293         * lib/close-stream.c (close_stream): Mention the possible EPIPE
53294         failure.
53295         * modules/closeout (Depends-on): Add stdbool.
53296
53297 2008-10-05  Bruno Haible  <bruno@clisp.org>
53298
53299         * modules/accept: New file.
53300         * modules/bind: New file.
53301         * modules/connect: New file.
53302         * modules/getpeername: New file.
53303         * modules/getsockname: New file.
53304         * modules/getsockopt: New file.
53305         * modules/listen: New file.
53306         * modules/recv: New file.
53307         * modules/recvfrom: New file.
53308         * modules/send: New file.
53309         * modules/sendto: New file.
53310         * modules/setsockopt: New file.
53311         * modules/socket: New file.
53312         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
53313         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
53314         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
53315         the particular module is requested. Add a link warning when the
53316         particular module is not requested.
53317         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
53318         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
53319         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
53320         the particular module is requested.
53321         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
53322         gl_SYS_SOCKET_H_DEFAULTS): New macros.
53323         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
53324         * modules/sys_socket (Depends-on): Add link-warning.
53325         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
53326         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
53327         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
53328         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
53329         GL_LINK_WARNING.
53330         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
53331         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
53332         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
53333         * doc/posix-functions/getpeername.texi: Mention the new module
53334         'getpeername'.
53335         * doc/posix-functions/getsockname.texi: Mention the new module
53336         'getsockname'.
53337         * doc/posix-functions/getsockopt.texi: Mention the new module
53338         'getsockopt'.
53339         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
53340         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
53341         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
53342         * doc/posix-functions/send.texi: Mention the new module 'send'.
53343         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
53344         * doc/posix-functions/setsockopt.texi: Mention the new module
53345         'setsockopt'.
53346         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
53347         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
53348         listen, connect, accept.
53349         * modules/select-tests (Depends-on): Likewise.
53350
53351 2008-10-05  Bruno Haible  <bruno@clisp.org>
53352
53353         * lib/winsock.c (strerror): Remove unused #undef.
53354         (rpl_close): Remove unused local variable.
53355
53356         * modules/sys_socket (Depends-on); Add errno.
53357
53358 2008-10-05  Bruno Haible  <bruno@clisp.org>
53359
53360         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
53361         (select): Add a link warning when the 'select' module is not used.
53362         * modules/sys_select (Depends-on): Add link-warning.
53363         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
53364         Suggested by Paolo Bonzini.
53365
53366 2008-10-05  Jim Meyering  <meyering@redhat.com>
53367
53368         bootstrap: check for LT_INIT more portably
53369         * build-aux/bootstrap: Avoid using grep -E, since it's not
53370         portable enough.  Suggestion from Bruno Haible.
53371
53372 2008-10-05  Bruno Haible  <bruno@clisp.org>
53373
53374         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
53375         as being fixed by gnulib.
53376
53377 2008-10-05  Bruno Haible  <bruno@clisp.org>
53378
53379         * modules/select-tests: New file, mostly copied from
53380         modules/sys_select-tests.
53381         * tests/test-select.c: New file, mostly copied from
53382         tests/test-sys_select.c.
53383         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
53384         * modules/sys_select-tests (Depends-on): Remove all dependencies.
53385         (Makefile.am): Remove test_sys_select_LDADD.
53386
53387         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
53388         to an undefined symbol, for an error message.
53389         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
53390         (gl_SYS_SELECT_H_DEFAULTS): New macro.
53391         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
53392         winsock-select.c here.
53393         * modules/sys_select (Files): Remove lib/winsock-select.c.
53394         (Depends-on): Remove alloca.
53395         (Makefile.am): Substitute GNULIB_SELECT.
53396         * modules/select: New file.
53397         * doc/posix-functions/select.texi: Update.
53398
53399 2008-10-05  Bruno Haible  <bruno@clisp.org>
53400
53401         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
53402         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
53403         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
53404         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
53405         getdtablesize.
53406         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
53407         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
53408
53409 2008-10-05  Bruno Haible  <bruno@clisp.org>
53410
53411         * modules/getdtablesize-tests: New file.
53412         * tests/test-getdtablesize.c: New file.
53413
53414         New module 'getdtablesize'.
53415         * lib/unistd.in.h (getdtablesize): New declaration.
53416         * lib/getdtablesize.c: New file.
53417         * m4/getdtablesize.m4: New file.
53418         * modules/getdtablesize: New file.
53419         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53420         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
53421         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
53422         HAVE_GETDTABLESIZE.
53423         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
53424
53425 2008-10-05  Bruno Haible  <bruno@clisp.org>
53426
53427         * modules/sched (Makefile.am): Fix typo.
53428         Reported by Simon Josefsson.
53429
53430 2008-10-05  Jim Meyering  <meyering@redhat.com>
53431
53432         bootstrap: check for LT_INIT, too
53433         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
53434         are deprecated.  Suggestion from Ralf Wildenhues.
53435
53436 2008-10-05  Bruno Haible  <bruno@clisp.org>
53437
53438         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
53439         overriding them by ours.
53440         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
53441
53442 2008-10-05  Jim Meyering  <meyering@redhat.com>
53443
53444         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
53445         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
53446         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
53447
53448 2008-10-04  Bruno Haible  <bruno@clisp.org>
53449
53450         * modules/dup2 (License): Change to LGPLv2+.
53451         * modules/sleep (License): Likewise.
53452         * modules/perror (License): Likewise.
53453         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
53454         Blake.
53455         * modules/signal (License): Likewise.
53456         * modules/sigprocmask (License): Likewise.
53457         * modules/raise (License): Change to LGPLv2+, with approval by Jim
53458         Meyering.
53459
53460 2008-10-04  Bruno Haible  <bruno@clisp.org>
53461
53462         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
53463         Reported by Rainer Tammer <tammer@tammer.net>.
53464
53465 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
53466             Bruno Haible  <bruno@clisp.org>
53467
53468         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
53469         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
53470         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
53471
53472 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
53473
53474         filevercmp: new module
53475         * lib/filevercmp.h: New function filevercmp comparing version strings.
53476         * lib/filevercmp.c: Implementation of filevercmp function.
53477         * modules/filevercmp: Module metadata.
53478         * tests/test-filevercmp.c: Unit test for new module.
53479         * modules/filevercmp-tests: Unit test metadata.
53480         * MODULES.html.sh: Add filevercmp module.
53481
53482 2008-10-03  Bruno Haible  <bruno@clisp.org>
53483
53484         * lib/c-ctype.h: Add comment.
53485         Reported by Jim Meyering.
53486
53487 2008-10-02  Bruno Haible  <bruno@clisp.org>
53488
53489         * modules/posix_spawn-internal (Depends-on): Add 'open'.
53490
53491 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53492
53493         * build-aux/bootstrap: Allow renaming bootstrap, and change the
53494         name of bootstrap.conf accordingly.
53495
53496 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53497
53498         * build-aux/bootstrap: Install git-merge-changelog configuration
53499         items into .gitconfig if needed.
53500
53501 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53502
53503         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
53504         git repository, and initialize/update it accordingly.
53505
53506 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
53507
53508         * modules/fsync-tests: New file.
53509         * tests/test-fsync.c: New file.
53510
53511         New module 'fsync'.
53512         * lib/fsync.c: New file.
53513         * m4/fsync.m4: New file.
53514         * modules/fsync: New file.
53515         * lib/unistd.in.h (fsync): New declaration.
53516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
53517         GNULIB_FSYNC and HAVE_FSYNC.
53518         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
53519         * MODULES.html.sh (posix_functions): Add fsync.
53520         * doc/posix-functions/fsync.texi: Mention the new module.
53521
53522 2008-10-02  Jim Meyering  <meyering@redhat.com>
53523
53524         fts.c: sync with similar code from coreutils' remove.c
53525         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
53526         Guard also with "#if defined __linux__", since for now at least,
53527         this code is Linux-kernel-specific.
53528
53529 2008-10-02  Jim Meyering  <meyering@redhat.com>
53530
53531         fts: bug fixes
53532         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
53533         Include <sys/vfs.h>, not <sys/statfs.h>.
53534
53535         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
53536         Include <sys/vfs.h>, not <sys/statfs.h>.
53537
53538 2008-10-01  Bruno Haible  <bruno@clisp.org>
53539
53540         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
53541         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
53542         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
53543         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
53544         * doc/posix-functions/posix_spawnp.texi: Likewise.
53545         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
53546         whether posix_spawn actually works.
53547         * m4/pipe.m4 (gl_PIPE): Likewise.
53548         * modules/execute (Files): Add m4/posix_spawn.m4.
53549         * modules/pipe (Files): Add m4/posix_spawn.m4.
53550         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
53551
53552 2008-10-01  Jim Meyering  <meyering@redhat.com>
53553
53554         remove trailing spaces
53555         * NEWS: Likewise.
53556         * lib/poll.c (poll): Likewise.
53557         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
53558         * lib/winsock.c (rpl_close): Likewise.
53559         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
53560         * modules/yield: Likewise.
53561         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
53562         * tests/test-sys_select.c (connect_to_socket): Likewise.
53563
53564         fts.c: adjust a new interface to be more generally useful
53565         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
53566         (fts_build): Adjust caller.
53567
53568 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53569
53570         * modules/cond-tests: New file.
53571         * tests/test-cond.c: New file.
53572
53573 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53574             Bruno Haible  <bruno@clisp.org>
53575
53576         * modules/cond (Dependencies): Add errno, time.
53577         * lib/glthread/cond.h: Include <time.h>.
53578         (gl_cond_define, gl_cond_define_initialized): Use the same definition
53579         across platforms.
53580
53581 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53582             Bruno Haible  <bruno@clisp.org>
53583
53584         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
53585
53586 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53587             Bruno Haible  <bruno@clisp.org>
53588
53589         * modules/tls-tests (Depends-on): Add thread, yield.
53590         (configure.ac): Remove all checks.
53591         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
53592         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53593         gl_thread_self): Remove definitions. Include glthread/thread.h and
53594         glthread/yield.h instead.
53595         (test_tls): Pass an additional NULL argument to gl_thread_join.
53596
53597 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53598             Bruno Haible  <bruno@clisp.org>
53599
53600         * modules/lock-tests (Depends-on): Add thread, yield.
53601         (configure.ac): Remove all checks.
53602         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
53603         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53604         gl_thread_self): Remove definitions. Include glthread/thread.h and
53605         glthread/yield.h instead.
53606         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
53607         additional NULL argument to gl_thread_join.
53608
53609 2008-09-30  Bruno Haible  <bruno@clisp.org>
53610
53611         Fix the Win32 implementation of the 'thread' module.
53612         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
53613         pointer type.
53614         (gl_thread_self): Invoke gl_thread_self_func.
53615         (gl_thread_self_func): New declaration.
53616         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
53617         (do_init_self_key, init_self_key): New functions.
53618         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
53619         Remove some fields.
53620         (running_threads, running_lock): Remove variables.
53621         (get_current_thread_handle): New function.
53622         (gl_thread_self_func, wrapper_func, glthread_create_func,
53623         glthread_join_func, gl_thread_exit_func): Largely rewritten and
53624         simplified.
53625
53626 2008-09-30  Bruno Haible  <bruno@clisp.org>
53627
53628         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
53629         files.
53630
53631 2008-09-30  Jim Meyering  <meyering@redhat.com>
53632
53633         fts.m4: correct the test for statfs.f_type
53634         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
53635         when checking for statfs.f_type.
53636
53637 2008-09-15  Simon Josefsson  <simon@josefsson.org>
53638
53639         tests: avoid some compiler warnings
53640         * tests/test-memchr.c (main): Pass NULL indirectly.
53641         * tests/test-getdate.c (main): Remove unused variable 'ret'.
53642
53643 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
53644
53645         getdate.y: disallow countable dayshifts like "4 yesterday ago"
53646         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
53647         exactly specified dayshifts.
53648         (dayshift): New rule.
53649         (rel): Add dayshift.
53650         (relative_time_table) [tomorrow, yesterday, today, now]:
53651         Use tDAY_SHIFT in place of tDAY_UNIT.
53652         * tests/test-getdate.c: Add tests for now-disallowed countable
53653         dayshifts, e.g., "4 yesterday ago".
53654
53655 2008-09-29  Bruno Haible  <bruno@clisp.org>
53656
53657         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
53658         * tests/test-posix_spawn1.in.sh: Renamed from
53659         tests/test-posix_spawn.in.sh.
53660         * tests/test-posix_spawn2.c: New file.
53661         * tests/test-posix_spawn2.in.sh: New file.
53662         * modules/posix_spawnp-tests (Files): Update.
53663         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
53664
53665 2008-09-29  Bruno Haible  <bruno@clisp.org>
53666
53667         Propagate effects of putenv/setenv/unsetenv to child processes.
53668         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
53669         * lib/pipe.c (create_pipe): Likewise.
53670
53671 2008-09-29  Bruno Haible  <bruno@clisp.org>
53672
53673         Enable use of shell scripts as executables in mingw.
53674         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
53675         run the program as a shell script.
53676         * lib/pipe.c (create_pipe): Likewise.
53677         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
53678         resulting array.
53679
53680 2008-09-29  Eric Blake  <ebb9@byu.net>
53681
53682         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
53683
53684 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
53685
53686         * doc/posix-functions/accept.texi: Update mingw problems.
53687         * doc/posix-functions/bind.texi: Update mingw problems.
53688         * doc/posix-functions/close.texi: Update mingw problems.
53689         * doc/posix-functions/connect.texi: Update mingw problems.
53690         * doc/posix-functions/getpeername.texi: Update mingw problems.
53691         * doc/posix-functions/getsockname.texi: Update mingw problems.
53692         * doc/posix-functions/getsockopt.texi: Update mingw problems.
53693         * doc/posix-functions/ioctl.texi: Update mingw problems.
53694         * doc/posix-functions/listen.texi: Update mingw problems.
53695         * doc/posix-functions/recv.texi: Update mingw problems.
53696         * doc/posix-functions/recvfrom.texi: Update mingw problems.
53697         * doc/posix-functions/select.texi: Update mingw problems.
53698         * doc/posix-functions/send.texi: Update mingw problems.
53699         * doc/posix-functions/sendto.texi: Update mingw problems.
53700         * doc/posix-functions/setsockopt.texi: Update mingw problems.
53701         * doc/posix-functions/socket.texi: Update mingw problems.
53702
53703 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
53704             Bruno Haible  <bruno@clisp.org>
53705
53706         * lib/sys_select.in.h: Include sys/time.h.
53707         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
53708         * modules/sys_select: Depend on sys_time.
53709         * tests/test-sys_select.c: Test that sys/select.h defines struct
53710         timeval fully.
53711
53712 2008-09-29  Bruno Haible  <bruno@clisp.org>
53713
53714         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
53715         * lib/sys_select.in.h: Likewise.
53716
53717 2008-09-29  Bruno Haible  <bruno@clisp.org>
53718
53719         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
53720
53721 2008-09-29  Bruno Haible  <bruno@clisp.org>
53722
53723         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
53724         Set LIBSOCKET instead of augmenting LIBS.
53725         * modules/sockets (Link): New section.
53726         * modules/sockets-tests (test_sockets_LDADD): New variable.
53727         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
53728         * modules/poll-tests (test_poll_LDADD): New variable.
53729         * NEWS: Document the change.
53730
53731 2008-09-29  Bruno Haible  <bruno@clisp.org>
53732
53733         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
53734         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
53735         ARPA_INET_H directly.
53736         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53737
53738 2008-09-28  Bruno Haible  <bruno@clisp.org>
53739
53740         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
53741         from gl_HEADER_SYS_SOCKET.
53742         (gl_HEADER_SYS_SOCKET): Invoke it.
53743         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53744
53745 2008-09-28  Bruno Haible  <bruno@clisp.org>
53746
53747         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
53748         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
53749         Needed on OSF/1 4.0.
53750
53751 2008-09-28  Bruno Haible  <bruno@clisp.org>
53752
53753         Override open more carefully.
53754         * lib/open.c (orig_open): New function.
53755         (rpl_open): Use orig_open instead of open.
53756         * lib/fcntl.in.h: Add special invocation convention.
53757         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
53758         (gl_FUNC_OPEN): Invoke it.
53759
53760         Override freopen more carefully.
53761         * lib/freopen.c (orig_freopen): New function.
53762         (rpl_freopen): Use orig_freopen instead of freopen.
53763         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
53764         (gl_FUNC_FREOPEN): Invoke it.
53765
53766         Override fopen more carefully.
53767         * lib/fopen.c (orig_fopen): New function.
53768         (rpl_fopen): Use orig_fopen instead of fopen.
53769         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
53770         (gl_FUNC_FOPEN): Invoke it.
53771         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
53772
53773 2008-09-28  Bruno Haible  <bruno@clisp.org>
53774
53775         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
53776         SIGPIPE.
53777
53778 2008-09-28  Bruno Haible  <bruno@clisp.org>
53779
53780         * tests/test-sigaction.c (handler, main): Disable the check whether
53781         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
53782         glibc systems with LinuxThreads.
53783
53784 2008-09-28  Bruno Haible  <bruno@clisp.org>
53785
53786         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
53787
53788         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
53789         with AIX xlc.
53790         * lib/fcntl.in.h (open): Likewise.
53791         Reported by Rainer Tammer <tammer@tammer.net>.
53792
53793 2008-09-28  Bruno Haible  <bruno@clisp.org>
53794
53795         * modules/posix_spawnp-tests: New file.
53796         * tests/test-posix_spawn.c: New file.
53797         * tests/test-posix_spawn.in.sh: New file.
53798
53799         New module 'posix_spawnp'.
53800         * modules/posix_spawnp: New file.
53801         * lib/spawnp.c: New file, from GNU libc with modifications.
53802         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
53803
53804         New module 'posix_spawn'.
53805         * modules/posix_spawn: New file.
53806         * lib/spawn.c: New file, from GNU libc with modifications.
53807         * doc/posix-functions/posix_spawn.texi: Mention the new module.
53808
53809         New module 'posix_spawnattr_destroy'.
53810         * modules/posix_spawnattr_destroy: New file.
53811         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
53812         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
53813         module.
53814
53815         New module 'posix_spawnattr_setsigmask'.
53816         * modules/posix_spawnattr_setsigmask: New file.
53817         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
53818         modifications.
53819         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
53820         new module.
53821
53822         New module 'posix_spawnattr_getsigmask'.
53823         * modules/posix_spawnattr_getsigmask: New file.
53824         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
53825         modifications.
53826         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
53827         new module.
53828
53829         New module 'posix_spawnattr_setsigdefault'.
53830         * modules/posix_spawnattr_setsigdefault: New file.
53831         * lib/spawnattr_setdefault.c: New file, from GNU libc with
53832         modifications.
53833         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
53834         new module.
53835
53836         New module 'posix_spawnattr_getsigdefault'.
53837         * modules/posix_spawnattr_getsigdefault: New file.
53838         * lib/spawnattr_getdefault.c: New file, from GNU libc with
53839         modifications.
53840         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
53841         new module.
53842
53843         New module 'posix_spawnattr_setschedpolicy'.
53844         * modules/posix_spawnattr_setschedpolicy: New file.
53845         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
53846         modifications.
53847         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
53848         new module.
53849
53850         New module 'posix_spawnattr_getschedpolicy'.
53851         * modules/posix_spawnattr_getschedpolicy: New file.
53852         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
53853         modifications.
53854         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
53855         new module.
53856
53857         New module 'posix_spawnattr_setschedparam'.
53858         * modules/posix_spawnattr_setschedparam: New file.
53859         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
53860         modifications.
53861         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
53862         new module.
53863
53864         New module 'posix_spawnattr_getschedparam'.
53865         * modules/posix_spawnattr_getschedparam: New file.
53866         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
53867         modifications.
53868         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
53869         new module.
53870
53871         New module 'posix_spawnattr_setpgroup'.
53872         * modules/posix_spawnattr_setpgroup: New file.
53873         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
53874         modifications.
53875         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
53876         module.
53877
53878         New module 'posix_spawnattr_getpgroup'.
53879         * modules/posix_spawnattr_getpgroup: New file.
53880         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
53881         modifications.
53882         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
53883         module.
53884
53885         New module 'posix_spawnattr_setflags'.
53886         * modules/posix_spawnattr_setflags: New file.
53887         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
53888         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
53889         module.
53890
53891         New module 'posix_spawnattr_getflags'.
53892         * modules/posix_spawnattr_getflags: New file.
53893         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
53894         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
53895         module.
53896
53897         New module 'posix_spawnattr_init'.
53898         * modules/posix_spawnattr_init: New file.
53899         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
53900         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
53901         module.
53902
53903         New module 'posix_spawn_file_actions_destroy'.
53904         * modules/posix_spawn_file_actions_destroy: New file.
53905         * lib/spawn_faction_destroy.c: New file, from GNU libc with
53906         modifications.
53907         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
53908         the new module.
53909
53910         New module 'posix_spawn_file_actions_addopen'.
53911         * modules/posix_spawn_file_actions_addopen: New file.
53912         * lib/spawn_faction_addopen.c: New file, from GNU libc with
53913         modifications.
53914         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
53915         the new module.
53916
53917         New module 'posix_spawn_file_actions_adddup2'.
53918         * modules/posix_spawn_file_actions_adddup2: New file.
53919         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
53920         modifications.
53921         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
53922         the new module.
53923
53924         New module 'posix_spawn_file_actions_addclose'.
53925         * modules/posix_spawn_file_actions_addclose: New file.
53926         * lib/spawn_faction_addclose.c: New file, from GNU libc with
53927         modifications.
53928         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
53929         the new module.
53930
53931         New module 'posix_spawn_file_actions_init'.
53932         * modules/posix_spawn_file_actions_init: New file.
53933         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
53934         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
53935         new module.
53936
53937         New module 'posix_spawn-internal'.
53938         * modules/posix_spawn-internal: New file.
53939         * lib/spawn_int.h: New file, from GNU libc with modifications.
53940         * lib/spawni.c: New file, from GNU libc with modifications.
53941         * m4/posix_spawn.m4: New file.
53942
53943         New module 'spawn'.
53944         * modules/spawn: New file.
53945         * lib/spawn.in.h: New file, from GNU libc with modifications.
53946         * m4/spawn_h.m4: New file.
53947         * doc/posix-headers/spawn.texi: Mention the new module.
53948
53949 2008-09-28  Bruno Haible  <bruno@clisp.org>
53950
53951         * modules/sched-tests: New file.
53952         * tests/test-sched.c: New file.
53953
53954         New module 'sched'.
53955         * modules/sched: New file.
53956         * lib/sched.in.h: New file.
53957         * m4/sched_h.m4: New file.
53958         * doc/posix-headers/sched.texi: Mention the new module.
53959
53960 2008-09-27  Eric Blake  <ebb9@byu.net>
53961
53962         Fix previous patch, and tweak references to $0.
53963         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
53964         (func_version, func_gnulib_dir): Don't call this program
53965         gnulib-tool.
53966         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
53967         with using $0 in function.
53968         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
53969         (func_fatal_error): Reuse the name the user invoked us with.
53970
53971 2008-09-27  Bruno Haible  <bruno@clisp.org>
53972
53973         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
53974         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
53975         (gl_ICONV_H): Not here.
53976         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
53977         instead of assigning ICONV_H directly.
53978
53979         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
53980         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
53981         WCHAR_H directly.
53982
53983 2008-09-27  Bruno Haible  <bruno@clisp.org>
53984
53985         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
53986         * modules/arpa_inet (Depends-on): Add link-warning.
53987         (Makefile.am): Insert the definition of GL_LINK-WARNING.
53988         * modules/unistd (Makefile.am): Likewise.
53989
53990 2008-09-26  Bruno Haible  <bruno@clisp.org>
53991
53992         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
53993         variables.
53994         (func_version): Essentially copied from gnulib-tool.
53995         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
53996         func_readlink): Copied from gnulib-tool.
53997
53998 2008-09-26  Bruno Haible  <bruno@clisp.org>
53999
54000         * gnulib-tool (func_version): Change directory to $gnulib_dir before
54001         invoking git-version-gen.
54002
54003 2008-09-26  Bruno Haible  <bruno@clisp.org>
54004
54005         * posix-modules: Update to directory names changed on 2008-01-19.
54006         Remove commas in output before splitting into words. No more need to
54007         avoid 'ftruncate' since 2007-02-19.
54008
54009 2008-09-26  Bruno Haible  <bruno@clisp.org>
54010
54011         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
54012
54013 2008-09-26  Bruno Haible  <bruno@clisp.org>
54014
54015         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
54016         * modules/fwriteerror (Depends-on): Add errno.
54017
54018 2008-09-26  Bruno Haible  <bruno@clisp.org>
54019
54020         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
54021         * tests/test-vc-list-files-cvs.sh: Likewise.
54022
54023 2008-09-26  Bruno Haible  <bruno@clisp.org>
54024
54025         * doc/posix-headers/sys_resource.texi: Reorder items.
54026
54027 2008-09-26  Jim Meyering  <meyering@redhat.com>
54028
54029         fts: tweak inode comparison function
54030         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
54031         inode numbers, as documented.
54032
54033         fts: sort dirent entries on inode number before traversing
54034         This avoids a quadratic, seek-related performance penalty when
54035         operating on a directory containing many entries (measurable at 10k;
54036         3.5 hours at 2 million entries with a cold cache) on certain types
54037         of file systems, including ext3 and ext4, but not tmpfs.
54038         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
54039         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
54040         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
54041         (fs_handles_readdir_ordered_dirents_efficiently): New function.
54042         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
54043         (fts_build): Set the stat.st_ino member from D_INO.
54044         If it is likely to be useful, sort dirent entries on inode number.
54045
54046         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
54047         and the struct statfs.f_type member.
54048         * modules/fts (Depends-on): Add d-ino.
54049
54050 2008-09-26  Bruno Haible  <bruno@clisp.org>
54051
54052         * modules/sigpipe-die (Depends-on): Add sigpipe.
54053
54054         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
54055         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
54056         and GNULIB_STDIO_H_SIGPIPE are set.
54057         * lib/stdio-write.c: New file.
54058         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
54059         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54060         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54061         REPLACE_STDIO_WRITE_FUNCS.
54062         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
54063         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54064         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54065         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54066         * modules/stdio (Files): Add lib/stdio-write.c.
54067         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
54068         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54069         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54070         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54071         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
54072         REPLACE_FPRINTF_POSIX.
54073         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
54074         REPLACE_PRINTF_POSIX.
54075         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
54076         REPLACE_VFPRINTF_POSIX.
54077         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
54078         REPLACE_VPRINTF_POSIX.
54079         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
54080         SIGPIPE issue.
54081         * doc/posix-functions/fputc.texi: Likewise.
54082         * doc/posix-functions/fputs.texi: Likewise.
54083         * doc/posix-functions/fwrite.texi: Likewise.
54084         * doc/posix-functions/printf.texi: Likewise.
54085         * doc/posix-functions/putc.texi: Likewise.
54086         * doc/posix-functions/putchar.texi: Likewise.
54087         * doc/posix-functions/puts.texi: Likewise.
54088         * doc/posix-functions/vfprintf.texi: Likewise.
54089         * doc/posix-functions/vprintf.texi: Likewise.
54090
54091         * modules/safe-write (Depends-on): Add write.
54092
54093         * modules/sigpipe-tests: New file.
54094         * tests/test-sigpipe.c: New file.
54095         * tests/test-sigpipe.sh: New file.
54096
54097         * modules/write: New file.
54098         * lib/unistd.in.h: Include <sys/types.h>.
54099         (write): New declaration.
54100         * lib/write.c: New file.
54101         * m4/write.m4: New file.
54102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54103         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
54104         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
54105         GNULIB_WRITE, REPLACE_WRITE.
54106         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
54107         and the SIGPIPE issue.
54108
54109         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
54110         (raise): New declaration.
54111         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
54112         (ext_signal): New function.
54113         (rpl_raise): New function.
54114         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
54115         GNULIB_SIGNAL_H_SIGPIPE.
54116         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
54117         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
54118
54119         * modules/sigpipe: New file.
54120         * m4/sigpipe.m4: New file.
54121
54122 2008-09-25  Derek Price  <derek@ximbiot.com>
54123             Bruno Haible  <bruno@clisp.org>
54124
54125         * gnulib-tool (func_import): Report all license incompatibilities, not
54126         just the first one.
54127
54128 2008-09-25  Bruno Haible  <bruno@clisp.org>
54129
54130         * gnulib-tool (func_import): When computing the edits, consider not
54131         only the Makefile.ams that exist but also those that will be generated.
54132
54133 2008-09-25  Simon Josefsson  <simon@josefsson.org>
54134
54135         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
54136         fixes gnulib-tool --test warning about duplicate dependency.
54137
54138 2008-09-25  Bruno Haible  <bruno@clisp.org>
54139
54140         * gnulib-tool: Don't ask the user to perform edits in the generated
54141         Makefile.ams.
54142         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
54143         apply to the Makefile.am being generated.
54144         (func_emit_tests_Makefile_am): Execute edits that apply to the
54145         Makefile.am being generated.
54146         (func_import): Setup list of Makefile.am edits before emitting the
54147         Makefile.ams, not at the end.
54148         (func_create_testdir): Update.
54149         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54150
54151 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54152
54153         * gnulib-tool (func_import): Store the --tests-base option in the
54154         comment in gnulib-cache.m4.
54155
54156 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
54157
54158         * NEWS: Document increased portability that sys_select now provides.
54159
54160         * lib/sys_select.in.h: Install select wrapper.
54161         * lib/sys_socket.in.h: Use more descriptive name when there is no
54162         select wrapper.
54163         * lib/winsock-select.c: New.
54164         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
54165         Require gl_HEADER_SYS_SOCKET.
54166         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
54167         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
54168         * tests/test-sys_select.c: Add functional tests.
54169
54170 2008-09-24  Eric Blake  <ebb9@byu.net>
54171
54172         open, fopen: close fd leak in last patch
54173         * lib/open.c (rpl_open): Close fd before returning error.
54174         * lib/fopen.c (rpl_fopen): Close fd before returning error.
54175         * doc/posix-functions/open.texi (open): Document that Irix also
54176         has the bug.
54177         * doc/posix-functions/fopen.texi (fopen): Likewise.
54178         Reported by Paolo Bonzini.
54179
54180 2008-09-24  Bruno Haible  <bruno@clisp.org>
54181
54182         Ensure that a filename ending in a slash cannot be used to access a
54183         non-directory.
54184         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
54185         to check whether it's really a directory.
54186         * lib/fopen.c: Include fcntl.h, unistd.h.
54187         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
54188         and fdopen().
54189         * modules/fopen (Depends-on): Add unistd.
54190         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
54191         * tests/test-fopen.c (main): Likewise.
54192         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
54193         * doc/posix-functions/fopen.texi: Likewise.
54194         Reported by Eric Blake.
54195
54196 2008-09-23  Eric Blake  <ebb9@byu.net>
54197
54198         c-stack: avoid compiler optimizations when provoking overflow
54199         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
54200         recursion harder to optimize, to ensure a stack overflow occurs.
54201         * tests/test-c-stack.c (recurse): Likewise.
54202         Borrowed from libsigsegv.
54203
54204         c-stack: work around Irix sigaltstack bug
54205         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
54206         whether sigaltstack uses wrong end of stack_t (copied in part from
54207         libsigsegv).
54208         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
54209         Irix bug, without requiring an over-allocation.
54210         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
54211         bug.
54212
54213         fopen: document mingw bug on directories
54214         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
54215         not allowing a stream visiting a directory, even though reading
54216         from such a stream is not portable.
54217
54218 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54219
54220         * lib/poll.c: Rewrite.
54221         * modules/poll: Depend on alloca.
54222
54223 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54224
54225         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
54226         instead define prototypes for a full set of wrappers.  Ensure
54227         that Cygwin does not use the compatibility code, which is only
54228         for MinGW.
54229         * lib/winsock.c: New.
54230         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
54231         * modules/sys_socket: Add lib/winsock.c.
54232
54233         * modules/poll-tests: Add errno and perror.
54234         * tests/test-poll.c: Use ioctl, not ioctlsocket.
54235
54236 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54237
54238         * tests/test-poll.c: Downgrade minimum needed Winsock version.
54239
54240 2008-09-23  Bruno Haible  <bruno@clisp.org>
54241
54242         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
54243         * doc/glibc-functions/*: Likewise.
54244
54245 2008-09-23  Simon Josefsson  <simon@josefsson.org>
54246
54247         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
54248         success.
54249
54250 2008-09-22  Eric Blake  <ebb9@byu.net>
54251             Bruno Haible  <bruno@clisp.org>
54252
54253         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
54254         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
54255         supply %A but mishandle pseudo-NaN.
54256         Reported by Simon Josefsson.
54257
54258 2008-09-21  Bruno Haible  <bruno@clisp.org>
54259
54260         * tests/test-lock.c (main): Tweak skip message.
54261         * tests/test-tls.c (main): Likewise.
54262
54263 2008-09-21  Bruno Haible  <bruno@clisp.org>
54264
54265         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
54266         whether 'struct sigaction' has sa_sigaction here...
54267         (gl_PREREQ_SIG_HANDLER_H): ... not here.
54268         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
54269
54270 2008-09-21  Bruno Haible  <bruno@clisp.org>
54271
54272         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
54273         section.
54274         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
54275         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
54276         the new section.
54277         (Support for obsolete systems lacking POSIX:2001): New section.
54278         (String handling <string.h>): Move strdup to the new section.
54279         Suggested by Simon Josefsson and Paolo Bonzini.
54280
54281 2008-09-21  Bruno Haible  <bruno@clisp.org>
54282
54283         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
54284         exponents in %e and %g results on 'long double'. Needed for mingw's
54285         improved *printf functions.
54286         * tests/test-vasprintf-posix.c (test_function): Likewise.
54287         * tests/test-snprintf-posix.h (test_function): Likewise.
54288         * tests/test-sprintf-posix.h (test_function): Likewise.
54289         Reported by Eric Blake.
54290
54291 2008-09-21  Bruno Haible  <bruno@clisp.org>
54292
54293         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
54294         * tests/test-sprintf-posix.h (test_function): Likewise.
54295
54296 2008-09-21  Bruno Haible  <bruno@clisp.org>
54297
54298         * modules/getpass (Depends-on): Add strdup-posix.
54299
54300         New module 'strdup-posix'.
54301         * modules/strdup-posix: New file.
54302         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
54303         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
54304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54305         REPLACE_STRDUP.
54306         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
54307         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
54308         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54309         strdup-posix.
54310
54311         * modules/strdup (Depends-on): Remove malloc-posix.
54312
54313 2008-09-20  Bruno Haible  <bruno@clisp.org>
54314
54315         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
54316         Wildenhues.
54317
54318 2008-09-20  Bruno Haible  <bruno@clisp.org>
54319
54320         Ensure that wint_t gets defined on IRIX 5.3.
54321         * lib/wchar.in.h (wint_t): Define if not defined by the system.
54322         * lib/wctype.in.h (wint_t): Likewise.
54323         (__wctype_wint_t): Remove type.
54324         (isw*): Use wint_t instead of __wctype_wint_t.
54325         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
54326         * modules/wchar (Files): Add m4/wint_t.m4.
54327         (Makefile.am): Substitute HAVE_WINT_T.
54328         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
54329         * tests/test-wctype.c: Check that wint_t is defined.
54330         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
54331         * doc/posix-headers/wctype.texi: Likewise.
54332         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54333
54334 2008-09-18  Bruno Haible  <bruno@clisp.org>
54335
54336         * gnulib-tool (func_exit): Update comment.
54337
54338 2008-09-18  Simon Josefsson  <simon@josefsson.org>
54339
54340         * modules/getaddrinfo (Depends-on): Remove strdup, this module
54341         assumes strdup exists and does not depend on strdup to return
54342         ENOMEM on out of memory conditions.
54343
54344 2008-09-18  Bruno Haible  <bruno@clisp.org>
54345
54346         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
54347         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
54348         digits for the exponent.
54349
54350 2008-09-18  Jim Meyering  <meyering@redhat.com>
54351             Bruno Haible  <bruno@clisp.org>
54352
54353         * lib/vasnprintf.c (decimal_point_char): Define also if
54354         NEED_PRINTF_INFINITE_LONG_DOUBLE.
54355
54356 2008-09-16  Bruno Haible  <bruno@clisp.org>
54357         and Eric Blake  <ebb9@byu.net>
54358
54359         vasnprintf: support Irix 5.3
54360         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
54361         that mishandle long double infinity.
54362         Reported by Tom G. Christensen.
54363
54364 2008-09-16  Bruno Haible  <bruno@clisp.org>
54365
54366         * doc/glibc-functions/scandir.texi: Mention the function is missing on
54367         Solaris 9.
54368         * doc/glibc-functions/alphasort.texi: Likewise.
54369         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
54370
54371 2008-09-16  Jim Meyering  <meyering@redhat.com>
54372
54373         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
54374         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
54375         a umask modification leak out of a subshell.  Otherwise, the
54376         opensolaris /bin/sh would be accepted and thus cause unwarranted
54377         failures in the coreutils test suite.
54378
54379 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
54380
54381         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
54382         to succeed.
54383
54384 2008-09-16  Jim Meyering  <meyering@redhat.com>
54385
54386         avoid spurious test failure when library is built without ACL support
54387         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
54388         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
54389         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
54390         * tests/test-copy-acl.sh: Likewise.
54391
54392 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54393
54394         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
54395         based on character occurrence counts.
54396
54397 2008-09-15  Eric Blake  <ebb9@byu.net>
54398
54399         tests: avoid some compiler warnings
54400         * tests/test-memchr.c (main): Pass NULL indirectly.
54401         * tests/test-closein.c (main): Avoid unused variable.
54402
54403 2008-09-15  Bruno Haible  <bruno@clisp.org>
54404
54405         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
54406         are missing on OpenBSD 4.0 individually.
54407         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54408
54409 2008-09-15  Bruno Haible  <bruno@clisp.org>
54410
54411         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
54412         * doc/posix-functions/strerror.texi: Mention also Cygwin.
54413         * doc/posix-functions/perror.texi: Likewise.
54414         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
54415         is missing.
54416         Reported by Eric Blake.
54417
54418         * lib/errno.in.h: Use replacement values >= 2000.
54419         Reported by Eric Blake.
54420
54421 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54422
54423         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
54424         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
54425         limit.
54426         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
54427         compareseq was aborted.
54428
54429 2008-09-14  Bruno Haible  <bruno@clisp.org>
54430
54431         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
54432         yvec_edit_count.
54433         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
54434         (fstrcmp_bounded): Simplify result computation accordingly.
54435
54436 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54437
54438         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
54439         (fstrcmp): Define in terms of fstrcmp_bounded.
54440         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
54441         lower_bound argument.
54442         Return quickly if the result is certainly < lower_bound.
54443         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
54444
54445 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54446
54447         * lib/diffseq.h (EARLY_ABORT): New macro.
54448         (compareseq): Change return type to bool. Return true when EARLY_ABORT
54449         evaluates to true.
54450
54451 2008-09-14  Bruno Haible  <bruno@clisp.org>
54452
54453         * modules/perror-tests: New file.
54454         * tests/test-perror.sh: New file.
54455         * tests/test-perror.c: New file.
54456
54457         New module 'perror'.
54458         * lib/stdio.in.h (perror): New declaration.
54459         * lib/perror.c: New file.
54460         * m4/perror.m4: New file.
54461         * modules/perror: New file.
54462         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
54463         * doc/posix-functions/perror.texi: Mention the perror module.
54464         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
54465         REPLACE_PERROR.
54466         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
54467         REPLACE_PERROR.
54468
54469 2008-09-14  Bruno Haible  <bruno@clisp.org>
54470
54471         * modules/stdio (Makefile.am): Reorder to match the order in
54472         lib/stdio.in.h.
54473         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54474
54475 2008-09-13  Bruno Haible  <bruno@clisp.org>
54476
54477         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
54478
54479 2008-09-13  Bruno Haible  <bruno@clisp.org>
54480
54481         Extend strerror to cover the added errno values.
54482         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
54483         (rpl_strerror): Provide error messages for the added errno values and
54484         for the WSA* values.
54485         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
54486         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
54487         strerror.
54488         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
54489         * modules/strerror (Depends-on): Add errno.
54490         * doc/posix-functions/strerror.texi: Document the change.
54491         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
54492         and EOVERFLOW.
54493
54494 2008-09-13  Bruno Haible  <bruno@clisp.org>
54495
54496         * modules/EOVERFLOW: Remove file.
54497         * m4/eoverflow.m4: Remove file.
54498         * modules/EOVERFLOW-tests: Remove file.
54499         * tests/test-EOVERFLOW.c: Remove file.
54500         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
54501         * modules/ftell (Depends-on): Likewise.
54502         * modules/getdelim (Depends-on): Likewise.
54503         * modules/getugroups (Depends-on): Likewise.
54504         * modules/poll (Depends-on): Likewise.
54505         * modules/snprintf (Depends-on): Likewise.
54506         * modules/sprintf-posix (Depends-on): Likewise.
54507         * modules/vasnprintf (Depends-on): Likewise.
54508         * modules/vasprintf (Depends-on): Likewise.
54509         * modules/vfprintf-posix (Depends-on): Likewise.
54510         * modules/vsnprintf (Depends-on): Likewise.
54511         * modules/vsprintf-posix (Depends-on): Likewise.
54512         * modules/xvasprintf (Depends-on): Likewise.
54513         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54514         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
54515         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
54516         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
54517         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54518         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
54519         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
54520         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
54521         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54522         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
54523         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
54524         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
54525         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54526         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
54527         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
54528         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
54529         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54530         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
54531         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
54532         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
54533         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54534         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
54535         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
54536         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
54537         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
54538         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54539         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
54540         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
54541         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
54542         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
54543         * MODULES.html.sh: Remove EOVERFLOW.
54544         * NEWS: Mention the change.
54545
54546 2008-09-13  Bruno Haible  <bruno@clisp.org>
54547
54548         * modules/errno-tests: New file.
54549         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
54550
54551         * lib/errno.in.h: New file.
54552         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
54553         * modules/errno: New file.
54554         * doc/posix-headers/errno.texi: Update documentation.
54555         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
54556
54557 2008-09-13  Bruno Haible  <bruno@clisp.org>
54558
54559         * tests/test-poll.c: Use #if for native Windows, rather than testing
54560         __MSVCRT__.
54561
54562 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54563             Bruno Haible  <bruno@clisp.org>
54564
54565         * lib/glob.c: Don't include <pwd.h> on native Windows.
54566         (WINDOWS32): New macro.
54567         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
54568
54569 2008-09-13  Bruno Haible  <bruno@clisp.org>
54570
54571         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
54572         (ETIMEDOUT): Remove macro.
54573         (glthread_cond_timedwait_multithreaded): New declaration.
54574         (glthread_cond_timedwait): Use it.
54575         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
54576         (glthread_cond_timedwait_multithreaded): New function.
54577
54578 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54579
54580         * modules/poll-tests: Do not check for io.h.
54581         * tests/test-poll.c: Check for __MSVCRT__ instead.
54582
54583 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54584
54585         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
54586         * modules/poll-tests: Add inet_pton, stdbool, sockets.
54587         * tests/test-poll.c: Use them.  Use _pipe on Windows.
54588
54589 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54590
54591         * modules/poll-tests: New.
54592         * tests/test-poll.c: New.
54593
54594 2008-09-12  Eric Blake  <ebb9@byu.net>
54595
54596         frexp: test for NetBSD failure on -0.0
54597         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
54598         not all, bugs from NetBSD 3.0 have been fixed.
54599         * doc/posix-functions/frexp.texi (frexp): Document bug.
54600         Reported by Thomas Klausner.
54601
54602         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
54603         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
54604         literal -0.0.
54605         Reported by Jonathan C. Patschke <jp@centtech.com>.
54606
54607 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54608
54609         * lib/glthread/cond.h: Use dummy implementation also if
54610         USE_WIN32_THREADS.
54611
54612 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54613
54614         * modules/fnmatch-posix (License): Change to LGPLv2+.
54615         * modules/fnmatch-gnu (License): Likewise.
54616
54617 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54618
54619         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
54620
54621 2008-09-11  Jim Meyering  <meyering@redhat.com>
54622
54623         * users.txt: Add gtk-vnc.
54624
54625 2008-09-08  Simon Josefsson  <simon@josefsson.org>
54626
54627         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
54628         rotate amounts.
54629
54630         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
54631         required for 16-bit and 8-bit rotates.
54632         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
54633         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
54634         UINT8_MAX instead of hard-coded constants.
54635         Suggested by Paul Eggert.
54636
54637 2008-09-07  Bruno Haible  <bruno@clisp.org>
54638
54639         * tests/test-striconveh.c (main): Check behaviour when converting from
54640         UTF-7.
54641
54642         Make striconveh work better with stateful encodings.
54643         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
54644         that iconv does not increment the inptr when returning -1/EINVAL.
54645
54646 2008-09-07  Bruno Haible  <bruno@clisp.org>
54647
54648         * build-aux/config.rpath: Update according to libtool-2.2.6.
54649         * build-aux/config.libpath: Likewise.
54650
54651 2008-09-06  Bruno Haible  <bruno@clisp.org>
54652
54653         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
54654         * lib/freadptr.c (freadptr): Likewise.
54655         * lib/freadseek.c (freadptrinc): Likewise.
54656         Reported by Simon Josefsson.
54657
54658 2008-09-06  Bruno Haible  <bruno@clisp.org>
54659
54660         * modules/freadptr (License): Change to LGPLv2+.
54661         * modules/freadseek (License): Likewise.
54662         Suggested by Eric Blake.
54663
54664         * modules/memchr2 (License): Change to LGPLv2+.
54665         Approved by Eric Blake.
54666
54667 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54668             Bruno Haible  <bruno@clisp.org>
54669
54670         Make gnulib-tool work with native 'sed' on AIX.
54671         * gnulib-tool (sed_noop): New variable.
54672         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
54673         func_add_or_update, func_create_testdir): Use it to initialize sed
54674         script variables.
54675         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54676
54677 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
54678             Bruno Haible  <bruno@clisp.org>
54679
54680         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
54681         also works after #include directives.
54682
54683 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
54684
54685         getdate.y: reject an out-of-range timezone value
54686         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
54687         the range [-24...+24].  When specified with only one or two digits,
54688         * tests/test-getdate.c: Tests for the fix.
54689         * doc/getdate.texi: Document this change.
54690
54691 2008-09-03  Bruno Haible  <bruno@clisp.org>
54692
54693         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
54694
54695 2008-09-02  Simon Josefsson  <simon@josefsson.org>
54696
54697         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
54698         <bruce.korb@gmail.com> with ideas from Ben Pfaff
54699         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
54700         Blake <ebb9@byu.net>.
54701
54702         * tests/test-bitrotate.c: Add more test vectors.
54703
54704 2008-09-02  Eric Blake  <ebb9@byu.net>
54705
54706         vasnprintf-posix: handle large precision via %.*d
54707         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
54708         when handling it ourselves.
54709         * tests/test-vasnprintf-posix.c (test_function): Add test.
54710         * tests/test-snprintf-posix.h (test_function): Likewise.
54711         * tests/test-sprintf-posix.h (test_function): Likewise.
54712         * tests/test-vasprintf-posix.c (test_function): Likewise.
54713         Reported by Alain Guibert.
54714
54715 2008-09-01  Eric Blake  <ebb9@byu.net>
54716
54717         c-stack: make configure-time check more robust
54718         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
54719         successful sigaction call.
54720         Reported by Tom G. Christensen.
54721
54722 2008-09-01  Bruno Haible  <bruno@clisp.org>
54723
54724         New module 'findprog-lgpl'.
54725         * modules/findprog-lgpl: New file.
54726         * lib/findprog-lgpl.c: New file.
54727         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
54728         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
54729         to decide whether to use strdup or xstrdup, concatenated_filename or
54730         xconcatenated_filename.
54731
54732 2008-09-01  Bruno Haible  <bruno@clisp.org>
54733
54734         Split module 'concat-filename' into 'concat-filename' (LGPL) and
54735         'xconcat-filename' (GPL).
54736         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
54737         (License): Change to LGPLv2+.
54738         * modules/xconcat-filename: New file.
54739         * lib/concat-filename.h (concatenated_filename): Change specification.
54740         (xconcatenated_filename): New declaration.
54741         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
54742         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
54743         memory situations.
54744         * lib/xconcat-filename.c: New file.
54745         * NEWS: Mention the change.
54746         * lib/findprog.c: Include concat-filename.h, not filename.h.
54747         (find_in_path): Use xconcatenated_filename instead of
54748         concatenated_filename.
54749         * lib/javacomp.c: Include concat-filename.h, not filename.h.
54750         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54751         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54752         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54753         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
54754         instead of concatenated_filename.
54755         * lib/javaexec.c: Include concat-filename.h, not filename.h.
54756         (execute_java_class): Use xconcatenated_filename instead of
54757         concatenated_filename.
54758         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
54759         * modules/javacomp (Depends-on): Likewise.
54760         * modules/javaexec (Depends-on): Likewise.
54761
54762 2008-09-01  Bruno Haible  <bruno@clisp.org>
54763
54764         Split module 'filename' into 'filename' and 'concat-filename'.
54765         * modules/filename: Keep only lib/filename.h.
54766         (License): Change to LGPLv2+.
54767         * modules/concat-filename: New file, extracted from modules/filename.
54768         * lib/filename.h (concatenated_filename): Remove declaration.
54769         * lib/concat-filename.h: New file, extracted from lib/filename.h.
54770         * lib/concat-filename.c: Include concat-filename.h.
54771         * NEWS: Mention the change.
54772
54773 2008-09-01  Simon Josefsson  <simon@josefsson.org>
54774
54775         * lib/bitrotate.h (rotl8, rotr8): Add.
54776
54777         * modules/bitrotate (configure.ac): Need
54778         AC_REQUIRE([AC_C_INLINE]).
54779         (Description): Mention stdint.h.  Reported by Bruno Haible
54780         <bruno@clisp.org>.
54781
54782         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
54783         Paolo Bonzini <bonzini@gnu.org>.
54784
54785 2008-08-31  Bruno Haible  <bruno@clisp.org>
54786
54787         Assume Solaris specific bi-arch conventions on Solaris systems.
54788         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
54789         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
54790         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
54791         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
54792         like acl_libdirstem.
54793         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
54794         acl_libdirstem.
54795         * NEWS: Mention the change.
54796         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
54797
54798 2008-08-31  Jim Meyering  <meyering@redhat.com>
54799
54800         * lib/strftime.h: Add comments describing the two added arguments.
54801
54802         remove duplicate #include directives
54803         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
54804         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
54805
54806 2008-08-31  Bruno Haible  <bruno@clisp.org>
54807
54808         New module 'sigpipe-die'.
54809         * modules/sigpipe-die: New file.
54810         * lib/sigpipe-die.h: New file.
54811         * lib/sigpipe-die.c: New file.
54812         * MODULES.html.sh (Signal handling): Add sigpipe-die.
54813
54814 2008-08-31  Bruno Haible  <bruno@clisp.org>
54815
54816         Don't override previously installed signal handlers.
54817         * lib/fatal-signal.c (saved_sigactions): New variable.
54818         (uninstall_handlers): Reset the signal to the saved handler, not
54819         to SIG_DFL (except when ignored).
54820         (install_handlers): Save the previous handlers.
54821
54822 2008-08-30  Bruno Haible  <bruno@clisp.org>
54823
54824         * gnulib-tool (func_reset_sigpipe): New function.
54825         (func_get_automake_snippet, func_modules_transitive_closure,
54826         func_import): Invoke it before a join command that reads from stdin,
54827         to avoid "echo: write error: Broken pipe" error messages on stderr.
54828         Reported by Sam Steingold <sds@gnu.org>.
54829
54830 2008-08-30  Bruno Haible  <bruno@clisp.org>
54831
54832         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
54833         Code copied from m4/open.m4.
54834         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
54835         access and the filename ends in a slash. Code copied from lib/open.c.
54836         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
54837         * tests/test-fopen.c (main): Check against bug with trailing slash.
54838
54839 2008-08-29  Bruno Haible  <bruno@clisp.org>
54840
54841         Avoid some "gcc -pedantic" warnings.
54842         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
54843         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
54844         * lib/dirent.in.h: Likewise.
54845         * lib/fcntl.in.h: Likewise.
54846         * lib/float.in.h: Likewise.
54847         * lib/iconv.in.h: Likewise.
54848         * lib/inttypes.in.h: Likewise.
54849         * lib/locale.in.h: Likewise.
54850         * lib/math.in.h: Likewise.
54851         * lib/netinet_in.in.h: Likewise.
54852         * lib/search.in.h: Likewise.
54853         * lib/signal.in.h: Likewise.
54854         * lib/stdarg.in.h: Likewise.
54855         * lib/stdint.in.h: Likewise.
54856         * lib/stdio.in.h: Likewise.
54857         * lib/stdlib.in.h: Likewise.
54858         * lib/string.in.h: Likewise.
54859         * lib/strings.in.h: Likewise.
54860         * lib/sys_select.in.h: Likewise.
54861         * lib/sys_socket.in.h: Likewise.
54862         * lib/sys_stat.in.h: Likewise.
54863         * lib/sys_time.in.h: Likewise.
54864         * lib/sysexits.in.h: Likewise.
54865         * lib/time.in.h: Likewise.
54866         * lib/unistd.in.h: Likewise.
54867         * lib/wchar.in.h: Likewise.
54868         * lib/wctype.in.h: Likewise.
54869         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
54870         * modules/fchdir (Makefile.am): Likewise.
54871         * modules/fcntl (Makefile.am): Likewise.
54872         * modules/float (Makefile.am): Likewise.
54873         * modules/iconv_open (Makefile.am): Likewise.
54874         * modules/inttypes (Makefile.am): Likewise.
54875         * modules/locale (Makefile.am): Likewise.
54876         * modules/math (Makefile.am): Likewise.
54877         * modules/netinet_in (Makefile.am): Likewise.
54878         * modules/search (Makefile.am): Likewise.
54879         * modules/signal (Makefile.am): Likewise.
54880         * modules/stdarg (Makefile.am): Likewise.
54881         * modules/stdint (Makefile.am): Likewise.
54882         * modules/stdio (Makefile.am): Likewise.
54883         * modules/stdlib (Makefile.am): Likewise.
54884         * modules/string (Makefile.am): Likewise.
54885         * modules/strings (Makefile.am): Likewise.
54886         * modules/sys_select (Makefile.am): Likewise.
54887         * modules/sys_socket (Makefile.am): Likewise.
54888         * modules/sys_stat (Makefile.am): Likewise.
54889         * modules/sys_time (Makefile.am): Likewise.
54890         * modules/sysexits (Makefile.am): Likewise.
54891         * modules/time (Makefile.am): Likewise.
54892         * modules/unistd (Makefile.am): Likewise.
54893         * modules/wchar (Makefile.am): Likewise.
54894         * modules/wctype (Makefile.am): Likewise.
54895         Reported by Reuben Thomas <rrt@sc3d.org>.
54896
54897 2008-08-29  Bruno Haible  <bruno@clisp.org>
54898
54899         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
54900         any more.
54901
54902 2008-08-29  Simon Josefsson  <simon@josefsson.org>
54903
54904         * MODULES.html.sh (Misc): Add bitrotate.
54905
54906         * modules/bitrotate: New file.
54907
54908         * lib/bitrotate.h: New file.
54909
54910         * modules/bitrotate-tests: New file.
54911
54912         * tests/test-bitrotate.c: New file.
54913
54914         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
54915         on the bitrotate module.
54916
54917         * lib/arctwo.c: Use new bitrotate module.
54918
54919 2008-08-29  Jim Meyering  <meyering@redhat.com>
54920
54921         bootstrap: merge changes from coreutils
54922         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
54923         of copied files.  Remove a kludge, now that this is fixed.
54924         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
54925         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
54926         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
54927
54928 2008-08-29  Bruno Haible  <bruno@clisp.org>
54929
54930         * MODULES.html.sh: Remove --cvs-urls option.
54931
54932 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
54933
54934         maint.mk: adjust to file name change
54935         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
54936
54937 2008-08-28  Jim Meyering  <meyering@redhat.com>
54938
54939         * modules/getndelim2 (License): Relicense to LGPLv2+.
54940         Approved by Richard Stallman for the version of 1995, and by
54941         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
54942
54943 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
54944
54945         * lib/getdelim.c (flockfile, funlockfile): Make all of them
54946         dummy if one is not available.  Do not touch them if
54947         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
54948         (getc_maybe_unlocked): New.
54949         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
54950
54951 2008-08-26  Eric Blake  <ebb9@byu.net>
54952
54953         doc/INSTALL: resync from autoconf
54954         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
54955         (INSTALL_PRELUDE): Delete; this is done more efficiently by
54956         moving...
54957         * install.texi [!autoconf]: ...here.  Resync from autoconf.
54958         * INSTALL: Regenerate.
54959         * INSTALL.ISO: New file.
54960         * INSTALL.UTF-8: Likewise.
54961
54962 2008-08-26  Jim Meyering  <meyering@redhat.com>
54963
54964         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
54965         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
54966         these definitions conditional, so that they may be overridden, too.
54967
54968 2008-08-26  Bruno Haible  <bruno@clisp.org>
54969
54970         Generate INSTALL file variants with prettier quotes.
54971         * doc/Makefile (INSTALL_PRELUDE): New macro.
54972         (INSTALL): Use it.
54973         (INSTALL.ISO, INSTALL.UTF-8): New rules.
54974
54975 2008-08-26  Bruno Haible  <bruno@clisp.org>
54976
54977         Run makeinfo in an English locale.
54978         * doc/Makefile (MAKEINFO): New variable.
54979
54980 2008-08-26  Bruno Haible  <bruno@clisp.org>
54981
54982         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
54983         Suggested by Eric Blake.
54984
54985 2008-08-25  Bruno Haible  <bruno@clisp.org>
54986
54987         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
54988
54989 2008-08-25  Eric Blake  <ebb9@byu.net>
54990
54991         c-stack: test that stack overflow can be caught
54992         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
54993         that platform allows handling stack overflow; at least OS/2 EMX
54994         has sigaltstack, but crashes before transferring control to
54995         handler on stack overflow.
54996         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
54997         check for HAVE_STACK_OVERFLOW_HANDLING.
54998         Reported by Elbert Pol.
54999
55000 2008-08-25  Bruno Haible  <bruno@clisp.org>
55001
55002         * doc/posix-functions/strftime.texi: Fix description of strftime
55003         module.
55004
55005 2008-08-24  Bruno Haible  <bruno@clisp.org>
55006
55007         * tests/uniwidth/test-uc_width2.c: New file.
55008         * tests/uniwidth/test-uc_width2.sh: New file.
55009         * modules/uniwidth/width-tests (Files): Add the new files.
55010         (TESTS): Add uniwidth/test-uc_width2.sh.
55011         (TESTS_ENVIRONMENT): New variable.
55012         (check_PROGRAMS): Add test-uc_width2.
55013         (test_uc_width2_SOURCES): New variable.
55014
55015         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
55016         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
55017         not 0x00AB.
55018         Reported by Alexander V. Lukyanov <lav@netis.ru>.
55019
55020 2008-08-22  Eric Blake  <ebb9@byu.net>
55021
55022         test-lock, test-tls: mention why a test is skipped
55023         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
55024         skipped.
55025         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
55026
55027         count-one-bits: relax license
55028         * modules/count-one-bits (License): Relicense to LGPLv2+.
55029         Suggested by Ludovic Courtès, approved by Ben Pfaff.
55030
55031 2008-08-22  Andreas Schwab  <schwab@suse.de>
55032
55033         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55034         Remove spurious space in assignment.
55035
55036 2008-08-21  Simon Josefsson  <simon@josefsson.org>
55037
55038         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
55039         Paul Eggert <eggert@CS.UCLA.EDU>.
55040
55041 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
55042
55043         * modules/gettext: Add m4/threadlib.m4.
55044
55045 2008-08-19  Eric Blake  <ebb9@byu.net>
55046
55047         test-c-stack: fix compilation failure on FreeBSD 5.0
55048         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
55049         headers before <sys/resource.h>.
55050         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
55051         the bug.
55052         Reported by Nelson H. F. Beebe.
55053
55054         strverscmp: migrate from "strverscmp.h" to <string.h>
55055         * modules/string (Makefile.am): Add new hooks.
55056         * modules/strverscmp (Files): Remove strverscmp.h.
55057         (Depends-on): Add string.
55058         (configure.ac): Add indicator.
55059         (Include): Mention new header.
55060         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
55061         defaults.
55062         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
55063         results.
55064         * lib/strverscmp.h: Delete.
55065         * lib/string.in.h (strverscmp): Provide declaration, when needed.
55066         * tests/test-strverscmp.c (includes): Adjust client.
55067         * lib/check-version.c (includes): Likewise.
55068         * NEWS: Document the change.
55069
55070         strverscmp: add unit test
55071         * modules/strverscmp-tests: New file.
55072         * tests/test-strverscmp.c: Likewise.
55073
55074 2008-08-19  Simon Josefsson  <simon@josefsson.org>
55075
55076         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
55077         regarding Windows crypto stuff, from Mono.
55078
55079 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
55080
55081         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
55082         if present, for intel RND.  Return error on failures.
55083
55084 2008-08-18  Ben Pfaff  <blp@gnu.org>
55085
55086         gitlog-to-changelog: give better diagnostic for failed pipe-open
55087         * build-aux/gitlog-to-changelog: Improve error message: suggest
55088         that the version of Git may be too old.
55089
55090 2008-08-18  Simon Josefsson  <simon@josefsson.org>
55091
55092         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
55093         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
55094
55095 2008-08-18  Bruno Haible  <bruno@clisp.org>
55096
55097         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
55098         pthread_in_use().
55099
55100 2008-08-18  Bruno Haible  <bruno@clisp.org>
55101
55102         * lib/glthread/threadlib.c: Include <pthread.h>.
55103
55104 2008-08-18  Bruno Haible  <bruno@clisp.org>
55105
55106         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
55107         glthread_recursive_lock_* macros.
55108         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
55109         Fix syntax error.
55110
55111 2008-08-18  Bruno Haible  <bruno@clisp.org>
55112
55113         * lib/glthread/thread.c: Avoid forcing a context switch right after
55114         thread creation.
55115
55116 2008-08-17  Bruno Haible  <bruno@clisp.org>
55117
55118         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
55119         * lib/glthread/thread.h: Provide Win32 specific implementation.
55120         * modules/thread (Files): Add lib/glthread/thread.c.
55121         (Depends-on): Add lock.
55122         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
55123
55124 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55125
55126         New module 'yield'.
55127         * modules/yield: New file.
55128         * lib/glthread/yield.h: New file.
55129         * m4/yield.m4: New file.
55130         * MODULES.html.sh (Multithreading): Add yield.
55131
55132 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55133
55134         New module 'thread'.
55135         * modules/thread: New file.
55136         * lib/glthread/thread.h: New file.
55137         * m4/thread.m4: New file.
55138         * MODULES.html.sh (Multithreading): Add thread.
55139
55140 2008-08-17  Bruno Haible  <bruno@clisp.org>
55141
55142         * lib/glthread/lock.h: Include <stdlib.h> always.
55143         * lib/glthread/tls.h: Likewise.
55144         * lib/glthread/cond.h: Likewise.
55145
55146 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55147
55148         New module 'cond'.
55149         * modules/cond: New file.
55150         * lib/glthread/cond.h: New file.
55151         * lib/glthread/cond.c: New file.
55152         * m4/cond.m4: New file.
55153         * MODULES.html.sh (Multithreading): Add cond.
55154
55155 2008-08-16  Eric Blake  <ebb9@byu.net>
55156
55157         c-stack: fix regression on Irix 5.3 from 2008-06-21
55158         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
55159         sa_sigaction...
55160         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
55161         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
55162         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
55163         * modules/signal (Makefile.am): Use the value.
55164         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
55165         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
55166         * doc/posix-headers/signal.texi (signal.h): Document this
55167         portability issue.
55168         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
55169         Reported by Tom G. Christensen.
55170
55171 2008-08-17  Bruno Haible  <bruno@clisp.org>
55172
55173         New module 'threadlib'.
55174         * modules/threadlib: New file.
55175         * lib/glthread/threadlib.c: New file, extracted from
55176         lib/glthread/lock.c.
55177         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
55178         functions.
55179         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
55180         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
55181         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
55182         macros.
55183         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
55184         (gl_DISABLE_THREADS): Remove macro.
55185         * modules/lock (Files): Remove build-aux/config.rpath.
55186         (Depends-on): Remove havelib. Add threadlib.
55187         (configure.ac-early): Remove section.
55188         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
55189         * modules/tls (Depends-on): Remove lock. Add threadlib.
55190         (Link): New section, copied from threadlib.
55191         * MODULES.html.sh (Multithreading): Add threadlib.
55192
55193 2008-08-14  Bruno Haible  <bruno@clisp.org>
55194
55195         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
55196         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
55197         glthread_rwlock_unlock, glthread_rwlock_destroy,
55198         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
55199         glthread_recursive_lock_destroy): Define as macros always.
55200         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
55201         glthread_lock_lock.
55202         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
55203         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
55204         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
55205         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
55206         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
55207         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
55208         (glthread_recursive_lock_lock_func): Renamed from
55209         glthread_recursive_lock_lock.
55210         (glthread_recursive_lock_unlock_func): Renamed from
55211         glthread_recursive_lock_unlock.
55212         (glthread_recursive_lock_destroy_func): Renamed from
55213         glthread_recursive_lock_destroy.
55214
55215 2008-08-14  Bruno Haible  <bruno@clisp.org>
55216
55217         * lib/glthread/lock.h: Renamed from lib/lock.h.
55218         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
55219         * lib/glthread/tls.h: Renamed from lib/tls.h.
55220         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
55221         * lib/fstrcmp.c: Update includes.
55222         * lib/strsignal.c: Update includes.
55223         * modules/lock (Files, Makefile.am): Update.
55224         (Include): Change to "glthread/lock.h".
55225         * modules/tls (Files, Makefile.am): Update.
55226         (Include): Change to "glthread/tls.h".
55227         * tests/test-lock.c: Update includes.
55228         * tests/test-tls.c: Update includes.
55229         * NEWS: Mention the renamed header files.
55230
55231 2008-08-11  Jim Meyering  <meyering@redhat.com>
55232
55233         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
55234
55235 2008-08-11  Eric Blake  <ebb9@byu.net>
55236
55237         test-c-stack: avoid C99-ism
55238         * tests/test-c-stack.c (main): Fix whitespace, move declaration
55239         before statement.
55240         Reported by Alain Guibert.
55241
55242 2008-08-10  Jim Meyering  <meyering@redhat.com>
55243
55244         ensure that return value of uinttostr et al are not ignored
55245         * lib/inttostr.h (__GNUC_PREREQ): Define.
55246         (__attribute_warn_unused_result__): Define.
55247         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
55248
55249 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
55250
55251         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
55252         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
55253
55254 2008-08-07  Jim Meyering  <meyering@redhat.com>
55255
55256         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
55257
55258         * modules/mkstemp (License): Relicense under LGPLv2+.
55259         * modules/tempname (License): Likewise.
55260
55261 2008-08-06  Bruno Haible  <bruno@clisp.org>
55262
55263         * lib/poll.c (poll): Further micro-optimization.
55264
55265 2008-08-06  Jim Meyering  <meyering@redhat.com>
55266
55267         inet_pton.c: use locale-independent tolower
55268         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
55269         (inet_pton6): Use c_tolower rather than tolower.
55270         * modules/inet_pton (Depends-on): Add c-ctype.
55271
55272 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
55273
55274         * lib/poll.c (poll): Avoid division when timeout is 0, cache
55275         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
55276
55277 2008-08-06  Jim Meyering  <meyering@redhat.com>
55278
55279         * modules/inet_pton (License): Relicense under LGPLv2+.
55280
55281 2008-08-03  Bruno Haible  <bruno@clisp.org>
55282
55283         Additional non-aborting API for lock and tls.
55284         * lib/lock.h: Include <errno.h>.
55285         (glthread_lock_init): New macro/function.
55286         (gl_lock_init): Define as wrapper around glthread_lock_init.
55287         (glthread_lock_lock): New macro/function.
55288         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
55289         (glthread_lock_unlock): New macro/function.
55290         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
55291         (glthread_lock_destroy): New macro/function.
55292         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
55293         (glthread_rwlock_init): New macro/function.
55294         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
55295         (glthread_rwlock_rdlock): New macro/function.
55296         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
55297         (glthread_rwlock_wrlock): New macro/function.
55298         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
55299         (glthread_rwlock_unlock): New macro/function.
55300         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
55301         (glthread_rwlock_destroy): New macro/function.
55302         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
55303         (glthread_recursive_lock_init): New macro/function.
55304         (gl_recursive_lock_init): Define as wrapper around
55305         glthread_recursive_lock_init.
55306         (glthread_recursive_lock_lock): New macro/function.
55307         (gl_recursive_lock_lock): Define as wrapper around
55308         glthread_recursive_lock_lock.
55309         (glthread_recursive_lock_unlock): New macro/function.
55310         (gl_recursive_lock_unlock): Define as wrapper around
55311         glthread_recursive_lock_unlock.
55312         (glthread_recursive_lock_destroy): New macro/function.
55313         (gl_recursive_lock_destroy): Define as wrapper around
55314         glthread_recursive_lock_destroy.
55315         (glthread_once): New macro/function.
55316         (gl_once): Define as wrapper around glthread_once.
55317         Update function declarations.
55318         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
55319         glthread_rwlock_init. Return error code.
55320         (glthread_rwlock_rdlock_multithreaded): Renamed from
55321         glthread_rwlock_rdlock. Return error code.
55322         (glthread_rwlock_wrlock_multithreaded): Renamed from
55323         glthread_rwlock_wrlock. Return error code.
55324         (glthread_rwlock_unlock_multithreaded): Renamed from
55325         glthread_rwlock_unlock. Return error code.
55326         (glthread_rwlock_destroy_multithreaded): Renamed from
55327         glthread_rwlock_destroy. Return error code.
55328         (glthread_recursive_lock_init_multithreaded): Renamed from
55329         glthread_recursive_lock_init. Return error code.
55330         (glthread_recursive_lock_lock_multithreaded): Renamed from
55331         glthread_recursive_lock_lock. Return error code.
55332         (glthread_recursive_lock_unlock_multithreaded): Renamed from
55333         glthread_recursive_lock_unlock. Return error code.
55334         (glthread_recursive_lock_destroy_multithreaded): Renamed from
55335         glthread_recursive_lock_destroy. Return error code.
55336         (glthread_once_call): Make static.
55337         (glthread_once_multithreaded): Renamed from glthread_once.
55338         * lib/tls.h: Include <errno.h>.
55339         (glthread_tls_key_init): New macro/function.
55340         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
55341         (glthread_tls_set): New macro/function.
55342         (gl_tls_set): Define as wrapper around glthread_tls_set.
55343         (glthread_tls_key_destroy): New macro/function.
55344         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
55345         Update function declarations.
55346         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
55347         glthread_tls_get.
55348         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55349
55350 2008-08-04  Eric Blake  <ebb9@byu.net>
55351
55352         gnumakefile: use space, not TAB, outside of targets
55353         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
55354
55355 2008-08-02  Jim Meyering  <meyering@redhat.com>
55356
55357         getdate.y: avoid locale-dependent date parsing failure
55358         In Turkish locales, getdate would fail to recognize keywords
55359         containing a lowercase "i".  The solution is not to rely on
55360         locale-sensitive case-conversion.
55361         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
55362         (lookup_word): Use c_toupper in place of toupper.
55363         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
55364         Reported by Vefa Bicakci <bicave@superonline.com> in
55365         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
55366         * modules/getdate (Depends-on): Add c-ctype.
55367
55368 2008-08-02  Bruno Haible  <bruno@clisp.org>
55369
55370         * gnulib-tool (func_import): When updating or creating a .gitignore
55371         file, prepend each added line with a slash, and ignore leading slashes
55372         from the existing lines.
55373         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55374
55375 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55376
55377         Portability fix for GNU make 3.79.1.
55378         * top/GNUmakefile: Avoid 'else COND', which older GNU make
55379         versions do not understand.
55380
55381 2008-08-01  Bruno Haible  <bruno@clisp.org>
55382
55383         Work around bug of HP-UX 10.20 cc with -0.0 literal.
55384         * tests/test-isnanf.h (zero): New variable.
55385         (main): Avoid literal -0.0f.
55386         * tests/test-isnand.h (zero): New variable.
55387         (main): Avoid literal -0.0.
55388         * tests/test-isnanl.h (zero): New variable.
55389         (main): Avoid literal -0.0L.
55390         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
55391         (test_float, test_double, test_long_double): Avoid literals -0.0f,
55392         -0.0, -0.0L.
55393         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
55394         (test_signbitd): Avoid literal -0.0.
55395         (test_signbitl): Avoid literal -0.0L.
55396         * tests/test-ceilf1.c (zero): New variable.
55397         (main): Avoid literal -0.0f.
55398         * tests/test-ceill.c (zero): New variable.
55399         (main): Avoid literal -0.0L.
55400         * tests/test-floorf1.c (zero): New variable.
55401         (main): Avoid literal -0.0f.
55402         * tests/test-floorl.c (zero): New variable.
55403         (main): Avoid literal -0.0L.
55404         * tests/test-roundf1.c (zero): New variable.
55405         (main): Avoid literal -0.0f.
55406         * tests/test-round1.c (zero): New variable.
55407         (main): Avoid literal -0.0.
55408         * tests/test-roundl.c (zero): New variable.
55409         (main): Avoid literal -0.0L.
55410         * tests/test-truncf1.c (zero): New variable.
55411         (main): Avoid literal -0.0f.
55412         * tests/test-trunc1.c (zero): New variable.
55413         (main): Avoid literal -0.0.
55414         * tests/test-truncl.c (zero): New variable.
55415         (main): Avoid literal -0.0L.
55416         * tests/test-frexp.c (zero): New variable.
55417         (main): Avoid literal -0.0.
55418         * tests/test-frexpl.c (zero): New variable.
55419         (main): Avoid literal -0.0L.
55420         * tests/test-ldexpl.c (zero): New variable.
55421         (main): Avoid literal -0.0L.
55422         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55423         (zerod, zerol): New variables.
55424         (test_function): Avoid literals -0.0, -0.0L.
55425         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55426         (zerod, zerol): New variables.
55427         (test_function): Avoid literals -0.0, -0.0L.
55428         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55429         (zerod, zerol): New variables.
55430         (test_function): Avoid literals -0.0, -0.0L.
55431         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55432         (zerod, zerol): New variables.
55433         (test_function): Avoid literals -0.0, -0.0L.
55434         * tests/test-strtod.c (zero): New variable.
55435         (main): Avoid literal -0.0.
55436         Reported by Jonathan C. Patschke <jp@centtech.com>.
55437
55438 2008-07-31  Jim Meyering  <meyering@redhat.com>
55439
55440         sha256.h: correct definition of SHA224_DIGEST_SIZE
55441         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
55442         Reported by Paulie Pena IV <paulie4@gmail.com>.
55443         Define as 224 / 8, rather than as a literal.
55444         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
55445         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
55446         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
55447
55448 2008-07-31  Bruno Haible  <bruno@clisp.org>
55449
55450         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
55451         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
55452         Reported by Jonathan Patschke <jp@centtech.com>.
55453
55454 2008-07-31  Bruno Haible  <bruno@clisp.org>
55455
55456         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
55457         Reported by Paolo Bonzini <bonzini@gnu.org>.
55458
55459 2008-07-30  Eric Blake  <ebb9@byu.net>
55460
55461         test-strtod: allow compilation without -lm
55462         * tests/test-strtod.c (main): Avoid link dependence on fabs.
55463         Reported by Dennis Clarke <blastwave@gmail.com>.
55464
55465 2008-07-28  Jim Meyering  <meyering@redhat.com>
55466
55467         bootstrap: work also when there are no .po files in po/
55468         * build-aux/bootstrap (update_po_files): Complete the change
55469         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
55470
55471 2008-07-27  Jim Meyering  <meyering@redhat.com>
55472
55473         * users.txt: Add zile.
55474
55475 2008-07-26  Ben Pfaff  <blp@gnu.org>
55476
55477         Add missing dependencies on new m4/exponent[fdl].m4 files.
55478         * modules/isnanf-nolibm: Add m4/exponentf.m4.
55479         * modules/isnand-nolibm: Add m4/exponentd.m4.
55480         * modules/isnanl-nolibm: Add m4/exponentl.m4.
55481         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
55482         m4/isnan[fdl].m4, because the macros actually used moved.
55483         Reported by Jim Meyering.
55484
55485 2008-07-14  Ben Pfaff  <blp@gnu.org>
55486
55487         Add isinf module.
55488         * lib/isinf.c: New file.
55489         * lib/math.in.h: Define isinf macro if we have decided to replace
55490         it.
55491         * m4/isinf.m4: New file.
55492         * m4/math_h.m4: Initialize and substitute variables for isinf
55493         module.
55494         * modules/isinf: New file.
55495         * modules/isinf-tests: New file.
55496         * modules/math: Add substitutions for new module.
55497         * tests/test-isinf.c: New file.
55498         * doc/posix-functions/isinf.texi: Mention new module.
55499         * MODULES.html.sh: Mention new module.
55500
55501 2008-07-14  Ben Pfaff  <blp@gnu.org>
55502
55503         Factor out some macros for use by additional modules.
55504         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
55505         exponentf.m4.
55506         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
55507         exponentd.m4.
55508         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
55509         file exponentl.m4.
55510         * m4/exponentf.m4: New file.
55511         * m4/exponentd.m4: New file.
55512         * m4/exponentl.m4: New file.
55513         * modules/isnanf: Use new file m4/exponentf.m4.
55514         * modules/isnand: Use new file m4/exponentd.m4.
55515         * modules/isnanl: Use new file m4/exponentl.m4.
55516
55517 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
55518
55519         mktime.c: normalize tp->tm_isdst value to -1/0/1.
55520         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
55521         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
55522         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
55523
55524         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
55525         readlink on platforms without PATH_MAX.
55526
55527 2008-07-21  Eric Blake  <ebb9@byu.net>
55528
55529         Warn, not fail, on stale version.
55530         * top/GNUmakefile (_curr-ver): Tone down previous patch.
55531
55532         Don't allow installation with stale devel version number.
55533         * top/GNUmakefile (_is-install-target): New macro.
55534         (_curr-ver): Forbid installation with stale version number.
55535
55536 2008-07-20  Bruno Haible  <bruno@clisp.org>
55537
55538         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
55539         TESTS_ENVIRONMENT.
55540         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
55541
55542 2008-07-20  Bruno Haible  <bruno@clisp.org>
55543
55544         * lib/c-stack.h (c_stack_action): Add documentation.
55545         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
55546
55547 2008-07-20  Bruno Haible  <bruno@clisp.org>
55548
55549         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
55550         * modules/readlink (License): Likewise.
55551
55552 2008-07-17  Eric Blake  <ebb9@byu.net>
55553
55554         * modules/c-stack (Link): Fix typo.
55555
55556         Make c-stack use libsigsegv, when available.
55557         * modules/c-stack (Depends-on): Add libsigsegv.
55558         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
55559         needed.
55560         * lib/c-stack.c (SIGSTKSZ): Define fallback.
55561         (segv_handler, overflow_handler, c_stack_action)
55562         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
55563         implementation when libsigsegv is available, but only when using
55564         the library is necessary.
55565         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
55566         comment, explaining why XSI check fails on Linux.
55567         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
55568         * tests/test-c-stack2.sh: Tweak skip message.
55569         * NEWS: Document new link-time requirements.
55570
55571 2008-07-16  Eric Blake  <ebb9@byu.net>
55572
55573         c-stack: Expose false positives when not using libsigsegv.
55574         * modules/c-stack-tests (Files): Expand test.
55575         * tests/test-c-stack.c (main): Add means to conditionally trigger
55576         non-overflow SIGSEGV.
55577         * tests/test-c-stack2.sh: New file.
55578
55579 2008-07-14  Bruno Haible  <bruno@clisp.org>
55580
55581         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
55582         Reported by Eric Blake.
55583
55584 2008-07-14  Sam Steingold  <sds@gnu.org>
55585             Bruno Haible  <bruno@clisp.org>
55586
55587         New module libsigsegv.
55588         * modules/libsigsegv: New file.
55589         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
55590         modifications.
55591         * MODULES.html.sh (Signal handling): New section.
55592
55593 2008-07-14  Bruno Haible  <bruno@clisp.org>
55594
55595         * modules/unictype/ctype-* (Description): Add the word "function".
55596         Improves the resulting doc in MODULES.html.
55597
55598 2008-07-12  Ben Pfaff  <blp@gnu.org>
55599
55600         Add longlong module.
55601         * modules/longlong: New file.
55602
55603 2008-07-12  Bruno Haible  <bruno@clisp.org>
55604
55605         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
55606         to empty.
55607
55608 2008-07-10  Ben Pfaff  <blp@gnu.org>
55609
55610         Add isnan module.
55611         * doc/posix-functions/isnan.texi: Mention new module.
55612         * lib/math.in.h: Define isnan macro if we have decided to replace
55613         it.
55614         * m4/isnan.m4: New file.
55615         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
55616         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
55617         also.
55618         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
55619         redundancy.
55620         * m4/math_h.m4: Initialize and substitute variables for isnan
55621         module.
55622         * modules/isnan: New file.
55623         * modules/isnan-tests: New file.
55624         * modules/math: Add substitutions for new module.
55625         * tests/test-isnan.c: New file.
55626         * MODULES.html.sh: Mention new module.
55627
55628 2008-07-10  Ben Pfaff  <blp@gnu.org>
55629
55630         Add isnanf module.
55631         * lib/isnanf.m4: New file.
55632         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
55633         (gl_HAVE_ISNANF_IN_LIBM): New macro.
55634         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
55635         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
55636         * modules/isnanf: New file.
55637         * modules/isnanf-tests: New file.
55638         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
55639         files.
55640         * tests/test-isnanf-nolibm.c: factored most of its contents into
55641         new file tests/test-isnanf.h.
55642         * tests/test-isnanf.h: New file.
55643         * tests/test-isnanf.c: New file.
55644         * MODULES.html.sh: Mention new module.
55645         * doc/glibc-functions/isnanf.texi: Mention new module.
55646
55647 2008-07-10  Ben Pfaff  <blp@gnu.org>
55648
55649         Add isnand module.
55650         * lib/isnand.h: New file.
55651         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
55652         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
55653         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
55654         functionality also.
55655         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
55656         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
55657         (gl_HAVE_ISNAND_IN_LIBM): New macro.
55658         * modules/isnand: New file.
55659         * modules/isnand-tests: New file.
55660         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
55661         files.
55662         * tests/test-isnand-nolibm.c: factored most of its contents into
55663         new file tests/test-isnand.h.
55664         * tests/test-isnand.h: New file.
55665         * tests/test-isnand.c: New file.
55666         * MODULES.html.sh: Mention new module.
55667
55668 2008-07-10  Ben Pfaff  <blp@gnu.org>
55669
55670         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
55671         * lib/isnand.h: Rename lib/isnand-nolibm.h.
55672         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
55673         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
55674         * modules/isnanf-nolibm: Update references to renamed files.
55675         * modules/isnand-nolibm: Likewise.
55676         * modules/isnanf-nolibm-tests: Likewise.
55677         * modules/isnand-nolibm-tests: Likewise.
55678         * lib/frexp.c: Likewise.
55679         * lib/isfinite.c: Likewise.
55680         * lib/signbitd.c: Likewise.
55681         * lib/signbitf.c: Likewise.
55682         * lib/vasnprintf.c: Likewise.
55683         * tests/test-ceilf1.c: Likewise.
55684         * tests/test-ceilf2.c: Likewise.
55685         * tests/test-floorf1.c: Likewise.
55686         * tests/test-floorf2.c: Likewise.
55687         * tests/test-frexp.c: Likewise.
55688         * tests/test-round1.c: Likewise.
55689         * tests/test-round2.c: Likewise.
55690         * tests/test-roundf1.c: Likewise.
55691         * tests/test-strtod.c: Likewise.
55692         * tests/test-trunc1.c: Likewise.
55693         * tests/test-trunc2.c: Likewise.
55694         * tests/test-truncf1.c: Likewise.
55695         * tests/test-truncf2.c: Likewise.
55696         * NEWS: Mention the renamed header files.
55697
55698 2008-07-11  Jim Meyering  <meyering@redhat.com>
55699
55700         vc-list-files: make the last-resort awk code more portable
55701         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
55702         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
55703         does not support it.
55704
55705 2008-07-10  Eric Blake  <ebb9@byu.net>
55706
55707         Work with tar's bootstrap.
55708         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
55709         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
55710         an m4 comment.
55711
55712 2008-07-09  Jim Meyering  <meyering@redhat.com>
55713
55714         posix-shell.m4: fix typo that made this test malfunction
55715         * m4/posix-shell.m4: Remove capitalization in variable name.
55716
55717 2008-07-08  Bruno Haible  <bruno@clisp.org>
55718
55719         * m4/onceonly.m4: Update comments.
55720         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55721
55722 2008-07-04  Jim Meyering  <meyering@redhat.com>
55723
55724         * users.txt: Add vc-dwim.
55725         (bison, coreutils): Use the gitweb URL.
55726
55727 2008-07-03  Jim Meyering  <meyering@redhat.com>
55728
55729         * users.txt: Add libffcall.  From Sam Steingold.
55730
55731 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
55732
55733         getdate.y: do not ignore TZ with relative day, month or year offset
55734         * lib/getdate.y (get_date): Move the tz-handling block to follow the
55735         relative-date-handling, since otherwise, the latter would clobber the
55736         sole output (an updated Start value) of the tz-handling block.
55737         * tests/test-getdate.c: Tests for the fix
55738
55739 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55740
55741         Recognize 'foo_LIBRARIES += libgnu.a'.
55742         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
55743         makefile snippet has already specified an installation location,
55744         also using '+='.
55745
55746 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
55747
55748         getdate.y: factor out common actions
55749         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
55750         Use them in place of open-coded actions.
55751
55752 2008-07-01  Simon Josefsson  <simon@josefsson.org>
55753
55754         Add self-test for getdate module.
55755         * modules/getdate-tests: New file.
55756         * tests/test-getdate.c: New file.
55757
55758 2008-06-29  Bruno Haible  <bruno@clisp.org>
55759
55760         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
55761         .gitignore.
55762         Reported by Sylvain Beucler <beuc@beuc.net>.
55763
55764 2008-06-29  Bruno Haible  <bruno@clisp.org>
55765
55766         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
55767         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
55768
55769 2008-06-29  Bruno Haible  <bruno@clisp.org>
55770
55771         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
55772         EXTRA_DIST.
55773         Reported by Sylvain Beucler <beuc@beuc.net>.
55774
55775 2008-06-26  Jim Meyering  <meyering@redhat.com>
55776
55777         make several modules depend on the "open" module
55778         This provides slightly increased consistency when opening-for-write
55779         the name of a non-directory spelled with a trailing slash.
55780         * modules/chdir-safer: Likewise.
55781         * modules/chown: Likewise.
55782         * modules/clean-temp: Likewise.
55783         * modules/copy-file: Likewise.
55784         * modules/fchdir: Likewise.
55785         * modules/fcntl-safer: Likewise.
55786         * modules/pipe: Likewise.
55787         * modules/utime: Likewise.
55788         Prompted by Eric Blake and Bruno Haible.
55789
55790 2008-06-24  Andreas Schwab  <schwab@suse.de>
55791
55792         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
55793         literals can be used as initializers for global variables.
55794
55795 2008-06-23  Eric Blake  <ebb9@byu.net>
55796
55797         Make gnulib-cache.m4 easier to diff.
55798         * gnulib-tool (func_import): Allow newlines when reading cached
55799         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
55800
55801 2008-06-23  Bruno Haible  <bruno@clisp.org>
55802
55803         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
55804         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
55805         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
55806         m4/signalblocking.m4.
55807         (gl_PREREQ_SIGACTION): Don't invoke it.
55808         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
55809         gl_PREREQ_SIG_HANDLER_H.
55810         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55811         Don't check for sigaction here.
55812
55813 2008-06-23  Bruno Haible  <bruno@clisp.org>
55814
55815         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
55816         (install_handlers): Don't set the SA_RESETHAND flag.
55817
55818 2008-06-23  Bruno Haible  <bruno@clisp.org>
55819
55820         * m4/sigaction.m4: Comment fixes.
55821         * lib/signal.in.h: Likewise.
55822
55823 2008-06-23  Eric Blake  <ebb9@byu.net>
55824
55825         Fix typo.
55826         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
55827
55828         Avoid SA_ namespace.
55829         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
55830         Reported by Ralf Wildenhues.
55831
55832         Avoid test failure due to SA_RESTORER.
55833         * tests/test-sigaction.c (SA_MASK): New macro.
55834         (main): Avoid failing due to extension flags being set.
55835         Reported by Jim Meyering.
55836
55837         Revert use of sig-handler.h in sigprocmask.c.
55838         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
55839         it requires the existence of struct sigaction.
55840         * lib/sigprocmask.c (handler_t): Restore typedef.
55841         (rpl_signal, old_handlers): Use local type.
55842
55843 2008-06-22  Bruno Haible  <bruno@clisp.org>
55844
55845         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
55846         conditionally.
55847         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55848
55849 2008-06-22  Bruno Haible  <bruno@clisp.org>
55850
55851         * doc/posix-functions/siginterrupt.texi: Move note.
55852
55853         * lib/signal.in.h (SA_RESTART): New macro.
55854         * lib/sigaction.c: Update comment.
55855
55856         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
55857
55858         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
55859         (gl_PREREQ_SIGPROCMASK): Invoke it.
55860         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
55861
55862         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
55863
55864         * lib/sigprocmask.c: Update a comment.
55865
55866 2008-06-21  Eric Blake  <ebb9@byu.net>
55867
55868         Use sigaction module rather than signal().
55869         * modules/c-stack (Depends-on): Add sigaction.
55870         * modules/fatal-signal (Depends-on): Likewise.
55871         * modules/nanosleep (Depends-on): Likewise.
55872         * modules/sigprocmask (Files): Add sig-handler.h.
55873         * modules/sigaction (Files): Likewise.
55874         * lib/sig-handler.h (get_handler): New file, suggested by Paul
55875         Eggert.
55876         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
55877         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
55878         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
55879         (init_fatal_signals): Likewise.
55880         * lib/nanosleep.c (rpl_nanosleep): Likewise.
55881         (siginterrupt): Delete fallback.
55882         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
55883         instead.
55884         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
55885         siginterrupt.
55886
55887         New module sigaction, for mingw.
55888         * modules/sigaction: New module...
55889         * modules/sigaction-tests: ...and its test.
55890         * m4/sigaction.m4: New file.
55891         * lib/sigaction.c: Likewise.
55892         * tests/test-sigaction.c: Likewise.
55893         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
55894         * modules/signal (Makefile.am): Likewise.
55895         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
55896         needed.
55897         * doc/posix-headers/signal.texi (signal.h): Mention provided
55898         types.
55899         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
55900         that sigaction is preferable.
55901         * doc/posix-functions/sigaction.texi (sigaction): Mention new
55902         module.
55903         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55904         sigaction.
55905
55906         Improve robustness of sigprocmask by overriding signal.
55907         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
55908         is in use.
55909         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
55910         (SIGKILL, SIGSTOP): Provide fallbacks.
55911         (rpl_signal): Implement.
55912         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
55913         signal can be called inside handlers.
55914
55915         Fix nanosleep module on mingw.
55916         * modules/nanosleep (Depends-on): Add sys_select.
55917         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
55918
55919         Fix licensing of sigprocmask.
55920         * modules/raise (License): Relicense as LGPL.
55921
55922 2008-06-21  Bruno Haible  <bruno@clisp.org>
55923
55924         * lib/propername.c (proper_name_utf8): Don't use the transliterated
55925         result if it contains question marks.
55926         Reported by Michael Geng <linux@michaelgeng.de>.
55927
55928 2008-06-19  Bruno Haible  <bruno@clisp.org>
55929
55930         Fix CVS-ism.
55931         * doc/gnulib.texi: Include updated-stamp.texi.
55932         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
55933         (updated-stamp.texi): New rule.
55934         (gnulib.info): Depend on it.
55935         * doc/.gitignore: Add updated-stamp.texi.
55936         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
55937
55938 2008-06-19  Bruno Haible  <bruno@clisp.org>
55939
55940         * doc/Makefile (gnulib.info): Update and simplify dependencies.
55941         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55942
55943 2008-06-19  Eric Blake  <ebb9@byu.net>
55944
55945         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
55946         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
55947         Reported by Stepan Kasal.
55948
55949 2008-06-18  Bruno Haible  <bruno@clisp.org>
55950
55951         * lib/fatal-signal.c (init_fatal_signals): Add comment.
55952         Reported by Eric Blake.
55953
55954 2008-06-18  Eric Blake  <ebb9@byu.net>
55955
55956         Work around cygwin 1.5.25 strsignal bug.
55957         * tests/test-strsignal.c: Allow for const char *.
55958         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
55959
55960 2008-06-18  Simon Josefsson  <simon@josefsson.org>
55961
55962         * users.txt: Update URL to article and add author/date
55963         information.
55964
55965 2008-06-17  Bruno Haible  <bruno@clisp.org>
55966
55967         New macro gl_DISABLE_THREADS.
55968         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
55969         if the user did not pass --enable-threads or --disable-threads option.
55970         (gl_DISABLE_THREADS): New macro.
55971         Reported by Eric Blake <ebb9@byu.net>.
55972
55973 2008-06-17  Bruno Haible  <bruno@clisp.org>
55974
55975         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
55976         when the macro ignores it.
55977         Based on a patch by Eric Blake <ebb9@byu.net>.
55978
55979 2008-06-17  Bruno Haible  <bruno@clisp.org>
55980
55981         * modules/tls (License): Change to LGPLv2+.
55982         Reported by Eric Blake.
55983
55984 2008-06-17  Eric Blake  <ebb9@byu.net>
55985
55986         Simplify c-stack prerequisites.
55987         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
55988         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
55989         no longer requires <ucontext.h> to exist.  Optimize setrlimit
55990         check.
55991         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
55992         <sys/resource.h>.
55993
55994         Move c-stack test into testsuite.
55995         * modules/c-stack-tests: New file.
55996         * lib/c-stack.c [DEBUG]: Move test program...
55997         * tests/test-c-stack.c: ...into this new file.  Skip rather than
55998         fail test if sigaltstack is lacking.
55999         * tests/test-c-stack.sh: New driver file.
56000
56001 2008-06-16  Eric Blake  <ebb9@byu.net>
56002
56003         Use raise module consistently.
56004         * modules/fatal-signal (Depends-on): Add raise.
56005         * modules/sigprocmask (Depends-on): Likewise.
56006         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
56007         * lib/sigprocmask.c (sigprocmask): Likewise.
56008         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56009         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
56010
56011         Fix compliance bug in sigpending.
56012         * lib/sigprocmask.c (sigpending): Return pending array via
56013         parameter, not return value.
56014
56015 2008-06-14  Eric Blake  <ebb9@byu.net>
56016
56017         Improve obstack-printf test code.
56018         * tests/test-obstack-printf.c (test_function): Fix comment, and
56019         simplify usage of obstack_* in macros.  Add a test for coverage.
56020         Reported by Bruno Haible.
56021
56022 2008-06-14  Bruno Haible  <bruno@clisp.org>
56023
56024         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
56025         array size as a constant, not as a const variable.
56026         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
56027         AC_USE_SYSTEM_EXTENSIONS.
56028         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
56029         Test whether the obstack_printf function actually exists.
56030         * modules/obstack-printf (Depends-on): Add extensions.
56031         (Include): Remove obstack.h.
56032         * modules/obstack-printf-posix (Depends-on): Add extensions.
56033         (Include): Remove obstack.h.
56034
56035 2008-06-13  Eric Blake  <ebb9@byu.net>
56036
56037         Add obstack-printf and obstack-printf-posix modules.
56038         * modules/obstack-printf: New file.
56039         * modules/obstack-printf-posix: Likewise.
56040         * MODULES.html.sh (Misc): Mention them.
56041         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
56042         Likewise.
56043         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
56044         Likewise.
56045         * modules/stdio (Makefile.am): Accomodate new modules.
56046         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56047         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
56048         Declare.
56049         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
56050         functions.
56051         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
56052         (gl_REPLACE_OBSTACK_PRINTF): New macros
56053         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
56054         * tests/test-obstack-printf.c: New file.
56055         * modules/obstack-printf-tests: Likewise.
56056         * modules/obstack-printf-posix-tests: Likewise.
56057
56058 2008-06-11  Bruno Haible  <bruno@clisp.org>
56059
56060         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
56061         * lib/open.c: Include errno.h.
56062         (open): Fail when attempting to write to a file that has a trailing
56063         slash.
56064         * tests/test-open.c (main): Test against trailing slash bug.
56065         * doc/posix-functions/open.texi: Mention the trailing slash bug.
56066
56067 2008-06-10  Bruno Haible  <bruno@clisp.org>
56068
56069         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
56070         for $? to work inside the trap command, with various /bin/sh-s.
56071         * tests/test-vc-list-files-cvs.sh: Likewise.
56072
56073 2008-06-10  Bruno Haible  <bruno@clisp.org>
56074
56075         * lib/acl-internal.h: Don't include gettext.h here.
56076         * lib/set-mode-acl.c: Include gettext.h here.
56077         * lib/copy-acl.c: Likewise.
56078
56079 2008-06-10  Bruno Haible  <bruno@clisp.org>
56080
56081         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
56082         * lib/wait-process.c (wait_subprocess): Likewise.
56083         * lib/execute.h (execute): Add termsigp argument.
56084         * lib/execute.c (execute): Likewise.
56085         * lib/csharpcomp.c (compile_csharp_using_pnet,
56086         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
56087         * lib/csharpexec.c (execute_csharp_using_pnet,
56088         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
56089         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
56090         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
56091         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
56092         is_jikes_present): Update.
56093         * lib/javaexec.c (execute_java_class): Update.
56094         * lib/javaversion.c (execute_and_read_line): Update.
56095         * NEWS: Document the changes.
56096         Reported by Eric Blake.
56097
56098 2008-06-10  Eric Blake  <ebb9@byu.net>
56099
56100         Add missing include.
56101         * tests/test-strstr.c (includes): Add <signal.h>.
56102         * tests/test-strcasestr.c (includes): Likewise.
56103         * tests/test-memmem.c (includes): Likewise.
56104
56105 2008-06-10  Bruno Haible  <bruno@clisp.org>
56106
56107         * lib/wait-process.c (wait_subprocess): Add an assertion.
56108
56109 2008-06-10  Bruno Haible  <bruno@clisp.org>
56110
56111         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
56112
56113 2008-06-10  Bruno Haible  <bruno@clisp.org>
56114
56115         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
56116         using alarm().
56117         * tests/test-strcasestr.c (main): Likewise.
56118         * tests/test-strstr.c (main): Likewise.
56119
56120 2008-06-09  Bruno Haible  <bruno@clisp.org>
56121
56122         Work around the Solaris 10 ACE ACLs ABI change.
56123         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
56124         declare if ACL_NO_TRIVIAL is present.
56125         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
56126         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
56127         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
56128         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
56129         define if ACL_NO_TRIVIAL is present.
56130         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
56131         and use the current ABI.
56132         (file_has_acl): Use same #if condition as elsewhere.
56133         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
56134         in use, and use the current ABI.
56135         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
56136         Reported by Jim Meyering.
56137
56138 2008-06-09  Eric Blake  <ebb9@byu.net>
56139
56140         Work around environments that (stupidly) ignore SIGALRM.
56141         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
56142         before using alarm().
56143         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56144         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56145         Reported by Ian Beckwith <ianb@erislabs.net>.
56146
56147         Produce autobuild blurb earlier in log.
56148         * modules/autobuild (configure.ac-early): Move AB_INIT here.
56149
56150 2008-06-09  Jim Meyering  <meyering@redhat.com>
56151         and Ondřej Vašík  <ovasik@redhat.com>
56152
56153         utimens.c: correct kernel bug work-around
56154         Ondřej Vašík found that the invalid return value of 280 indicates
56155         failure, not success, and the kernel bug we're trying to work
56156         around affects not just the utimensat call, but also the fallback
56157         futimens call.
56158         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
56159         not success.
56160         [HAVE_FUTIMENS]: Use the same work-around, here.
56161
56162 2008-06-09  Jim Meyering  <meyering@redhat.com>
56163
56164         add more guards around definition of ACE_-related code
56165         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
56166         ALLOW and ACE_OWNER are also defined.
56167
56168 2008-06-08  Bruno Haible  <bruno@clisp.org>
56169
56170         * lib/acl-internal.h: Add me as co-author.
56171         * lib/file-has-acl.c: Likewise.
56172         * lib/set-mode-acl.c: Likewise.
56173         * lib/copy-acl.c: Likewise.
56174
56175 2008-06-08  Bruno Haible  <bruno@clisp.org>
56176
56177         Add support for AIX ACLs.
56178         * lib/acl-internal.h (acl_nontrivial): New declaration.
56179         * lib/file-has-acl.c (acl_nontrivial): New function.
56180         (file_has_acl): Add implementation using AIX 4 ACL API.
56181         * lib/set-mode-acl.c (qset_acl): Likewise.
56182         * lib/copy-acl.c (qcopy_acl): Likewise.
56183
56184 2008-06-08  Bruno Haible  <bruno@clisp.org>
56185
56186         Add support for HP-UX ACLs.
56187         * lib/acl-internal.h (acl_nontrivial): New declaration.
56188         * lib/file-has-acl.c (acl_nontrivial): New function.
56189         (file_has_acl): Add implementation using HP-UX 11 ACL API.
56190         * lib/set-mode-acl.c (qset_acl): Likewise.
56191         * lib/copy-acl.c (qcopy_acl): Likewise.
56192
56193 2008-06-08  Bruno Haible  <bruno@clisp.org>
56194
56195         Add support for Cygwin ACLs.
56196         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
56197         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
56198         the chmod_or_fchmod call.
56199         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
56200
56201 2008-06-08  Bruno Haible  <bruno@clisp.org>
56202
56203         Fix bug with setuid modes in Solaris 10+ code.
56204         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
56205         succeeded, when the mode contains some special bits.
56206
56207 2008-06-08  Bruno Haible  <bruno@clisp.org>
56208
56209         Add support for Solaris 7..10 ACLs.
56210         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
56211         declarations.
56212         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
56213         functions.
56214         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
56215         * lib/set-mode-acl.c (qset_acl): Likewise.
56216         * lib/copy-acl.c (qcopy_acl): Likewise.
56217
56218 2008-06-08  Bruno Haible  <bruno@clisp.org>
56219
56220         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
56221         declaration.
56222         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
56223         (acl_access_nontrivial): Remove MacOS X case.
56224         (file_has_acl): Use acl_extended_nontrivial.
56225         * lib/copy-acl.c (qcopy_acl): Likewise.
56226
56227 2008-06-08  Bruno Haible  <bruno@clisp.org>
56228
56229         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
56230
56231 2008-06-08  Jim Meyering  <meyering@redhat.com>
56232
56233         * modules/acl (Maintainer): Add Bruno Haible.
56234
56235 2008-06-07  Bruno Haible  <bruno@clisp.org>
56236
56237         Improve support for Tru64 ACLs.
56238         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
56239         ACL on OSF/1.
56240
56241 2008-06-07  Bruno Haible  <bruno@clisp.org>
56242
56243         Add support for MacOS X ACLs.
56244         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
56245         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
56246         * lib/set-mode-acl.c (qset_acl): Likewise.
56247         * lib/copy-acl.c (qcopy_acl): Likewise.
56248
56249 2008-06-07  Bruno Haible  <bruno@clisp.org>
56250
56251         Fix memory leak introduced on 2008-05-22.
56252         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
56253         use.
56254
56255 2008-06-07  Bruno Haible  <bruno@clisp.org>
56256
56257         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
56258         to construct an empty ACL.
56259
56260 2008-06-07  Bruno Haible  <bruno@clisp.org>
56261
56262         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
56263         precisely.
56264         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
56265
56266 2008-06-07  Bruno Haible  <bruno@clisp.org>
56267
56268         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
56269         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
56270
56271 2008-06-07  Bruno Haible  <bruno@clisp.org>
56272
56273         * doc/posix-functions/_setjmp.texi: Explain the use of this function
56274         regardless of POSIX.
56275         * doc/posix-functions/_longjmp.texi: Likewise.
56276         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
56277         SystemV platform in this case.
56278
56279 2008-06-06  Eric Blake  <ebb9@byu.net>
56280
56281         Document abort() bugs.
56282         * doc/posix-functions/abort.texi (abort): Mention anomalies.
56283
56284         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
56285         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
56286         sigsetjmp.
56287         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
56288         siglongjmp, but only as a macro.
56289         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
56290         is obsolete.
56291         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
56292
56293         Tweak documentation to cover cygwin argz bugs.
56294         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
56295         argz bug fix; no code change needed since no cygwin releases
56296         occurred between the last fix and the bug being tested.
56297         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
56298         module and recently fixed cygwin bugs.
56299         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
56300         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
56301         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
56302         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
56303         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
56304         Likewise.
56305         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
56306         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
56307         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
56308         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
56309         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
56310         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
56311         Likewise.
56312
56313         Avoid gcc warning on cygwin.
56314         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
56315         !ACL_NO_TRIVIAL]: Avoid unused variable.
56316
56317 2008-06-05  Eric Blake  <ebb9@byu.net>
56318
56319         Be tolerant of UNKNOWN version in gnulib-tool test dir.
56320         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
56321         git-version-gen fails to come up with a version.
56322         Reported by Simon Josefsson.
56323
56324 2008-06-05  Jim Meyering  <meyering@redhat.com>
56325             Paul Eggert  <eggert@cs.ucla.edu>
56326
56327         utimens.c: work around a probable Linux kernel bug
56328         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
56329         appears to be a kernel bug that causes utimensat to return 280
56330         instead of 0, indicating success.
56331
56332 2008-06-04  Bruno Haible  <bruno@clisp.org>
56333
56334         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
56335         2008-06-01 commit.
56336
56337 2008-06-04  Bruno Haible  <bruno@clisp.org>
56338
56339         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
56340         * lib/file-has-acl.c (acl_access_nontrivial): New function.
56341         (file_has_acl): Use it. Save errno afterwards.
56342         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
56343
56344 2008-06-03  Bruno Haible  <bruno@clisp.org>
56345
56346         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
56347         draft code. Simplify #ifs.
56348         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
56349         Put Solaris code after POSIX-draft code. Fix comments regarding
56350         Solaris 10, HP-UX. Mention Cygwin.
56351         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
56352
56353 2008-06-03  Eric Blake  <ebb9@byu.net>
56354
56355         Provide fallback for older kernels.
56356         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
56357         Provide runtime fallback if kernel lacks support.
56358         Reported by Mike Frysinger.
56359
56360 2008-06-02  Bruno Haible  <bruno@clisp.org>
56361
56362         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
56363         it exists.
56364
56365 2008-06-02  Bruno Haible  <bruno@clisp.org>
56366
56367         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
56368         * lib/copy-acl.c (qcopy_acl): Update comment.
56369
56370 2008-06-02  Bruno Haible  <bruno@clisp.org>
56371
56372         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
56373         like ACL APIs.
56374
56375 2008-06-02  Bruno Haible  <bruno@clisp.org>
56376
56377         * tests/test-file-has-acl.sh: Use different code for Cygwin.
56378         * tests/test-set-mode-acl.sh: Likewise.
56379         * tests/test-copy-acl.sh: Likewise.
56380         * tests/test-copy-file.sh: Likewise.
56381
56382 2008-06-02  Bruno Haible  <bruno@clisp.org>
56383
56384         * tests/test-file-has-acl.sh: Remove unused code.
56385
56386 2008-06-01  Bruno Haible  <bruno@clisp.org>
56387
56388         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
56389         (copy_acl): Just a wrapper around qcopy_acl that emits the error
56390         messages.
56391         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
56392
56393 2008-06-01  Bruno Haible  <bruno@clisp.org>
56394
56395         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
56396         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
56397         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
56398         APIs.
56399         * modules/acl-tests (configure.ac): Remove tests now contained in
56400         m4/acl.m4.
56401
56402 2008-06-02  Jim Meyering  <meyering@redhat.com>
56403
56404         announce-gen: use a better key-server host name
56405         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
56406         it may be more consistently reliable.  Suggested by Werner Koch
56407         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
56408
56409 2008-06-01  Bruno Haible  <bruno@clisp.org>
56410
56411         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
56412         Reported by Voroskoi Andras <voroskoi@gmail.com>.
56413
56414 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
56415
56416         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
56417
56418 2008-06-01  Bruno Haible  <bruno@clisp.org>
56419
56420         New ACL tests.
56421         * tests/test-file-has-acl.sh: New file.
56422         * tests/test-file-has-acl.c: New file.
56423         * tests/test-set-mode-acl.sh: New file.
56424         * tests/test-set-mode-acl.c: New file.
56425         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
56426         * tests/test-copy-acl.c: New file.
56427         * modules/acl-tests: New file, based on modules/copy-file-tests.
56428         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
56429         (Depends-on): Add acl-tests.
56430         (configure.ac): Remove checks.
56431         (Makefile.am): Don't create test-sameacls program here any more.
56432
56433 2008-06-01  Bruno Haible  <bruno@clisp.org>
56434
56435         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
56436         * tests/test-sameacls.c: Include progname.h.
56437         (main): Invoke set_program_name. Portability fixes for MacOS X,
56438         Solaris, HP-UX.
56439
56440 2008-06-01  Bruno Haible  <bruno@clisp.org>
56441
56442         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
56443         function.
56444         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
56445
56446 2008-06-01  Bruno Haible  <bruno@clisp.org>
56447
56448         * modules/rpmatch (Depends-on): Add strdup.
56449
56450 2008-06-01  Bruno Haible  <bruno@clisp.org>
56451
56452         * lib/pipe.c: Include unistd-safer.h.
56453         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
56454         * modules/pipe (Depends-on): Add unistd-safer.
56455
56456 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56457
56458         * modules/autobuild (configure.ac): Call AB_INIT.
56459
56460 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56461
56462         * tests/test-getaddrinfo.c: Don't print debug messages by default.
56463         Suggested by Bruno Haible <bruno@clisp.org>.
56464
56465 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56466
56467         * tests/test-base64.c: Cast size_t to unsigned long when invoking
56468         printf.  Use %lu instead of %d.  Reported by Bruno Haible
56469         <bruno@clisp.org>.
56470
56471 2008-05-29  Eric Blake  <ebb9@byu.net>
56472
56473         Prefer new POSIX 200x interfaces over futimesat.
56474         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
56475         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
56476         when available.
56477         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
56478
56479 2008-05-28  Bruno Haible  <bruno@clisp.org>
56480
56481         * modules/stpcpy (License): Change to LGPLv2+.
56482         Requested by David Lutterkort <dlutter@redhat.com>.
56483
56484 2008-05-27  Bruno Haible  <bruno@clisp.org>
56485
56486         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
56487         current mingw.
56488         Reported by Jose E. Marchesi <jemarch@gnu.org>.
56489
56490 2008-05-27  Bruno Haible  <bruno@clisp.org>
56491
56492         * modules/iconv_open (Link): New section, from module 'iconv'.
56493         * modules/striconv (Link): Likewise.
56494         * modules/striconveh (Link): Likewise.
56495         * modules/xstriconv (Link): Likewise.
56496         * modules/unicodeio (Link): Likewise.
56497         * modules/propername (Link): Likewise.
56498         Reported by Jim Meyering.
56499
56500 2008-05-26  Jim Meyering  <meyering@redhat.com>
56501
56502         sha256: do not artificially restrict buffer length to be < 2^32
56503         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
56504         uint32_t to size_t.
56505         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
56506         to match.
56507
56508         avoid unaligned access errors, e.g., on sparc
56509         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
56510         direct access through a possibly-unaligned uint64* pointer.
56511         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
56512         direct access through a possibly-unaligned uint32* pointer.
56513         Prompted by this patch from Tom "spot" Callaway:
56514         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
56515
56516         sha512.c: fix typo in comment
56517         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
56518
56519 2008-05-25  Bruno Haible  <bruno@clisp.org>
56520
56521         * lib/set-mode-acl.c: Renamed from lib/acl.c.
56522         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
56523         (Makefile.am): Update lib_SOURCES.
56524
56525 2008-05-25  Bruno Haible  <bruno@clisp.org>
56526
56527         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
56528
56529 2008-05-25  Jim Meyering  <meyering@redhat.com>
56530
56531         useless-if-before-free: freed expr may have white-space differences
56532         * build-aux/useless-if-before-free: Recognize cases in which the
56533         freed expression differs from the tested one in embedded white
56534         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
56535         $1 was used, so we can't make any regexp shy.  Improved tests now
56536         detect this.
56537
56538         useless-if-before-free: accept white space in the expression.
56539         * build-aux/useless-if-before-free: For now, any white space
56540         in the expression must be identical in the free argument.
56541
56542         useless-if-before-free: efficiency tweak
56543         * build-aux/useless-if-before-free: Make the expression-matching
56544         regexp "shy".
56545         Make the *outer* regexp shy, not the expr-matching one.
56546
56547         update code-in-comment to accept cast of free arg
56548         * build-aux/useless-if-before-free: Update regexp.
56549
56550 2008-05-25  Bruno Haible  <bruno@clisp.org>
56551
56552         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
56553         * modules/copy-file-tests (Files, Makefile.am): Update.
56554         * tests/test-copy-file.c (func_test_copy): Update.
56555
56556 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
56557
56558         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
56559
56560 2008-05-23  Bruno Haible  <bruno@clisp.org>
56561
56562         Improve support for ACLs on OSF/1.
56563         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
56564         Remove fallback for unknown flavors of ACLs.
56565
56566 2008-05-22  Bruno Haible  <bruno@clisp.org>
56567
56568         Add support for ACLs on OSF/1.
56569         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
56570         replacements.
56571         (acl_free_text): New macro fallback.
56572         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
56573         acl_free.
56574         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
56575         acl_free_text function. Require AC_C_INLINE.
56576
56577 2008-05-22  Bruno Haible  <bruno@clisp.org>
56578
56579         Make copy_acl work on MacOS X 10.5.
56580         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
56581         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
56582         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
56583         If MODE_INSIDE_ACL, don't assume that every system has the same text
56584         representation for ACLs as FreeBSD.
56585         * lib/copy-acl.c (copy_acl): Add support for platforms with
56586         !MODE_INSIDE_ACL.
56587         * lib/file-has-acl.c (file_has_acl): Likewise.
56588         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
56589         FreeBSD, MacOS X, or IRIX, respectively.
56590
56591 2008-05-22  Bruno Haible  <bruno@clisp.org>
56592
56593         * lib/acl.h: Don't include <sys/acl.h>.
56594         (GETACLCNT): Move fallback to lib/acl-internal.h.
56595         * lib/acl-internal.h: Include <sys/acl.h> here.
56596         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
56597
56598 2008-05-22  Bruno Haible  <bruno@clisp.org>
56599
56600         Split off copy_acl function to separate file.
56601         * lib/copy-acl.c: New file, extracted from lib/acl.c.
56602         * lib/acl.c (copy_acl): Moved function to separate file.
56603         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
56604         * modules/acl (Files): Add lib/copy-acl.c.
56605         (Makefiles.am): Augment lib_SOURCES.
56606
56607 2008-05-22  Bruno Haible  <bruno@clisp.org>
56608
56609         * modules/copy-file-tests: New file.
56610         * tests/test-copy-file.sh: New file.
56611         * tests/test-copy-file.c: New file.
56612         * tests/test-copy-file-sameacls.c: New file.
56613
56614 2008-05-22  Eric Blake  <ebb9@byu.net>
56615
56616         Avoid gcc warning.
56617         * tests/test-memcmp.c (main): Pass NULL indirectly.
56618
56619 2008-05-21  Bruno Haible  <bruno@clisp.org>
56620
56621         Add reference doc about ACLs.
56622         * doc/acl-resources.txt: New file.
56623         * doc/acl-cygwin.txt: New file.
56624
56625 2008-05-21  Bruno Haible  <bruno@clisp.org>
56626
56627         Avoid one more warning from gcc.
56628         * lib/vasnprintf.c (IF_LINT): Update comments.
56629         (VASNPRINTF): Use it also for the 'prefix' array initializer.
56630
56631 2008-05-21  Jim Meyering  <meyering@redhat.com>
56632
56633         avoid a warning from gcc
56634         * lib/vasnprintf.c (IF_LINT): Define.
56635         (scale10_round_decimal_long_double):
56636         Use it to avoid a "may be used uninitialized" warning.
56637         (scale10_round_decimal_double): Likewise.
56638
56639 2008-05-21  Simon Josefsson  <simon@josefsson.org>
56640
56641         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
56642         declared.
56643
56644 2008-05-20  Bruno Haible  <bruno@clisp.org>
56645
56646         * tests/test-memcmp.c (main): Test also the sign of the result. Test
56647         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
56648
56649 2008-05-20  Simon Josefsson  <simon@josefsson.org>
56650
56651         * modules/memcmp-tests: New file.
56652         * tests/test-memcmp.c: New file.
56653
56654 2008-05-19  Bruno Haible  <bruno@clisp.org>
56655
56656         * modules/propername (Notice, configure.ac): Put quoted "..." into
56657         --keyword option.
56658         * lib/propername.h: Update comments accordingly.
56659         Reported by Eric Blake.
56660
56661 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
56662
56663         * modules/getpass-gnu (Depends-on): Add fseeko.
56664
56665 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56666
56667         * modules/base64-tests: New file.
56668
56669 2008-05-19  Bo Borgerson <gigabo@gmail.com>
56670
56671         * lib/base64.c (base64_decode_ctx): If a decode context structure
56672         was passed in use it to ignore newlines.  If a context structure
56673         was _not_ passed in, continue to treat newlines as garbage (this
56674         is the historical behavior).  Formerly base64_decode.
56675         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56676         takes a decode context structure.
56677         * lib/base64.h (base64_decode): Macro for four-argument calls.
56678         (base64_decode_alloc): Likewise.
56679         * lib/base64.c (base64_decode_ctx): If a decode context structure
56680         was passed in use it to ignore newlines.  If a context structure
56681         was _not_ passed in, continue to treat newlines as garbage (this
56682         is the historical behavior).  Formerly base64_decode.
56683         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56684         takes a decode context structure.
56685         * lib/base64.h (base64_decode): Macro for four-argument calls.
56686         (base64_decode_alloc): Likewise.
56687
56688 2008-05-19  Jim Meyering  <meyering@redhat.com>
56689
56690         avoid a warning from gcc
56691         * lib/trim.c (IF_LINT): Define.
56692         (trim2): Use it to avoid a "may be used uninitialized" warning.
56693
56694         Fix doc typo.
56695         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
56696
56697 2008-05-19  Bruno Haible  <bruno@clisp.org>
56698
56699         * doc/glibc-functions/getpass.texi: Document limits of other
56700         implementations.
56701
56702 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56703             Bruno Haible <bruno@clisp.org>
56704
56705         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
56706
56707 2008-05-18  Bruno Haible  <bruno@clisp.org>
56708
56709         * modules/propername: New file, from GNU gettext.
56710         * lib/propername.h: New file, from GNU gettext.
56711         * lib/propername.c: New file, from GNU gettext.
56712         * MODULES.html.sh (Internationalization functions): Add propername.
56713
56714 2008-05-16  Jim Meyering  <meyering@redhat.com>
56715             Bruno Haible  <bruno@clisp.org>
56716
56717         Avoid some warnings from "gcc -Wshadow".
56718         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
56719
56720 2008-05-15  Eric Blake  <ebb9@byu.net>
56721
56722         Extend previous patch to cygwin 1.7.0.
56723         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
56724         fast implementation in cygwin >= 1.7.0.
56725         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56726         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56727
56728 2008-05-15  Bruno Haible  <bruno@clisp.org>
56729
56730         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
56731         implementation in glibc >= 2.9.
56732         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56733         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56734
56735 2008-05-15  Bruno Haible  <bruno@clisp.org>
56736
56737         * MODULES.html.sh (Internationalization functions): Remove linebreak.
56738         (Unicode string functions): Add unilbrk/*.
56739         Reported by Karl Berry.
56740
56741 2008-05-15  Eric Blake  <ebb9@byu.net>
56742
56743         Fix violation of <stdbool.h> replacement in regex.
56744         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
56745         * lib/regexec.c (re_search_internal): Likewise.
56746         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
56747
56748 2008-05-15  Jim Meyering  <meyering@redhat.com>
56749
56750         avoid distracting test output when git or cvs is not found
56751         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
56752         * tests/test-vc-list-files-git.sh: Likewise.
56753
56754 2008-05-15  Eric Blake  <ebb9@byu.net>
56755
56756         Glibc finally accepted the memmem speedup code, bugzilla #5514.
56757         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
56758         glibc version.
56759         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
56760         * doc/posix-functions/strstr.texi (strstr): Likewise.
56761         * lib/str-two-way.h (MAX): Sychronize with glibc.
56762
56763 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
56764
56765         * lib/regcomp.c (optimize_utf8): Add a note on why we test
56766         opr.ctx_type.
56767         (calc_first): Initialize constraint field.
56768         (duplicate_node_closure): Use it instead of special casing ANCHORS.
56769         Fix grammar.
56770         (duplicate_node): Merge constraint field for all node types.
56771         (calc_eclosure_iter): Look at constraint field for all node types.
56772         * lib/regex_internal.c (create_cd_newstate): Don't look at
56773         opr.ctx_type.
56774
56775 2008-05-14  Bruno Haible  <bruno@clisp.org>
56776
56777         Help GCC to do better code generation.
56778         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
56779         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
56780         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
56781         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
56782         Declare with attribute 'malloc' if supported.
56783
56784 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
56785
56786         use "echo STR|wc -c" rather than unportable "expr length STR"
56787         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
56788         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
56789
56790 2008-05-14  Jim Meyering  <meyering@redhat.com>
56791
56792         use dd ibs=$n count=1 ... rather than less-portable head -c$n
56793         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
56794         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
56795         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
56796         via Collin Lasse.
56797
56798 2008-05-14  Eric Blake  <ebb9@byu.net>
56799
56800         Avoid quadratic growth in gl_LIBSOURCES.
56801         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
56802         Suggested by Bruno Haible.
56803
56804         Test xmemdup0.
56805         * modules/xmemdup0-tests: New file.
56806         * tests/test-xmemdup0.c: Likewise.
56807
56808 2008-05-13  Eric Blake  <ebb9@byu.net>
56809
56810         Split xmemdup0 into its own module.
56811         * modules/xmemdup0: New file.
56812         * lib/xmemdup0.h: Likewise.
56813         * lib/xmemdup0.c: Likewise.
56814         * MODULES.html.sh (Memory management functions): Add xmemdup0.
56815         * lib/xalloc.h (xmemdup0): Remove.
56816         * lib/xmalloc.c (xmemdup0): Likewise.
56817
56818 2008-05-13  Eric Blake  <ebb9@byu.net>
56819             Bruno Haible  <bruno@clisp.org>
56820
56821         Reduce number of forks required during autoconf.
56822         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
56823         and gl_LIBSOURCES_DIR.
56824         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
56825         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
56826         m4_syscmd per file.
56827         <m4_foreach_w>: Move...
56828         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
56829
56830 2008-05-13  Eric Blake  <ebb9@byu.net>
56831
56832         * gnulib-tool: Fix various comment typos.
56833
56834 2008-05-12  Bruno Haible  <bruno@clisp.org>
56835
56836         Tailor the linebreaking algorithm.
56837         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
56838
56839 2008-05-12  Bruno Haible  <bruno@clisp.org>
56840
56841         Update to Unicode 5.0.0.
56842         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56843         LBP_JV, LBP_JT. Redistribute values.
56844         (unilbrk_table): Change size.
56845         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
56846         Unicode TR#14 rev. 22.
56847         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56848         LBP_JV, LBP_JT. Redistribute values.
56849         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
56850         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
56851         Update.
56852         * lib/unilbrk/lbrkprop1.h: Regenerated.
56853         * lib/unilbrk/lbrkprop2.h: Regenerated.
56854         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
56855         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
56856         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
56857         Likewise.
56858         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
56859         Likewise.
56860         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
56861         result.
56862         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
56863         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
56864         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
56865         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
56866         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
56867         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
56868
56869 2008-05-11  Bruno Haible  <bruno@clisp.org>
56870
56871         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
56872
56873 2008-05-11  Bruno Haible  <bruno@clisp.org>
56874
56875         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
56876         * modules/unilbrk/gen-lbrk: New file.
56877
56878 2008-05-11  Bruno Haible  <bruno@clisp.org>
56879
56880         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
56881         * m4/sha512.m4 (gl_SHA512): Likewise.
56882
56883 2008-05-11  Jim Meyering  <meyering@redhat.com>
56884
56885         New modules: crypto/sha256, crypto/sha512 (from coreutils)
56886         * modules/crypto/sha256: New file.
56887         * modules/crypto/sha512: Likewise.
56888         * lib/sha256.c: Likewise.
56889         * lib/sha256.h: Likewise.
56890         * lib/sha512.c: Likewise.
56891         * lib/sha512.h: Likewise.
56892         * lib/u64.h: Likewise.
56893         * m4/sha256.m4: Likewise.
56894         * m4/sha512.m4: Likewise.
56895         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
56896
56897 2008-05-10  Bruno Haible  <bruno@clisp.org>
56898
56899         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
56900         (Input/Output <stdio.h>): Add xprintf.
56901         (Signal handling <signal.h>): Add strsignal.
56902         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
56903         (Core language properties): Add func.
56904         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
56905         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
56906         strings.
56907         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
56908         (Input/output): New section.
56909         (File system functions): Add openat-die, stat-macros.
56910         (Networking functions): Add sockets.
56911         (Unicode string functions): Add unictype/*.
56912         (Support for building libraries and executables): Add gperf.
56913         (Support for building documentation): Add agpl-3.0.
56914         (Misc): Add nocrash.
56915
56916 2008-05-10  Bruno Haible  <bruno@clisp.org>
56917
56918         * modules/unictype/gen-ctype: New file.
56919
56920 2008-05-10  Jim Meyering  <meyering@redhat.com>
56921
56922         Make chdir-safer.c more efficient on a system with no symlinks.
56923         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
56924         also if ELOOP is zero.  Suggested by Bruno Haible.
56925
56926         Make chdir-safer.c slightly safer.
56927         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
56928         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
56929
56930         Avoid compile failure on systems without ELOOP (like mingw).
56931         * lib/chdir-safer.c (ELOOP): Define if not already defined.
56932         Reported by Bruno Haible.
56933
56934 2008-05-10  Bruno Haible  <bruno@clisp.org>
56935
56936         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
56937         (is_utf8_encoding): Use a case-insensitive comparison.
56938         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
56939         streq.
56940
56941 2008-05-10  Bruno Haible  <bruno@clisp.org>
56942
56943         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
56944         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
56945         * lib/unilbrk/ulc-common.h (iconv_string_length,
56946         iconv_string_keeping_offsets): Remove declarations.
56947         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
56948         Don't include <iconv.h>, streq.h, xsize.h.
56949         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
56950         conversion.
56951         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
56952         <iconv.h>, streq.h, xsize.h.
56953         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
56954         conversion.
56955         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
56956         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
56957         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
56958         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
56959
56960 2008-05-10  Bruno Haible  <bruno@clisp.org>
56961
56962         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
56963         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
56964
56965         * modules/unilbrk/u32-width-linebreaks-tests: New file.
56966         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
56967
56968         * modules/unilbrk/u16-width-linebreaks-tests: New file.
56969         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
56970
56971         * modules/unilbrk/u8-width-linebreaks-tests: New file.
56972         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
56973
56974         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
56975         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
56976
56977         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
56978         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
56979
56980         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
56981         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
56982
56983         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
56984         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
56985
56986 2008-05-10  Bruno Haible  <bruno@clisp.org>
56987
56988         Split up 'linebreak' module.
56989         * lib/unilbrk.h: New file, based on lib/linebreak.h.
56990         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
56991         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
56992         modifications.
56993         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
56994         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
56995         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
56996         lib/linebreak.c.
56997         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
56998         lib/linebreak.c.
56999         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
57000         lib/linebreak.c.
57001         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
57002         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
57003         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
57004         lib/linebreak.c.
57005         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
57006         lib/linebreak.c.
57007         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
57008         lib/linebreak.c.
57009         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
57010         lib/linebreak.c.
57011         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
57012         lib/linebreak.c.
57013         * modules/unilbrk/base: New file.
57014         * modules/unilbrk/tables: New file.
57015         * modules/unilbrk/u8-possible-linebreaks: New file.
57016         * modules/unilbrk/u16-possible-linebreaks: New file.
57017         * modules/unilbrk/u32-possible-linebreaks: New file.
57018         * modules/unilbrk/ulc-common: New file.
57019         * modules/unilbrk/ulc-possible-linebreaks: New file.
57020         * modules/unilbrk/u8-width-linebreaks: New file.
57021         * modules/unilbrk/u16-width-linebreaks: New file.
57022         * modules/unilbrk/u32-width-linebreaks: New file.
57023         * modules/unilbrk/ulc-width-linebreaks: New file.
57024         * lib/linebreak.h: Remove file.
57025         * lib/linebreak.c: Remove file.
57026         * m4/linebreak.m4: Remove file.
57027         * modules/linebreak: Remove file.
57028         * NEWS: Mention the changes.
57029
57030 2008-05-09  Eric Blake  <ebb9@byu.net>
57031
57032         Add xmemdup0.
57033         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
57034         implementation.
57035         * lib/xmalloc.c (xmemdup0): New C implementation.
57036
57037 2008-05-08  Bruno Haible  <bruno@clisp.org>
57038
57039         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
57040
57041 2008-05-07  Eric Blake  <ebb9@byu.net>
57042
57043         Support cross-compilation of <wctype.h>.
57044         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
57045         AC_CACHE_CHECK.
57046
57047 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
57048
57049         * build-aux/vc-list-files: Add support for bzr.
57050
57051 2008-05-03  Jim Meyering  <meyering@redhat.com>
57052
57053         avoid failed assertion with tight malloc
57054         * tests/test-getndelim2.c: Correct an off-by-one assertion.
57055
57056 2008-05-03  Simon Josefsson  <simon@josefsson.org>
57057
57058         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
57059         are needed from arpa/inet.h.
57060         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
57061         Reported by Bruno Haible.
57062
57063 2008-05-02  Jim Meyering  <meyering@redhat.com>
57064
57065         avoid compilation error on FreeBSD 6
57066         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
57067
57068 2008-05-01  Jim Meyering  <meyering@redhat.com>
57069
57070         useless-if-before-free: correct --help's exit status description
57071         * build-aux/useless-if-before-free (usage): Like grep, exit 0
57072         for one or more matches, etc.  Reported by Bruno Haible.
57073
57074         vc-list-files: make the stand-alone gnulib test work
57075         * modules/vc-list-files-tests (configure.ac):
57076         Define and AC_SUBST abs_aux_dir.
57077         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
57078         $(abs_top_srcdir) to each script and having each of them
57079         duplicate the work of setting PATH, set PATH here, using
57080         the new variable, abs_aux_dir instead.
57081         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
57082         * tests/test-vc-list-files-git.sh: Likewise.
57083         Reported by Bruno Haible.
57084
57085 2008-05-01  Bruno Haible  <bruno@clisp.org>
57086
57087         * lib/getndelim2.c (getndelim2): Fix newsize computation during
57088         reallocation. Rename 'done' to 'found_delimiter'.
57089
57090 2008-05-01  Jim Meyering  <meyering@redhat.com>
57091
57092         vc-list-files: accommodate /bin/sh like the one from Solaris 10
57093         * build-aux/vc-list-files: Use `...`, not $(...).
57094
57095 2008-04-30  Jim Meyering  <meyering@redhat.com>
57096
57097         add tests for vc-list-files
57098         * modules/vc-list-files-tests: New module.
57099         * tests/test-vc-list-files-cvs.sh: New file.
57100         * tests/test-vc-list-files-git.sh: New file.
57101
57102         avoid a warning from gcc
57103         * lib/getndelim2.c (IF_LINT): Define.
57104         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
57105
57106         vc-list-files: work properly with build-aux/cvsu, too
57107         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
57108         to all cvs-based clauses.
57109
57110         vc-list-files: work properly in the CVS+awk case, too
57111         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
57112
57113         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
57114         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
57115         take more than one file argument, so .  Add quotes, just in case $dir
57116         ever contains a shell meta-character.  Prompted by Soren Hansen in
57117         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
57118
57119 2008-04-29  Eric Blake  <ebb9@byu.net>
57120
57121         Optimize getndelim2 to use block operations when possible.
57122         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
57123         freadseek, and memchr2.
57124         * lib/getndelim2.c (getndelim2): Use them for block reads.
57125
57126 2008-04-29  Bruno Haible  <bruno@clisp.org>
57127
57128         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
57129         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57130         * modules/inet_ntop (Depends-on): Add extensions.
57131         * modules/inet_pton (Depends-on): Likewise.
57132         Reported by Simon Josefsson.
57133
57134 2008-04-29  Jim Meyering  <meyering@redhat.com>
57135
57136         When the is more than one match in a block, match all of them.
57137         * build-aux/useless-if-before-free: Iterate through each block
57138         until there are no more matches.
57139
57140         Fix broken useless-if-before-free script.
57141         * build-aux/useless-if-before-free: Fix typo: missing "?" after
57142         the expression to match cast of argument to free-like function.
57143
57144 2008-04-29  Eric Blake  <ebb9@byu.net>
57145
57146         Use new header.
57147         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
57148
57149 2008-04-29  Jim Meyering  <meyering@redhat.com>
57150
57151         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
57152         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
57153         by gnulib to exist and to declare e.g., inet_ntop.
57154         Don't include "inet_ntop.h", now removed.
57155
57156         * m4/arpa_inet_h.m4: Remove trailing blanks.
57157
57158 2008-04-29  Eric Blake  <ebb9@byu.net>
57159
57160         Silence valgrind on safe reads beyond potential array bounds.
57161         * lib/rawmemchr.valgrind: New file.
57162         * lib/strchrnul.valgrind: Likewise.
57163         * modules/rawmemchr (Files): Distribute new file.
57164         * modules/strchrnul (Files): Likewise.
57165         Suggested by Bruno Haible.
57166
57167 2008-04-29  Bruno Haible  <bruno@clisp.org>
57168
57169         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
57170         (inet_ntop, inet_pton): Change portability warning's wording.
57171         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
57172         Invoke gl_CHECK_NEXT_HEADERS.
57173         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
57174         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
57175         set ARPA_INET_H.
57176         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57177         * modules/arpa_inet (Description): No longer only for systems that
57178         lack it.
57179         (Depends-on): Add include_next.
57180         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
57181         HAVE_ARPA_INET_H.
57182
57183 2008-04-29  Jim Meyering  <meyering@redhat.com>
57184
57185         * modules/mkdir (License): Re-license as LGPLv2+.
57186
57187 2008-04-29  Bruno Haible  <bruno@clisp.org>
57188
57189         * modules/rawmemchr (Maintainer): Set to Eric.
57190         * modules/strchrnul (Maintainer): Likewise.
57191
57192 2008-04-29  Simon Josefsson  <simon@josefsson.org>
57193
57194         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
57195         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
57196
57197         * modules/arpa_inet (arpa/inet.h): Use them.
57198
57199 2008-04-28  Eric Blake  <ebb9@byu.net>
57200
57201         Test getndelim2.
57202         * modules/getndelim2-tests: New file.
57203         * tests/test-getndelim2.c: Likewise.
57204         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
57205         stream.
57206         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
57207
57208         * MODULES.html.sh: Document new module.
57209
57210 2008-04-20  Bruno Haible  <bruno@clisp.org>
57211
57212         * lib/c-stack.c (die): Use raise.
57213         * modules/c-stack (Depends-on): Add raise.
57214
57215 2008-04-28  Bruno Haible  <bruno@clisp.org>
57216
57217         Expect rpmatch to be declared.
57218         * lib/yesno.c (rpmatch): Remove declaration.
57219
57220         Declare rpmatch.
57221         * lib/stdlib.in.h (rpmatch): New declaration.
57222         * lib/rpmatch.c: Include <stdlib.h> first.
57223         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
57224         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
57225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
57226         HAVE_RPMATCH.
57227         * modules/rpmatch (Depends-on): Add stdlib, extensions.
57228         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57229         (Include): Set to <stdlib.h>.
57230         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
57231         HAVE_RPMATCH.
57232         * NEWS: Document the change.
57233
57234 2008-04-28  Bruno Haible  <bruno@clisp.org>
57235
57236         Change rpmatch to use nl_langinfo when appropriate.
57237         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
57238         (N_): New macro.
57239         (localized_pattern): New function/macro.
57240         (try): Remove match, nomatch arguments. Copy the pattern into safe
57241         memory before caching it.
57242         (rpmatch): Use localized_pattern. Add translator comments.
57243         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
57244         Suggested by Eric Blake.
57245         * modules/rpmatch (Depends-on): Add stdbool.
57246
57247 2008-04-28  Eric Blake  <ebb9@byu.net>
57248
57249         Add rawmemchr module, matching glibc.
57250         * modules/string (Makefile.am): New indicator.
57251         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
57252         * lib/string.in.h (rawmemchr): Declare when appropriate.
57253         * modules/rawmemchr: New file.
57254         * m4/rawmemchr.m4: Likewise.
57255         * lib/rawmemchr.c: Likewise.
57256         * modules/rawmemchr-tests: Likewise.
57257         * tests/test-rawmemchr.c: Likewise.
57258         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
57259         module.
57260         * modules/strchrnul (Depends-on): Add rawmemchr.
57261         * lib/strchrnul.c (strchrnul): Optimize a corner case.
57262
57263         Whitespace cleanup.
57264         * tests/test-strchrnul.c: Reindent.
57265         * lib/strchrnul.c: Likewise.
57266
57267         Optimize and test strchrnul.
57268         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
57269         * modules/strchrnul-tests: New file.
57270         * tests/test-strchrnul.c: Likewise.
57271
57272         Remove intprops dependency.
57273         * modules/memchr (Depends-on): Remove intprops.
57274         * modules/memrchr (Depends-on): Likewise.
57275         * modules/memchr2 (Depends-on): Likewise.
57276         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
57277         * lib/memrchr.c (__memrchr): Likewise.
57278         * lib/memrchr2.c (memchr2): Likewise.
57279         Reported by Simon Josefsson.
57280
57281 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57282
57283         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
57284         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57285
57286 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57287
57288         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
57289
57290         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
57291
57292         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
57293
57294         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
57295         declarations.
57296         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
57297
57298         * m4/inet_pton.m4: Don't check for header files.
57299
57300         * m4/inet_ntop.m4: Don't check for header files.
57301
57302 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57303
57304         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
57305         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
57306         trigger for cygwin).
57307         Reported by Bruno Haible  <bruno@clisp.org>.
57308
57309 2008-04-28  Bruno Haible  <bruno@clisp.org>
57310
57311         * doc/posix-functions/strdup.texi: Mention mingw problem.
57312
57313 2008-04-27  Bruno Haible  <bruno@clisp.org>
57314
57315         * modules/stat-time-tests (Depends-on): Add sleep.
57316         * tests/test-stat-time.c (force_unlink): New function.
57317         (cleanup): Use it.
57318         (test_mtime): Remove the ctime related tests.
57319         (test_ctime): New function, containing the ctime related tests.
57320         (main): Call test_ctime, except on native Windows platforms.
57321
57322 2008-04-27  Bruno Haible  <bruno@clisp.org>
57323
57324         * lib/rpmatch.c (rpmatch): Add some comments.
57325         Reported by James Youngman <jay@gnu.org>.
57326
57327 2008-04-27  Bruno Haible  <bruno@clisp.org>
57328
57329         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
57330         quiet NaNs.
57331
57332 2008-04-27  Bruno Haible  <bruno@clisp.org>
57333
57334         Make test-yesno.sh work on mingw.
57335         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
57336         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
57337         (main): Set stdin to binary mode.
57338         * modules/yesno-tests (Depends-on): Add binary-io.
57339
57340 2008-04-27  Bruno Haible  <bruno@clisp.org>
57341
57342         Fix 'isfinite' on x86, x86_64, ia64 platforms.
57343         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
57344         argument that lie outside the IEEE 854 domain.
57345         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
57346         (gl_ISFINITE): Use it.
57347         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
57348
57349 2008-04-27  Bruno Haible  <bruno@clisp.org>
57350
57351         Allow local renaming in config.h.
57352         * lib/memrchr.c (memrchr): Don't undefine outside libc.
57353
57354 2008-04-27  Bruno Haible  <bruno@clisp.org>
57355
57356         * lib/memchr.c (__memchr): Change type of 'i'.
57357         * lib/memchr2.c (memchr2): Likewise.
57358
57359 2008-04-26  Eric Blake  <ebb9@byu.net>
57360         and Bruno Haible  <bruno@clisp.org>
57361
57362         Optimize and test memrchr.
57363         * modules/memrchr (Depends-on): Add intprops.
57364         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
57365         * modules/memrchr-tests: New file.
57366         * tests/test-memrchr.c: New file.
57367
57368 2008-04-26  Bruno Haible  <bruno@clisp.org>
57369
57370         Add tentative support for DragonFly BSD.
57371         * lib/stdio-impl.h: Add macros for DragonFly BSD.
57372         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
57373         fp.
57374         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57375         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
57376         * lib/fpurge.c (fpurge): Likewise.
57377         * lib/freadable.c (freaadable): Likewise.
57378         * lib/freadahead.c (freadahead): Likewise.
57379         * lib/freading.c (freading): Likewise.
57380         * lib/freadptr.c (freadptr): Likewise.
57381         * lib/freadseek.c (freadptrinc): Likewise.
57382         * lib/fseeko.c (fseeko): Likewise.
57383         * lib/fseterr.c (fseterr): Likewise.
57384         * lib/fwritable.c (fwritable): Likewise.
57385         * lib/fwriting.c (fwriting): Likewise.
57386
57387 2008-04-26  Bruno Haible  <bruno@clisp.org>
57388
57389         * lib/stdio-impl.h: New file.
57390         * lib/fbufmode.c: Include stdio-impl.h.
57391         (fbufmode): Use fp_, remove redundant #defines.
57392         * lib/fflush.c: Include stdio-impl.h.
57393         (clear_ungetc_buffer): Remove redundant #defines.
57394         * lib/fpurge.c: Include stdio-impl.h.
57395         (fpurge): Remove redundant #defines.
57396         * lib/freadable.c: Include stdio-impl.h.
57397         (freadable): Remove redundant #defines.
57398         * lib/freadahead.c: Include stdio-impl.h.
57399         (freadahead): Remove redundant #defines.
57400         * lib/freading.c: Include stdio-impl.h.
57401         (freading): Remove redundant #defines.
57402         * lib/freadptr.c: Include stdio-impl.h.
57403         (freadptr): Remove redundant #defines.
57404         * lib/freadseek.c: Include stdio-impl.h.
57405         (freadptrinc): Remove redundant #defines.
57406         * lib/fseeko.c: Include stdio-impl.h.
57407         (rpl_fseeko): Remove redundant #defines.
57408         * lib/fseterr.c: Include stdio-impl.h.
57409         (fseterr): Remove redundant #defines.
57410         * lib/fwritable.c: Include stdio-impl.h.
57411         (fwritable: Remove redundant #defines.
57412         * lib/fwriting.c: Include stdio-impl.h.
57413         (fwriting): Remove redundant #defines.
57414         * modules/fbufmode (Files): Add lib/stdio-impl.h.
57415         * modules/fflush (Files): Likewise.
57416         * modules/fpurge (Files): Likewise.
57417         * modules/freadable (Files): Likewise.
57418         * modules/freadahead (Files): Likewise.
57419         * modules/freading (Files): Likewise.
57420         * modules/freadptr (Files): Likewise.
57421         * modules/freadseek (Files): Likewise.
57422         * modules/fseeko (Files): Likewise.
57423         * modules/fseterr (Files): Likewise.
57424         * modules/fwritable (Files): Likewise.
57425         * modules/fwriting (Files): Likewise.
57426
57427 2008-04-26  Bruno Haible  <bruno@clisp.org>
57428
57429         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57430         restore_seek_optimization, update_fpos_cache): New functions, extracted
57431         from rpl_fflush.
57432         (rpl_fflush): Use them.
57433         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
57434         (gl_REPLACE_FFLUSH): Use it.
57435
57436 2008-04-26  Bruno Haible  <bruno@clisp.org>
57437
57438         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
57439         on Solaris.
57440         * tests/test-xstrtoimax.sh: Likewise.
57441         * tests/test-xstrtoumax.sh: Likewise.
57442         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57443
57444 2008-04-26  Bruno Haible  <bruno@clisp.org>
57445
57446         * modules/memchr-tests: New file.
57447         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
57448
57449 2008-04-26  Eric Blake  <ebb9@byu.net>
57450             Bruno Haible  <bruno@clisp.org>
57451
57452         * lib/memchr.c: Include intprops.h.
57453         (__memchr): Optimize parallel detection of matching bytes. Rename local
57454         variables. Add explanatory comments.
57455
57456 2008-04-26  Bruno Haible  <bruno@clisp.org>
57457
57458         Fix module 'memchr', broken since 2000-10-28.
57459         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
57460
57461 2008-04-26  Bruno Haible  <bruno@clisp.org>
57462
57463         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
57464         comments.
57465
57466 2008-04-25  Eric Blake  <ebb9@byu.net>
57467
57468         Use native fstatat on cygwin 1.7.0.
57469         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
57470         first.
57471
57472 2008-04-23  Eric Blake  <ebb9@byu.net>
57473
57474         Improve memchr2 performance.
57475         * lib/memchr2.c (memchr2): Further optimize parallel detection of
57476         NUL bytes.
57477         * modules/memchr2 (Depends-on): Use intprops.h.
57478
57479 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57480
57481         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
57482         an inline function instead of a CPP macro.  Patch by Ben Pfaff
57483         <blp@cs.stanford.edu>.
57484
57485 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57486
57487         * lib/arpa_inet.in.h: New file.
57488
57489         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
57490         (Makefile.am): Sed in substitute header file.
57491
57492         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
57493         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
57494
57495         * modules/inet_ntop (configure.ac): Use
57496         gl_ARPA_INET_MODULE_INDICATOR.
57497
57498         * modules/inet_pton (configure.ac): Use
57499         gl_ARPA_INET_MODULE_INDICATOR.
57500
57501 2008-04-22  Jim Meyering  <meyering@redhat.com>
57502
57503         * modules/verify (License): Re-license as LGPLv2+.
57504
57505 2008-04-22  Simon Josefsson  <simon@josefsson.org>
57506
57507         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
57508         parameter to void* as per POSIX standard (MinGW uses char*).
57509
57510 2008-04-21  Bruno Haible  <bruno@clisp.org>
57511
57512         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57513         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57514         Define to replacements if REPLACE_ISWCNTRL is 1.
57515         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
57516         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
57517         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
57518         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
57519         what it fixes.
57520         * doc/posix-functions/iswalpha.texi: Likewise.
57521         * doc/posix-functions/iswblank.texi: Likewise.
57522         * doc/posix-functions/iswcntrl.texi: Likewise.
57523         * doc/posix-functions/iswdigit.texi: Likewise.
57524         * doc/posix-functions/iswgraph.texi: Likewise.
57525         * doc/posix-functions/iswlower.texi: Likewise.
57526         * doc/posix-functions/iswprint.texi: Likewise.
57527         * doc/posix-functions/iswpunct.texi: Likewise.
57528         * doc/posix-functions/iswspace.texi: Likewise.
57529         * doc/posix-functions/iswupper.texi: Likewise.
57530         * doc/posix-functions/iswxdigit.texi: Likewise.
57531         Reported by Alain Guibert.
57532
57533 2008-04-21  Bruno Haible  <bruno@clisp.org>
57534
57535         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
57536         Patch by Alain Guibert.
57537
57538 2008-04-21  Bruno Haible  <bruno@clisp.org>
57539
57540         Fix test failures on mingw.
57541         * tests/test-xstrtol.c (print_no_progname): New function.
57542         (main): Install it in error_print_progname hook.
57543         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
57544         * tests/test-xstrtoimax.sh: Likewise.
57545         * tests/test-xstrtoumax.sh: Likewise.
57546
57547 2008-04-21  Bruno Haible  <bruno@clisp.org>
57548
57549         Fix test failure on mingw.
57550         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
57551
57552 2008-04-21  Bruno Haible  <bruno@clisp.org>
57553
57554         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
57555         Actually assign a value.
57556
57557 2008-04-20  Bruno Haible  <bruno@clisp.org>
57558
57559         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
57560         take 2.
57561         * lib/canonicalize.c (canonicalize_file_name): Elide if the
57562         'canonicalize-lgpl' module is also used.
57563         * lib/canonicalize-lgpl.c: Undo last change.
57564         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
57565
57566 2008-04-20  Bruno Haible  <bruno@clisp.org>
57567
57568         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
57569         config.h. Provide _mkdir based fallback for mingw.
57570         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
57571         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
57572         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
57573         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
57574         rather than defining mkdir in config.h.
57575         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
57576         (gl_SYS_STAT_H_DEFAULTS): New macro.
57577         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
57578         HAVE_IO_H any more.
57579         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
57580         HAVE_DECL_MKDIR and HAVE_IO_H.
57581
57582 2008-04-20  Bruno Haible  <bruno@clisp.org>
57583
57584         * lib/isapipe.c: Port to native Windows platforms.
57585
57586 2008-04-20  Bruno Haible  <bruno@clisp.org>
57587
57588         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
57589
57590 2008-04-21  Eric Blake  <ebb9@byu.net>
57591
57592         Work around preprocessors that don't handle UINTMAX_MAX.
57593         * lib/memchr2.c (memchr2): Avoid embedded #if.
57594         Reported by Alain Guibert, fix suggested by Bruno Haible.
57595
57596 2008-04-21  Simon Josefsson  <simon@josefsson.org>
57597
57598         * doc/posix-functions/strftime.texi (strftime): Explain better
57599         Windows incompatibility.  Suggested by Micah Cowan
57600         <micah@cowan.name>.
57601
57602 2008-04-20  Bruno Haible  <bruno@clisp.org>
57603
57604         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
57605         unistr/u8-mblen.
57606
57607 2008-04-20  Bruno Haible  <bruno@clisp.org>
57608
57609         Fix test failure on platforms with non-GNU iconv.
57610         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
57611         (U_TO_U8): Use it, rather than u16_to_u8.
57612         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
57613         units at the end of the input string.
57614         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
57615
57616 2008-04-20  Bruno Haible  <bruno@clisp.org>
57617
57618         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
57619         when the resulting length is 0.
57620         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
57621
57622 2008-04-20  Bruno Haible  <bruno@clisp.org>
57623
57624         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
57625         works.
57626         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
57627
57628 2008-04-20  Bruno Haible  <bruno@clisp.org>
57629
57630         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
57631         * modules/tsearch-tests (configure.ac): Test for initstate function.
57632
57633 2008-04-20  Bruno Haible  <bruno@clisp.org>
57634
57635         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
57636         for nlink_t if missing.
57637         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
57638
57639 2008-04-19  Bruno Haible  <bruno@clisp.org>
57640
57641         Work around snprintf bug on Linux libc5.
57642         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
57643         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57644         gl_SNPRINTF_SIZE1.
57645         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57646         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
57647         that test failed.
57648         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
57649         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
57650         * modules/snprintf (Files): Add m4/printf.m4.
57651         * modules/vsnprintf (Files): Likewise.
57652         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
57653         * doc/posix-functions/vsnprintf.texi: Likewise.
57654
57655 2008-04-19  Bruno Haible  <bruno@clisp.org>
57656
57657         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
57658         from 0.0058 to less than 10^-7.
57659
57660 2008-04-19  Bruno Haible  <bruno@clisp.org>
57661
57662         Fix rounding when a precision is given.
57663         * lib/vasnprintf.c (is_borderline): New function.
57664         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
57665         9...9x.
57666         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
57667         %e, %g.
57668         * tests/test-vasprintf-posix.c (test_function): Likewise.
57669         * tests/test-snprintf-posix.h (test_function): Likewise.
57670         * tests/test-sprintf-posix.h (test_function): Likewise.
57671         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
57672         * tests/test-printf-posix.h (test_function): Likewise.
57673         * tests/test-printf-posix.output: Update.
57674         Reported by John Darrington <john@darrington.wattle.id.au> via
57675         Ben Pfaff <blp@cs.stanford.edu>.
57676
57677 2008-04-18  Simon Josefsson  <simon@josefsson.org>
57678
57679         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
57680         Suggested by Bruno Haible <bruno@clisp.org>.
57681
57682 2008-04-17  Bruno Haible  <bruno@clisp.org>
57683
57684         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
57685         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
57686         implementation.
57687         Patch by Bruce Merry <bmerry@gmail.com>.
57688
57689 2008-04-17  Simon Josefsson  <simon@josefsson.org>
57690
57691         * doc/posix-functions/strftime.texi (strftime): Mention that %e
57692         doesn't work under Windows.
57693
57694 2008-04-16  Bruno Haible  <bruno@clisp.org>
57695
57696         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
57697         New macros.
57698         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
57699         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
57700         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
57701         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
57702         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
57703         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
57704         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
57705         macros.
57706         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
57707         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
57708         Northern Sotho, Uighur.
57709
57710 2008-04-16  Bruno Haible  <bruno@clisp.org>
57711
57712         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
57713         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
57714         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
57715         Reported by Daniel Bergström <daniel@octocode.com>.
57716
57717 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
57718             Bruno Haible  <bruno@clisp.org>
57719
57720         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
57721         function.
57722         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
57723         New functions, mostly extracted from gl_locale_name_default.
57724         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
57725
57726 2008-04-16  Eric Blake  <ebb9@byu.net>
57727
57728         Adjust strtod detection to catch glibc 2.7 bug.
57729         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
57730         Reported by John Gatewood Ham.
57731
57732 2008-04-16  Bruno Haible  <bruno@clisp.org>
57733
57734         Add tentative support for Linux libc5.
57735         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
57736         * lib/fpurge.c (fpurge): Likewise.
57737         * lib/freadable.c (freadable): Likewise.
57738         * lib/freadahead.c (freadahead): Likewise.
57739         * lib/freading.c (freading): Likewise.
57740         * lib/freadptr.c (freadptr): Likewise.
57741         * lib/freadseek.c (freadptrinc): Likewise.
57742         * lib/fseeko.c (rpl_fseeko): Likewise.
57743         * lib/fseterr.c (fseterr): Likewise.
57744         * lib/fwritable.c (fwritable): Likewise.
57745         * lib/fwriting.c (fwriting): Likewise.
57746         Reported by Alain Guibert <alguibert+bts@free.fr>.
57747
57748 2008-04-15  Bruno Haible  <bruno@clisp.org>
57749
57750         * modules/mathl (configure.ac): Define module indicator.
57751
57752 2008-04-15  Bruno Haible  <bruno@clisp.org>
57753
57754         * lib/logl.c (logl): Remove unused variables.
57755
57756 2008-04-15  Bruno Haible  <bruno@clisp.org>
57757
57758         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
57759         fails.
57760
57761 2008-04-15  Bruno Haible  <bruno@clisp.org>
57762
57763         * lib/trim.c (trim2): Fix argument of isspace() macro.
57764
57765 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
57766
57767         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
57768         to 0.
57769         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
57770
57771 2008-04-14  Bruno Haible  <bruno@clisp.org>
57772
57773         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
57774         AC_LANG_PROGRAM argument.
57775         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
57776         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
57777         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
57778         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57779         * m4/math_h.m4 (gl_MATH_H): Likewise.
57780         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
57781         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57782         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57783         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
57784         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57785         * m4/regex.m4 (gl_REGEX): Likewise.
57786         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
57787         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
57788         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57789         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
57790         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57791         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57792         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57793         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57794
57795 2008-04-14  Jim Meyering  <meyering@redhat.com>
57796
57797         test-strtod: fix typos: s/abs/fabs/
57798         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
57799
57800 2008-04-13  Bruno Haible  <bruno@clisp.org>
57801
57802         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
57803         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
57804         module is also used and while not building the reloc-wrapper.
57805
57806 2008-04-13  Bruno Haible  <bruno@clisp.org>
57807
57808         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
57809
57810 2008-04-13  Bruno Haible  <bruno@clisp.org>
57811
57812         Fix AIX compilation failure introduced on 2008-04-02.
57813         * tests/test-frexp.c (exp): Undefine before redefining.
57814         * tests/test-frexpl.c (exp): Likewise.
57815
57816 2008-04-13  Bruno Haible  <bruno@clisp.org>
57817
57818         Work around a HP-UX stdio bug.
57819         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
57820         * tests/test-ftello.c (main): Likewise.
57821         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
57822         * doc/posix-functions/ftello.texi: Likewise.
57823
57824 2008-04-13  Bruno Haible  <bruno@clisp.org>
57825
57826         Make test-signbit pass on HP-UX/hppa.
57827         * tests/test-signbit.c (minus_zerol): New variable.
57828         (test_signbitl): Use it.
57829
57830 2008-04-13  Bruno Haible  <bruno@clisp.org>
57831
57832         Make truncl work on OSF/1 4.0.
57833         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
57834         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57835         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57836         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
57837         HAVE_DECL_TRUNCL.
57838         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
57839         HAVE_DECL_TRUNCL.
57840         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
57841
57842 2008-04-13  Bruno Haible  <bruno@clisp.org>
57843
57844         * lib/unictype.h: Remove trailing comma from enumeration definitions.
57845
57846 2008-04-13  Bruno Haible  <bruno@clisp.org>
57847
57848         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
57849         expression, so as to avoid HP-UX 11 cc compiler bug.
57850
57851 2008-04-13  Bruno Haible  <bruno@clisp.org>
57852
57853         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
57854
57855 2008-04-13  Bruno Haible  <bruno@clisp.org>
57856
57857         * lib/git-merge-changelog.c: Remove empty declaration outside of
57858         functions.
57859
57860 2008-04-13  Bruno Haible  <bruno@clisp.org>
57861
57862         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
57863
57864 2008-04-13  Bruno Haible  <bruno@clisp.org>
57865
57866         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
57867         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
57868         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
57869         also if it exists but lacks definitions of the SHUT_* macros.
57870         * modules/sys_socket (Description): Update.
57871         Reported by Elbert Pol <e.pol@chello.nl>.
57872
57873 2008-04-13  Bruno Haible  <bruno@clisp.org>
57874
57875         * lib/localcharset.c (OS2): Don't redefine if already defined.
57876         Reported by Elbert Pol <e.pol@chello.nl>.
57877
57878 2008-04-13  Bruno Haible  <bruno@clisp.org>
57879
57880         * lib/binary-io.h [__EMX__]: Include <io.h>.
57881         Reported by Elbert Pol <e.pol@chello.nl>.
57882
57883 2008-04-12  Bruno Haible  <bruno@clisp.org>
57884
57885         * lib/fpucw.h: Enable the definitions also for x86_64.
57886         Needed for NetBSD/x86_64.
57887         Reported by Thomas Klausner <tk@giga.or.at>.
57888
57889 2008-04-12  Bruno Haible  <bruno@clisp.org>
57890
57891         * tests/test-strtod.c: Include isnand.h.
57892         (main): Use isnand instead of isnan.
57893         Reported by Jim Meyering.
57894
57895 2008-04-12  Bruno Haible  <bruno@clisp.org>
57896
57897         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
57898         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57899
57900 2008-04-12  Jim Meyering  <meyering@redhat.com>
57901
57902         * m4/math_h.m4 (gl_MATH_H): Fix typos.
57903
57904 2008-04-12  Bruno Haible  <bruno@clisp.org>
57905
57906         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
57907         Reported by Elbert Pol <e.pol@chello.nl>.
57908
57909 2008-04-12  Eric Blake  <ebb9@byu.net>
57910
57911         Work around Solaris 10 math.h bug.
57912         * m4/math_h.m4 (gl_MATH_H): Check for bug.
57913         (gl_MATH_H_DEFAULTS): Set up default.
57914         * modules/math (Makefile.am): Replace new indicators.
57915         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
57916         * tests/test-math.c (main): Test this.
57917         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
57918         * doc/posix-headers/math.texi (math.h): Mention bug.
57919         Reported by Nelson H. F. Beebe and Jim Meyering.
57920
57921 2008-04-11  Bruno Haible  <bruno@clisp.org>
57922
57923         Adapt to future versions of Apple GCC.
57924         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
57925         Reported by Peter O'Gorman <peter@pogma.com>.
57926
57927 2008-04-11  Bruno Haible  <bruno@clisp.org>
57928
57929         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
57930
57931 2008-04-11  Bruno Haible  <bruno@clisp.org>
57932
57933         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
57934
57935         * modules/getaddrinfo-tests (Makefile.am): Define
57936         test_getaddrinfo_LDADD.
57937
57938 2008-04-11  Bruno Haible  <bruno@clisp.org>
57939
57940         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
57941         (init): Fix syntax error.
57942         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
57943         is declared.
57944
57945 2008-04-11  Bruno Haible  <bruno@clisp.org>
57946
57947         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
57948         * modules/glob (Depends-on): Add stdbool.
57949
57950 2008-04-11  Bruno Haible  <bruno@clisp.org>
57951
57952         * lib/trim.c: Include <string.h>.
57953
57954 2008-04-11  Eric Blake  <ebb9@byu.net>
57955
57956         Avoid compile failure on OS/2.
57957         * lib/regex_internal.h (internal_function): Disable optimization
57958         on OS/2 (__EMX__), where it caused compiler error.
57959         Reported by Elbert Pol.
57960
57961 2008-04-11  Bruno Haible  <bruno@clisp.org>
57962
57963         Flush the standard error stream before aborting. Needed on mingw.
57964         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
57965         * tests/test-array_list.c (ASSERT): Likewise.
57966         * tests/test-array_oset.c (ASSERT): Likewise.
57967         * tests/test-avltree_list.c (ASSERT): Likewise.
57968         * tests/test-avltree_oset.c (ASSERT): Likewise.
57969         * tests/test-avltreehash_list.c (ASSERT): Likewise.
57970         * tests/test-binary-io.c (ASSERT): Likewise.
57971         * tests/test-byteswap.c (ASSERT): Likewise.
57972         * tests/test-c-ctype.c (ASSERT): Likewise.
57973         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
57974         * tests/test-c-strcasestr.c (ASSERT): Likewise.
57975         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
57976         * tests/test-c-strstr.c (ASSERT): Likewise.
57977         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
57978         * tests/test-canonicalize.c (ASSERT): Likewise.
57979         * tests/test-carray_list.c (ASSERT): Likewise.
57980         * tests/test-ceilf1.c (ASSERT): Likewise.
57981         * tests/test-ceilf2.c (ASSERT): Likewise.
57982         * tests/test-ceill.c (ASSERT): Likewise.
57983         * tests/test-count-one-bits.c (ASSERT): Likewise.
57984         * tests/test-fbufmode.c (ASSERT): Likewise.
57985         * tests/test-fflush2.c (ASSERT): Likewise.
57986         * tests/test-floorf1.c (ASSERT): Likewise.
57987         * tests/test-floorf2.c (ASSERT): Likewise.
57988         * tests/test-floorl.c (ASSERT): Likewise.
57989         * tests/test-fopen.c (ASSERT): Likewise.
57990         * tests/test-fpending.c (ASSERT): Likewise.
57991         * tests/test-fprintf-posix.c (ASSERT): Likewise.
57992         * tests/test-fpurge.c (ASSERT): Likewise.
57993         * tests/test-freadable.c (ASSERT): Likewise.
57994         * tests/test-freadahead.c (ASSERT): Likewise.
57995         * tests/test-freading.c (ASSERT): Likewise.
57996         * tests/test-freadptr.c (ASSERT): Likewise.
57997         * tests/test-freadptr2.c (ASSERT): Likewise.
57998         * tests/test-freadseek.c (ASSERT): Likewise.
57999         * tests/test-freopen.c (ASSERT): Likewise.
58000         * tests/test-frexp.c (ASSERT): Likewise.
58001         * tests/test-frexpl.c (ASSERT): Likewise.
58002         * tests/test-fseek.c (ASSERT): Likewise.
58003         * tests/test-fseeko.c (ASSERT): Likewise.
58004         * tests/test-fstrcmp.c (ASSERT): Likewise.
58005         * tests/test-ftell.c (ASSERT): Likewise.
58006         * tests/test-ftello.c (ASSERT): Likewise.
58007         * tests/test-func.c (ASSERT): Likewise.
58008         * tests/test-fwritable.c (ASSERT): Likewise.
58009         * tests/test-fwriting.c (ASSERT): Likewise.
58010         * tests/test-getdelim.c (ASSERT): Likewise.
58011         * tests/test-getline.c (ASSERT): Likewise.
58012         * tests/test-i-ring.c (ASSERT): Likewise.
58013         * tests/test-iconv-utf.c (ASSERT): Likewise.
58014         * tests/test-iconv.c (ASSERT): Likewise.
58015         * tests/test-isfinite.c (ASSERT): Likewise.
58016         * tests/test-isnand.c (ASSERT): Likewise.
58017         * tests/test-isnanf.c (ASSERT): Likewise.
58018         * tests/test-isnanl.h (ASSERT): Likewise.
58019         * tests/test-ldexpl.c (ASSERT): Likewise.
58020         * tests/test-linked_list.c (ASSERT): Likewise.
58021         * tests/test-linkedhash_list.c (ASSERT): Likewise.
58022         * tests/test-localename.c (ASSERT): Likewise.
58023         * tests/test-lseek.c (ASSERT): Likewise.
58024         * tests/test-mbscasecmp.c (ASSERT): Likewise.
58025         * tests/test-mbscasestr1.c (ASSERT): Likewise.
58026         * tests/test-mbscasestr2.c (ASSERT): Likewise.
58027         * tests/test-mbscasestr3.c (ASSERT): Likewise.
58028         * tests/test-mbscasestr4.c (ASSERT): Likewise.
58029         * tests/test-mbschr.c (ASSERT): Likewise.
58030         * tests/test-mbscspn.c (ASSERT): Likewise.
58031         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
58032         * tests/test-mbspbrk.c (ASSERT): Likewise.
58033         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
58034         * tests/test-mbsrchr.c (ASSERT): Likewise.
58035         * tests/test-mbsspn.c (ASSERT): Likewise.
58036         * tests/test-mbsstr1.c (ASSERT): Likewise.
58037         * tests/test-mbsstr2.c (ASSERT): Likewise.
58038         * tests/test-mbsstr3.c (ASSERT): Likewise.
58039         * tests/test-memchr2.c (ASSERT): Likewise.
58040         * tests/test-memmem.c (ASSERT): Likewise.
58041         * tests/test-open.c (ASSERT): Likewise.
58042         * tests/test-printf-frexp.c (ASSERT): Likewise.
58043         * tests/test-printf-frexpl.c (ASSERT): Likewise.
58044         * tests/test-printf-posix.c (ASSERT): Likewise.
58045         * tests/test-quotearg.c (ASSERT): Likewise.
58046         * tests/test-rbtree_list.c (ASSERT): Likewise.
58047         * tests/test-rbtree_oset.c (ASSERT): Likewise.
58048         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
58049         * tests/test-round1.c (ASSERT): Likewise.
58050         * tests/test-roundf1.c (ASSERT): Likewise.
58051         * tests/test-roundl.c (ASSERT): Likewise.
58052         * tests/test-signbit.c (ASSERT): Likewise.
58053         * tests/test-sleep.c (ASSERT): Likewise.
58054         * tests/test-snprintf-posix.c (ASSERT): Likewise.
58055         * tests/test-snprintf.c (ASSERT): Likewise.
58056         * tests/test-sprintf-posix.c (ASSERT): Likewise.
58057         * tests/test-stat-time.c (ASSERT): Likewise.
58058         * tests/test-strcasestr.c (ASSERT): Likewise.
58059         * tests/test-strerror.c (ASSERT): Likewise.
58060         * tests/test-striconv.c (ASSERT): Likewise.
58061         * tests/test-striconveh.c (ASSERT): Likewise.
58062         * tests/test-striconveha.c (ASSERT): Likewise.
58063         * tests/test-strsignal.c (ASSERT): Likewise.
58064         * tests/test-strstr.c (ASSERT): Likewise.
58065         * tests/test-strtod.c (ASSERT): Likewise.
58066         * tests/test-trunc1.c (ASSERT): Likewise.
58067         * tests/test-trunc2.c (ASSERT): Likewise.
58068         * tests/test-truncf1.c (ASSERT): Likewise.
58069         * tests/test-truncf2.c (ASSERT): Likewise.
58070         * tests/test-truncl.c (ASSERT): Likewise.
58071         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
58072         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
58073         * tests/test-vasnprintf.c (ASSERT): Likewise.
58074         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
58075         * tests/test-vasprintf.c (ASSERT): Likewise.
58076         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
58077         * tests/test-vprintf-posix.c (ASSERT): Likewise.
58078         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
58079         * tests/test-vsnprintf.c (ASSERT): Likewise.
58080         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
58081         * tests/test-wcwidth.c (ASSERT): Likewise.
58082         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
58083         * tests/test-xprintf-posix.c (ASSERT): Likewise.
58084         * tests/test-xvasprintf.c (ASSERT): Likewise.
58085         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
58086         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
58087         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
58088         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
58089         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
58090         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
58091         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
58092         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
58093         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
58094         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
58095         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
58096         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
58097         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
58098         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
58099         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
58100         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
58101         * tests/unictype/test-block_list.c (ASSERT): Likewise.
58102         * tests/unictype/test-block_of.c (ASSERT): Likewise.
58103         * tests/unictype/test-block_test.c (ASSERT): Likewise.
58104         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
58105         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
58106         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
58107         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
58108         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
58109         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
58110         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
58111         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
58112         * tests/unictype/test-combining.c (ASSERT): Likewise.
58113         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
58114         * tests/unictype/test-digit.c (ASSERT): Likewise.
58115         * tests/unictype/test-mirror.c (ASSERT): Likewise.
58116         * tests/unictype/test-numeric.c (ASSERT): Likewise.
58117         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
58118         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
58119         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
58120         * tests/unictype/test-scripts.c (ASSERT): Likewise.
58121         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
58122         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
58123         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
58124         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
58125         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
58126         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
58127         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
58128         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
58129         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
58130         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
58131         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
58132         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
58133         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
58134         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
58135         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
58136         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
58137         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
58138         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
58139         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
58140         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
58141         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
58142         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
58143         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
58144         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
58145         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
58146         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
58147         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
58148         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
58149         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
58150         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
58151         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
58152         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
58153         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
58154         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
58155         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
58156         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
58157         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
58158         Reported by Eric Blake.
58159
58160 2008-04-11  Bruno Haible  <bruno@clisp.org>
58161
58162         * lib/wchar.in.h: Tweak comment.
58163
58164 2008-04-11  Bruno Haible  <bruno@clisp.org>
58165
58166         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
58167         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
58168         gl_COMMON.
58169         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
58170
58171 2008-04-11  Bruno Haible  <bruno@clisp.org>
58172
58173         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
58174
58175 2008-04-11  Simon Josefsson  <simon@josefsson.org>
58176
58177         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
58178         of attempting to use non-existing /dev/*random.  Based on patch
58179         from Adam Strzelecki <ono@java.pl> in
58180         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
58181
58182 2008-04-08  Bruno Haible  <bruno@clisp.org>
58183
58184         Add tentative support for emx+gcc.
58185         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
58186         * lib/fpurge.c (fpurge): Likewise.
58187         * lib/freadable.c (freadable): Likewise.
58188         * lib/freadahead.c (freadahead): Likewise.
58189         * lib/freading.c (freading): Likewise.
58190         * lib/freadptr.c (freadptr): Likewise.
58191         * lib/freadseek.c (freadptrinc): Likewise.
58192         * lib/fseeko.c (rpl_fseeko): Likewise.
58193         * lib/fseterr.c (fseterr): Likewise.
58194         * lib/fwritable.c (fwritable): Likewise.
58195         * lib/fwriting.c (fwriting): Likewise.
58196         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
58197
58198 2008-04-09  Eric Blake  <ebb9@byu.net>
58199
58200         Avoid some autoconf warnings.
58201         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
58202         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
58203         * m4/afs.m4 (gl_AFS): Likewise.
58204         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
58205         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
58206         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58207         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
58208         (gl_INTEGER_TYPE_SUFFIX): Likewise.
58209         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
58210         (AC_CHECK_DECLS_ONCE): Likewise.
58211         Rename file...
58212         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
58213         gnulib-tool requires autoconf 2.59 or better.
58214         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
58215
58216 2008-04-08  Eric Blake  <ebb9@byu.net>
58217
58218         Use 'git describe --match' if present (added in git 1.5.5).
58219         * build-aux/git-version-gen: Limit result to tags that match 'v*'
58220         if possible.
58221
58222 2008-04-08  Bruno Haible  <bruno@clisp.org>
58223
58224         Add tentative support for OpenServer.
58225         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
58226         _ptr, _cnt.
58227         * lib/fpurge.c (fpurge): Likewise.
58228         * lib/freadable.c (freadable): Likewise.
58229         * lib/freadahead.c (freadahead): Likewise.
58230         * lib/freading.c (freading): Likewise.
58231         * lib/freadptr.c (freadptr): Likewise.
58232         * lib/freadseek.c (freadptrinc): Likewise.
58233         * lib/fseeko.c (rpl_fseeko): Likewise.
58234         * lib/fseterr.c (fseterr): Likewise.
58235         * lib/fwritable.c (fwritable): Likewise.
58236         * lib/fwriting.c (fwriting): Likewise.
58237         Reported by Roger Cornelius <rac@tenzing.org> and
58238         Brian K. White <brian@aljex.com>.
58239
58240 2008-04-06  Jim Meyering  <meyering@redhat.com>
58241
58242         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
58243
58244 2008-04-06  Bruno Haible  <bruno@clisp.org>
58245
58246         Avoid possible error with non-ASCII bytes in UTF-8 locales.
58247         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
58248         * tests/test-printf-posix.sh: Likewise.
58249         * tests/test-vfprintf-posix.sh: Likewise.
58250         * tests/test-vprintf-posix.sh: Likewise.
58251         * tests/test-xprintf-posix.sh: Likewise.
58252
58253 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58254
58255         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
58256         hide error from 'ls', needed on OS/2.
58257         Report by Elbert Pol <elbert.pol@gmail.com>.
58258
58259 2008-04-04  Eric Blake  <ebb9@byu.net>
58260
58261         Make test-fseeko.c failures meaningful.
58262         * tests/test-fseeko.c: Print line number on failure.
58263         * tests/test-fseek.c: Likewise.
58264         Reported by Nelson H. F. Beebe.
58265
58266         Improve strtod bug detection check.
58267         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
58268         required for Solaris 10.
58269         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
58270
58271 2008-04-04  Bruno Haible  <bruno@clisp.org>
58272
58273         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
58274         by m4/setenv.m4.
58275
58276 2008-04-03  Eric Blake  <ebb9@byu.net>
58277
58278         Ensure sane .version contents.
58279         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
58280         version string.
58281         * build-aux/git-version-gen: Improve documentation.
58282
58283         Make GNU make output nicer.
58284         * top/GNUmakefile [!_have-Makefile]: Add dependency on
58285         MAKECMDGOALS to enforce message for all command line targets.  Set
58286         srcdir for use in maint.mk.
58287
58288         Another maintainer tweak.
58289         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
58290         a target that regenerates version.
58291
58292 2008-04-03  Jim Meyering  <meyering@redhat.com>
58293
58294         vc-list-files: don't cause coreutils "make po-check" failure
58295         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
58296
58297 2008-04-03  Eric Blake  <ebb9@byu.net>
58298
58299         Allow VPATH usage of vc-list-files.
58300         * build-aux/vc-list-files (scriptversion): Add timestamp.
58301         (options): Add --help, --version, -C.
58302         (CVS): Support installed cvsu.
58303
58304 2008-04-02  Bruno Haible  <bruno@clisp.org>
58305
58306         Avoid some "statement with no effect" warnings from gcc.
58307         * tests/test-wctype.c (main): Explicitly ignore unused values.
58308         Reported by Jim Meyering.
58309
58310 2008-04-02  Jim Meyering  <meyering@redhat.com>
58311
58312         Avoid some warnings from "gcc -Wshadow".
58313         * tests/test-frexp.c (exp): Define to a different identifier.
58314         * tests/test-frexpl.c (exp): Likewise.
58315
58316 2008-04-03  Jim Meyering  <meyering@redhat.com>
58317
58318         bootstrap: remove dangling *.[ch] symlinks from lib
58319         * build-aux/bootstrap [dangling symlink removal]: Move find's
58320         -depth option to precede all others, to avoid a warning.
58321         Remove *.[ch] files too, and from "$source_base" (usually lib/).
58322
58323 2008-04-02  Bruno Haible  <bruno@clisp.org>
58324
58325         Avoid some warnings from "gcc -Wshadow".
58326         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
58327         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
58328         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
58329         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
58330         Reported by Jim Meyering.
58331
58332 2008-04-01  Bruno Haible  <bruno@clisp.org>
58333
58334         Fix test to work on IRIX 6.5 with cc.
58335         * tests/test-math.c (numeric_equal): New function.
58336         (main): Use it.
58337
58338 2008-04-01  Bruno Haible  <bruno@clisp.org>
58339
58340         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
58341
58342 2008-04-01  Bruno Haible  <bruno@clisp.org>
58343
58344         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
58345         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58346         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
58347         (Depends-on): Remove math.
58348
58349         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
58350         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58351         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
58352         (Depends-on): Remove math.
58353
58354         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
58355         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58356         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
58357         (Depends-on): Remove math.
58358         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
58359         (Depends-on): Remove math.
58360
58361         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
58362         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58363         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
58364         (Depends-on): Remove math.
58365         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
58366         (Depends-on): Remove math.
58367
58368         * tests/test-round1.c: Include nan.h.
58369         (main): Use NaNd instead of NAN.
58370         * modules/round-tests (Files): Add tests/nan.h.
58371
58372         * tests/test-trunc1.c: Include nan.h.
58373         (main): Use NaNd instead of NAN.
58374         * modules/trunc-tests (Files): Add tests/nan.h.
58375
58376         * tests/test-roundf1.c: Include nan.h.
58377         (main): Use NaNf instead of NAN.
58378         * modules/roundf-tests (Files): Add tests/nan.h.
58379
58380         * tests/test-truncf1.c: Include nan.h.
58381         (main): Use NaNf instead of NAN.
58382         * modules/truncf-tests (Files): Add tests/nan.h.
58383
58384         * tests/test-ceilf1.c: Include nan.h.
58385         (main): Use NaNf instead of NAN.
58386         * modules/ceilf-tests (Files): Add tests/nan.h.
58387
58388         * tests/test-floorf1.c: Include nan.h.
58389         (main): Use NaNf instead of NAN.
58390         * modules/floorf-tests (Files): Add tests/nan.h.
58391
58392         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
58393         (main): Use NaNf instead of NAN.
58394         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
58395
58396         * tests/test-isnand.c: Include nan.h instead of <math.h>.
58397         (main): Use NaNd instead of NAN.
58398         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
58399
58400         * tests/test-frexp.c: Include nan.h.
58401         (main): Use NaNd instead of NAN.
58402         * modules/frexp-tests (Files): Add tests/nan.h.
58403
58404         * lib/isnan.c: Don't include <math.h>.
58405         (FUNC): Don't use NAN macro.
58406         * modules/isnand-nolibm (Depends-on): Remove math.
58407         * modules/isnanf-nolibm (Depends-on): Remove math.
58408         * modules/isnanl (Depends-on): Remove math.
58409         * modules/isnanl-nolibm (Depends-on): Remove math.
58410
58411         * tests/nan.h: New file.
58412
58413 2008-04-01  Eric Blake  <ebb9@byu.net>
58414
58415         Fix typos.
58416         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
58417         values to be the right type.
58418
58419         For now, cater to gnulib strtod inaccuracies.
58420         * tests/test-strtod.c (main): Allow 1-ulp error on expected
58421         fractional results.  While not as nice from a QoI perspective, it
58422         is a quicker patch than correctly implementing decimal to binary
58423         rounding.
58424
58425 2008-03-31  Eric Blake  <ebb9@byu.net>
58426
58427         Guarantee a definition of NAN.
58428         * lib/math.in.h (NAN): Define if missing.
58429         * tests/test-math.c (main): Test it.
58430         * doc/posix-headers/math.texi (math.h): Document this.
58431         * lib/isnan.c (rpl_isnand): Use it.
58432         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
58433         * tests/test-floorf1.c (NaN): Likewise.
58434         * tests/test-frexp.c (NaN): Likewise.
58435         * tests/test-isnand.c (NaN): Likewise.
58436         * tests/test-isnanf.c (NaN): Likewise.
58437         * tests/test-round1.c (NaN): Likewise.
58438         * tests/test-roundf1.c (NaN): Likewise.
58439         * tests/test-snprintf-posix.h (NaN): Likewise.
58440         * tests/test-sprintf-posix.h (NaN): Likewise.
58441         * tests/test-trunc1.c (NaN): Likewise.
58442         * tests/test-truncf1.c (NaN): Likewise.
58443         * tests/test-vasnprintf-posix.c (NaN): Likewise.
58444         * tests/test-vasprintf-posix.c (NaN): Likewise.
58445         * modules/isnand-nolibm (Depends-on): Add math.
58446         * modules/isnanf-nolibm (Depends-on): Likewise.
58447         * modules/isnanl (Depends-on): Likewise.
58448         * modules/isnanl-nolibm (Depends-on): Likewise.
58449         * modules/snprintf-posix-tests (Depends-on): Likewise.
58450         * modules/sprintf-posix-tests (Depends-on): Likewise.
58451         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
58452         * modules/vsprintf-posix-tests (Depends-on): Likewise.
58453         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
58454         * modules/vasprintf-posix-tests (Depends-on): Likewise.
58455
58456 2008-03-31  Bruno Haible  <bruno@clisp.org>
58457
58458         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
58459         * doc/posix-functions/strtod.texi: Likewise.
58460
58461 2008-03-31  Bruno Haible  <bruno@clisp.org>
58462
58463         * tests/test-strtod.c (main): Don't use C99 syntax.
58464
58465 2008-03-31  Bruno Haible  <bruno@clisp.org>
58466
58467         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
58468         Reported by Eric Blake.
58469
58470 2008-03-31  Jim Meyering  <meyering@redhat.com>
58471
58472         Don't compare actual signbit return values.
58473         * tests/test-strtod.c (main): Rather, compare only their
58474         zero/non-zero nature.
58475
58476 2008-03-31  Eric Blake  <ebb9@byu.net>
58477
58478         More strtod documentation.
58479         * doc/posix-functions/strtod.texi (strtod): Interpret more test
58480         failures as distinct bugs.
58481
58482 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
58483
58484         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
58485         Problem reported by Erik Benada in
58486         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
58487
58488 2008-03-30  Bruno Haible  <bruno@clisp.org>
58489
58490         * tests/test-strtod.c: Add comments about which assertion fails on which
58491         platform.
58492         * doc/posix-functions/strtod.texi: Add info about many more platforms.
58493
58494 2008-03-30  Eric Blake  <ebb9@byu.net>
58495
58496         Test signbit behavior on zeros.
58497         * tests/test-signbit.c (test_signbitf): Add tests for zero.
58498         (test_signbitd, test_signbitl): Likewise.
58499
58500         More strtod touchups.
58501         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
58502         sign of negative underflow, for now.  Use .5, not .1.
58503         * doc/posix-functions/strtod.texi (strtod): Mention these
58504         limitations.
58505         Reported by Jim Meyering.
58506
58507 2008-03-30  Bruno Haible  <bruno@clisp.org>
58508
58509         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
58510         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
58511
58512 2008-03-30  Bruno Haible  <bruno@clisp.org>
58513
58514         Avoid failure when attempting to return empty iconv results on some
58515         platforms.
58516         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
58517         allocation, don't report ENOMEM when the resulting string is empty.
58518
58519 2008-03-30  Bruno Haible  <bruno@clisp.org>
58520
58521         Fix buffer overrun.
58522         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
58523         Don't consider the width for tmp_length. Check count against tmp_length
58524         before doing the padding. Ensure enough allocation during padding.
58525
58526 2008-03-30  Eric Blake  <ebb9@byu.net>
58527
58528         strtod touchups.
58529         * lib/strtod.c (strtod): Avoid compiler warnings.
58530         Reported by Jim Meyering.
58531
58532 2008-03-30  Bruno Haible  <bruno@clisp.org>
58533
58534         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
58535         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
58536         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
58537         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
58538         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
58539         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
58540         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
58541         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
58542
58543         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
58544         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
58545         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
58546         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
58547         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
58548         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
58549         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
58550         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
58551
58552         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
58553         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
58554         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
58555         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
58556         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
58557         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
58558         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
58559         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
58560
58561         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
58562         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
58563
58564         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
58565         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
58566
58567         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
58568         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
58569
58570         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
58571         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
58572         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
58573
58574         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
58575         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
58576         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
58577
58578         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
58579         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
58580         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
58581
58582         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
58583         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
58584         * modules/vasprintf (Depends-on): Add EOVERFLOW.
58585
58586         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
58587         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
58588         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
58589         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
58590         (Depends-on): Add EOVERFLOW.
58591         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
58592         (Depends-on): Add EOVERFLOW.
58593         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58594         (Depends-on): Add EOVERFLOW.
58595         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58596         (Depends-on): Add EOVERFLOW.
58597         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58598         (Depends-on): Add EOVERFLOW.
58599         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58600         (Depends-on): Add EOVERFLOW.
58601         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58602         (Depends-on): Add EOVERFLOW.
58603         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58604         (Depends-on): Add EOVERFLOW.
58605
58606         * lib/sprintf.c (EOVERFLOW): Remove fallback.
58607         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
58608         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
58609
58610         * lib/snprintf.c (EOVERFLOW): Remove fallback.
58611         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
58612         * modules/snprintf (Depends-on): Add EOVERFLOW.
58613
58614         * lib/poll.c (EOVERFLOW): Remove fallback.
58615         * modules/poll (Depends-on): Add EOVERFLOW.
58616
58617         * lib/getugroups.c (EOVERFLOW): Remove fallback.
58618         * modules/getugroups (Depends-on): Add EOVERFLOW.
58619
58620         * lib/getdelim.c (EOVERFLOW): Remove fallback.
58621         * modules/getdelim (Depends-on): Add EOVERFLOW.
58622
58623         * lib/ftell.c (EOVERFLOW): Remove fallback.
58624         * modules/ftell (Depends-on): Add EOVERFLOW.
58625
58626         * lib/fprintf.c (EOVERFLOW): Remove fallback.
58627         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
58628         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
58629
58630         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
58631
58632         * modules/EOVERFLOW-tests: New file.
58633         * tests/test-EOVERFLOW.c: New file.
58634
58635         * modules/EOVERFLOW: New file.
58636         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
58637
58638 2008-03-30  Bruno Haible  <bruno@clisp.org>
58639
58640         Fix bug introduced on 2007-06-10.
58641         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
58642         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
58643
58644 2008-03-30  Bruno Haible  <bruno@clisp.org>
58645
58646         Improve freadseek's efficiency after ungetc.
58647         * lib/freadseek.c: Include freadahead.h.
58648         (freadptrinc): New function, extracted from freadseek.
58649         (freadseek): Use it in a loop. Use freadahead to determine the number
58650         of loop iterations.
58651         * modules/freadseek (Depends-on): Add freadahead.
58652         (configure.ac): Require AC_C_INLINE.
58653
58654 2008-03-30  Bruno Haible  <bruno@clisp.org>
58655
58656         * lib/freadseek.c (freadseek): Don't ignore the return value of
58657         freadptr.
58658
58659 2008-03-29  Eric Blake  <ebb9@byu.net>
58660
58661         Add hex float support.
58662         * modules/strtod (Depends-on): Add c-ctype.
58663         (Link): Mention POW_LIB.
58664         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
58665         whitespace between 'e' and exponent.
58666         * tests/test-strtod.c (main): Enable hex float tests.
58667         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
58668         now provides.
58669
58670         Document various strtod bugs, with some fixes.
58671         * doc/posix-functions/strtod.texi (strtod): Document bugs with
58672         "-0x", "inf", "nan", and hex constants.
58673         * doc/posix-functions/atof.texi (atof): Likewise.
58674         * modules/stdlib (Makefile.am): Support strtod.
58675         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
58676         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
58677         detect additional strtod bugs.
58678         * lib/stdlib.in.h (rpl_strtod): Add declarations.
58679         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
58680         bool where appropriate.  Parse 'inf' and 'nan'.
58681         * tests/test-strtod.c: New file.
58682         * modules/strtod (Depends-on): Add stdbool, stdlib.
58683         (configure.ac): Turn on module indicator.
58684         * modules/strtod-tests: New module.
58685
58686 2008-03-29  Eric Blake  <ebb9@byu.net>
58687
58688         Fix ftell on mingw.
58689         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
58690         * modules/ftell-tests (Depends-on): Add binary-io.
58691         * modules/ftello-tests (Depends-on): Likewise.
58692         * tests/test-ftell.c (main): Enhance test to cover behavior after
58693         ungetc.  Enforce binary mode.
58694         * tests/test-ftello.c (main): Likewise.
58695
58696         Pass test-freadseek on cygwin.
58697         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
58698         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
58699         ungetc buffer.
58700
58701         * tests/test-fflush2.c (main): Fix typo.
58702
58703 2008-03-29  Bruno Haible  <bruno@clisp.org>
58704
58705         * tests/test-fflush2.c (main): Temporarily disable the contents of
58706         this test.
58707         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
58708         Reported by Eric Blake.
58709
58710 2008-03-28  Simon Josefsson  <simon@josefsson.org>
58711
58712         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
58713         (GC_SHA224_DIGEST_SIZE): Add.
58714
58715         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
58716         (gc_hash_digest_length): Likewise.
58717         (gc_hash_buffer): Likewise.
58718
58719 2008-03-25  Bruno Haible  <bruno@clisp.org>
58720
58721         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
58722         detail which gettext release to use.
58723         Reported by Simon Josefsson.
58724
58725 2008-03-26  Jim Meyering  <meyering@redhat.com>
58726
58727         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
58728         * modules/gnumakefile (clean-GNUmakefile): Also, use
58729         test ... && ... || : syntax rather than if-then ... fi.
58730
58731         gnumakefile: Don't double-quote-expand $(VPATH) value.
58732         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
58733
58734 2008-03-24  Eric Blake  <ebb9@byu.net>
58735
58736         Alter GNUmakefile to install into top directory.
58737         * modules/maintainer-makefile: Split, and add dependency...
58738         * modules/gnumakefile: to this new module.
58739         * build-aux/GNUmakefile: Move...
58740         * top/GNUmakefile: ...here.
58741         * build-aux/maint.mk: Move...
58742         * top/maint.mk: ...here.
58743         * MODULES.html.sh (Support for maintaining...): Document new
58744         module.
58745
58746 2008-03-23  Bruno Haible  <bruno@clisp.org>
58747
58748         * gnulib-tool: New options --vc-files, --no-vc-files.
58749         (func_usage): Document them.
58750         (vc_files): New variable.
58751         (func_import): Consider vc_files.
58752         (func_create_testdir): Set vc_files to empty.
58753         Suggested by Jim Meyering and Karl Berry.
58754
58755 2008-03-23  Bruno Haible  <bruno@clisp.org>
58756
58757         Fix regex compilation error on HP-UX 11.
58758         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
58759         * modules/regex (Files): Add m4/mbstate_t.m4.
58760         Reported by Ton Voon <ton.voon@altinity.com>.
58761
58762 2008-03-23  Bruno Haible  <bruno@clisp.org>
58763
58764         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
58765
58766 2008-03-23  Eric Blake  <ebb9@byu.net>
58767             Bruno Haible  <bruno@clisp.org>
58768
58769         Install files from top/ in the destination directory.
58770         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58771         augmentation also for the files from top/.
58772         (func_import, func_create_testdir): Rewrite file names:
58773         top/filename -> filename.
58774
58775 2008-03-23  Bruno Haible  <bruno@clisp.org>
58776
58777         Tweak "gnulib --version" output.
58778         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
58779
58780 2008-03-23  Bruno Haible  <bruno@clisp.org>
58781
58782         Tweak "gnulib --version" output.
58783         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
58784         rather than contents of ChangeLog, when possible.
58785
58786 2008-03-21  Eric Blake  <ebb9@byu.net>
58787
58788         More --version tweaks.
58789         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
58790         date of last ChangeLog entry.
58791
58792 2008-03-21  Jim Meyering  <meyering@redhat.com>
58793
58794         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
58795
58796 2008-03-20  Eric Blake  <ebb9@byu.net>
58797
58798         VPATH fix.
58799         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
58800
58801 2008-03-20  Simon Josefsson  <simon@josefsson.org>
58802
58803         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
58804         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
58805
58806 2008-03-20  Eric Blake  <ebb9@byu.net>
58807
58808         Sync GNUmakefile with coreutils.
58809         * build-aux/GNUmakefile (have-Makefile): Rename...
58810         (_have-Makefile): ...to this, for namespace consideration.
58811         (GNUmakefile.cfg): Include, if present.
58812         (_autoreconf): Define a default.
58813         (_is-dist-target): New rule for rebuilds to pick up intra-release
58814         version.
58815         (maint-cfg.mk): Rename...
58816         (cfg.mk): ...to this.
58817
58818 2008-03-18  Jim Meyering  <meyering@redhat.com>
58819
58820         New script and module: mktempd
58821         * MODULES.html.sh (maint+release support): Add mktempd.
58822         * build-aux/mktempd: New file.
58823         * modules/mktempd: New file.
58824
58825 2008-03-15  Jim Meyering  <meyering@redhat.com>
58826
58827         Undo last change.
58828         * lib/sha1.c, lib/md5.c: 63 != ~63.
58829         Reported by Andreas Schwab.
58830
58831         sha1.c, md5.c: Hoist a redundant expression.
58832         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
58833         "ctx->buflen" only once, before calling *_process_block.
58834         * lib/md5.c (md5_process_bytes): Likewise.
58835
58836 2008-03-14  Eric Blake  <ebb9@byu.net>
58837
58838         Bump copyright year in files generated by gnulib-tool.
58839         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
58840         gnulib-tool, rather than hard-coding it.
58841
58842         Fix 'gnulib-tool --version' output to work with git.
58843         * gnulib-tool (func_gnulib_dir): New function, extracted from...
58844         (startup): ...here.
58845         (func_version): Use it to invoke git-version-gen, rather than
58846         relying on CVS keyword expansion.  Modernize wording.
58847         (cvsdatestamp, last_checkin_date, version): Kill unused
58848         variables.
58849
58850 2008-03-12  Jim Meyering  <meyering@redhat.com>
58851
58852         Recognize optional cast of the argument to free.
58853         * build-aux/useless-if-before-free: Update regexps.
58854
58855         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
58856
58857 2008-03-11  Bruno Haible  <bruno@clisp.org>
58858
58859         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
58860         by a single package.
58861         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
58862         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
58863         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
58864         Reported by Sam Steingold <sds@gnu.org>.
58865
58866 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58867
58868         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
58869         repositories.
58870
58871 2008-03-11  Bruno Haible  <bruno@clisp.org>
58872
58873         Avoid conflicts between local macro definitions.
58874         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58875         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
58876
58877 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
58878             Bruno Haible  <bruno@clisp.org>
58879
58880         Make va_copy work with some version of xlc on AIX 5.1.
58881         * lib/stdarg.in.h: New file.
58882         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
58883         On AIX, use a <stdarg.h> file substitute.
58884         * modules/stdarg (Files): Add lib/stdarg.in.h.
58885         (Depends-on): Add include_next.
58886         (Makefile.am): Build a stdarg.h substitute if requested.
58887         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
58888
58889 2008-03-10  Bruno Haible  <bruno@clisp.org>
58890
58891         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
58892         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58893         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58894
58895 2008-03-10  Bruno Haible  <bruno@clisp.org>
58896
58897         * modules/stdlib (Depends-on): Add include_next, remove
58898         absolute-header.
58899
58900 2008-03-09  Bruno Haible  <bruno@clisp.org>
58901
58902         * lib/freadahead.h (freadahead): Document more precisely.
58903         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
58904         the sum of both buffer sizes.
58905         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
58906         * NEWS: Document the change.
58907
58908 2008-03-09  Bruno Haible  <bruno@clisp.org>
58909
58910         Extend freadptr to return also the buffer size.
58911         * lib/freadptr.h (freadptr): Add sizep argument.
58912         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
58913         (freadptr): Add sizep argument. Determine buffer size like freadahead
58914         does.
58915         * tests/test-freadptr.c: Don't include freadahead.h.
58916         (main): Adapt for new calling convention of freadptr.
58917         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
58918         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
58919         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
58920         tests/test-freadptr2.sh.
58921         (Depends): Remove freadahead.
58922         (TESTS): Add test-freadptr2.sh.
58923         (check_PROGRAMS): Add test-freadptr2.
58924
58925 2008-03-09  Bruno Haible  <bruno@clisp.org>
58926
58927         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
58928         Report and solution by Simon Josefsson.
58929
58930 2008-03-06  Bruno Haible  <bruno@clisp.org>
58931
58932         Make fflush after ungetc work on BSD platforms.
58933         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
58934         * tests/test-fflush2.c: New file.
58935         * tests/test-fflush2.sh: New file.
58936         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
58937         tests/test-fflush2.c.
58938         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
58939         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
58940
58941 2008-03-06  Eric Blake  <ebb9@byu.net>
58942
58943         Likewise for ftello.
58944         * modules/ftello (Dependencies): Add extensions.
58945         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
58946
58947 2008-03-06  Bruno Haible  <bruno@clisp.org>
58948
58949         * modules/fseeko (Dependencies): Add extensions.
58950         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
58951         Needed on glibc systems.
58952
58953 2008-03-06  Bruno Haible  <bruno@clisp.org>
58954
58955         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
58956         email address.
58957         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58958
58959 2008-03-06  Bruno Haible  <bruno@clisp.org>
58960
58961         * users.txt: Add libgnupdf.
58962
58963 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58964
58965         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
58966         (Header File Substitutes, Function Substitutes,
58967         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
58968         (Build robot for gnulib): Fix typo.
58969
58970 2008-03-06  Bruno Haible  <bruno@clisp.org>
58971
58972         * doc/gnulib-tool.texi (VCS Issues): Small updates.
58973         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58974
58975 2008-03-06  Bruno Haible  <bruno@clisp.org>
58976
58977         * doc/func.texi: New file, extracted from doc/gnulib.texi.
58978         * doc/gnulib.texi: Include it.
58979
58980 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58981
58982         * modules/func (License): Change license to unlimited; there was
58983         no LGPL parts in the module anyway.
58984
58985 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58986
58987         * modules/__func__: Renamed to modules/func.
58988         * modules/__func__-tests: Renamed to modules/func-tests.
58989         * tests/test-__func__.c: Renamed to tests/test-func.c.
58990         * m4/__func__.m4: Renamed to m4/func.m4.
58991         * doc/gnulib.texi (__func__): Section renamed to func.
58992         Suggested by Eric Blake <ebb9@byu.net>.
58993
58994 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58995
58996         * doc/gnulib.texi (__func__): Use C99 terminology when talking
58997         about __func__.  Make example self-contained.  Suggested by Eric
58998         Blake <ebb9@byu.net>.
58999
59000         * tests/test-__func__.c (main): Avoid extraneous () around __func.
59001         Suggested by Eric Blake <ebb9@byu.net>.
59002
59003 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59004
59005         * modules/__func__: New file.
59006         * modules/__func__-tests: New file.
59007         * tests/test-__func__.c: New file.
59008         * m4/__func__.m4: New file.
59009         * doc/gnulib.texi (__func__): Document __func__ module.
59010
59011 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59012
59013         * modules/byteswap (License): Re-license as LGPLv2+.
59014
59015 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59016
59017         * doc/Makefile: Add pdf target.
59018
59019 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59020
59021         * modules/inline (License): Use 'unlimited', since there are only
59022         *.m4 files in this module.
59023
59024 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59025             Bruno Haible  <bruno@clisp.org>
59026
59027         Add support for HP C 7.1 on OpenVMS 8.3.
59028         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
59029
59030 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59031
59032         Update VMS specifics.
59033         * lib/getopt.c [VMS]: Remove include of unixlib.h.
59034
59035 2008-03-02  Jim Meyering  <meyering@redhat.com>
59036
59037         Remove the last dependency on the "free" module.
59038         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
59039         Reported by Bob Proulx.
59040
59041         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
59042
59043         Remove useless "if" tests before free.  Deprecate "free" module.
59044         * doc/posix-functions/free.texi: Mention that this
59045         module is no longer useful.
59046         * modules/free (Notice): Say this module is obsolete.
59047         * modules/readutmp (Depends-on): Remove free.
59048         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
59049         * lib/putenv.c (putenv): Likewise.
59050         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
59051         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
59052         * tests/test-c-strcasestr.c (main): Likewise.
59053         * tests/test-c-strstr.c (main): Likewise.
59054         * tests/test-mbscasestr1.c (main): Likewise.
59055         * tests/test-mbscasestr2.c (main): Likewise.
59056         * tests/test-mbsstr1.c (main): Likewise.
59057         * tests/test-mbsstr2.c (main): Likewise.
59058         * tests/test-memmem.c (main): Likewise.
59059         * tests/test-strcasestr.c (main): Likewise.
59060         * tests/test-striconv.c (main): Likewise.
59061         * tests/test-striconveh.c (main): Likewise.
59062         * tests/test-striconveha.c (main): Likewise.
59063         * tests/test-strstr.c (main): Likewise.
59064
59065         * build-aux/git-version-gen: Adjust a comment and the Usage string.
59066
59067         bootstrap: sync from coreutils again
59068         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
59069
59070 2008-03-01  Jim Meyering  <meyering@redhat.com>
59071
59072         bootstrap: sync from coreutils
59073         * build-aux/bootstrap (update_po_files): Copy a .po file into place
59074         also when the target doesn't exist.
59075
59076 2008-03-01  Eric Blake  <ebb9@byu.net>
59077
59078         Fix bugs in last patch.
59079         * lib/memchr2.c (memchr2): Fix typo.
59080         * tests/test-memchr2.c: Test previous bug, and don't use GNU
59081         extension.
59082         Reported by Bruce Korb.
59083
59084         New module 'memchr2'.
59085         * modules/memchr2: New file.
59086         * modules/memchr2-tests: Likewise.
59087         * lib/memchr2.h: Likewise.
59088         * lib/memchr2.c: Likewise, based on memchr.c.
59089         * tests/test-memchr2.c: New test.
59090         * MODULES.html.sh (String handling): Add memchr2.
59091
59092 2008-02-29  Bruno Haible  <bruno@clisp.org>
59093
59094         * modules/freadseek-tests: New file.
59095         * tests/test-freadseek.sh: New file.
59096         * tests/test-freadseek.c: New file.
59097
59098         New module 'freadseek'.
59099         * modules/freadseek: New file.
59100         * lib/freadseek.h: New file.
59101         * lib/freadseek.c: New file.
59102         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
59103
59104 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59105
59106         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
59107         wydawca.
59108
59109         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
59110         program_invocation_name and program_invocation_short_name are
59111         present.
59112
59113 2008-02-28  Bruno Haible  <bruno@clisp.org>
59114
59115         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
59116         * tests/test-freadptr.sh: Also test non-seekable stdin.
59117
59118 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
59119
59120         * build-aux/bootstrap (source_base, m4_base)
59121         (doc_base, tests_base): New variables.
59122         (gnulib_tool_options): Do not hardcode base directories, use
59123         the above variables instead.
59124
59125 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
59126
59127         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
59128
59129 2008-02-28  Bruno Haible  <bruno@clisp.org>
59130
59131         * modules/freadptr-tests: New file.
59132         * tests/test-freadptr.sh: New file.
59133         * tests/test-freadptr.c: New file.
59134
59135         New module 'freadptr'.
59136         * modules/freadptr: New file.
59137         * lib/freadptr.h: New file.
59138         * lib/freadptr.c: New file.
59139         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
59140
59141 2008-02-26  Karl Berry  <karl@freefriends.org>
59142
59143         Sync from Libtool:
59144         * libltdl/argz.c (argz_add, argz_count): New functions.
59145         * libltdl/argz.in.h: Declare them.
59146         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
59147
59148 2008-02-22  Bruno Haible  <bruno@clisp.org>
59149
59150         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
59151         is a pointer type.  Needed for HP-UX 10.
59152         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
59153         * doc/posix-functions/gmtime_r.texi: Likewise.
59154         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59155
59156 2008-02-24  Bruno Haible  <bruno@clisp.org>
59157
59158         * modules/environ-tests: New file.
59159         * tests/test-environ.c: New file.
59160
59161         New module 'environ'.
59162         * modules/environ: New file.
59163         * lib/unistd.in.h (environ): New declaration.
59164         * m4/environ.m4: New file.
59165         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
59166         after use.
59167         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
59168         HAVE_DECL_ENVIRON.
59169         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
59170         HAVE_DECL_ENVIRON.
59171         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
59172         wrong claim that 'environ' is missing on some systems.
59173         * modules/execute (Depends-on): Add environ.
59174         * lib/execute.c (environ): Remove fallback declaration.
59175         * modules/pipe (Depends-on): Add environ.
59176         * lib/pipe.c (environ): Remove fallback declaration.
59177         * modules/setenv (Depends-on): Add environ.
59178         * lib/setenv.c (environ): Remove fallback declaration.
59179         * modules/unsetenv (Depends-on): Add environ.
59180         * lib/unsetenv.c (environ): Remove fallback declaration.
59181         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
59182         m4/environ.m4.
59183         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
59184         (gl_PREREQ_UNSETENV): Likewise.
59185
59186 2008-02-24  Bruno Haible  <bruno@clisp.org>
59187
59188         * doc/posix-functions/environ.texi: Document the MacOS X problem.
59189
59190 2008-02-20  Bob Proulx  <bob@proulx.com>
59191
59192         Enable use of older two part flavor 'git describe'.
59193         * build-aux/git-version-gen: If using the older two part flavor of
59194         git version then recreate the third part now present in the
59195         newer three part flavor of git describe.
59196
59197 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
59198
59199         * lib/fts.c (fts_build): Typo correction to comment.
59200
59201 2008-02-17  Bruno Haible  <bruno@clisp.org>
59202
59203         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
59204         generating no-op conflicts.
59205
59206 2008-02-17  Bruno Haible  <bruno@clisp.org>
59207
59208         Speed up by 10%.
59209         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
59210         result_entries, rather than an index-based loop.
59211
59212 2008-02-17  Bruno Haible  <bruno@clisp.org>
59213
59214         Speed up by 25%.
59215         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
59216         'hashcode_cached'.
59217         (entry_create): New function.
59218         (entry_hashcode): Use the cached hashcode if possible.
59219         (read_changelog_file, try_split_merged_entry): Use entry_create.
59220
59221 2008-02-17  Bruno Haible  <bruno@clisp.org>
59222
59223         Speed up from O(n^2) to O(n) for long ChangeLog files.
59224         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
59225         (read_changelog_file): Change implementation of entries_reversed list
59226         to rbtreehash.
59227         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
59228
59229 2008-02-17  Bruno Haible  <bruno@clisp.org>
59230
59231         New option --split-merged-entry.
59232         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
59233         (find_paragraph_end, try_split_merged_entry): New functions.
59234         (long_options): Add option --split-merged-entry.
59235         (usage): Document option --split-merged-entry.
59236         (main): Implement option --split-merged-entry.
59237         Reported by Eric Blake.
59238
59239 2008-02-17  Bruno Haible  <bruno@clisp.org>
59240
59241         * lib/git-merge-changelog.c: Include c-strstr.h.
59242         (main): Support the "git pull --rebase" situation.
59243         * modules/git-merge-changelog (Depends-on): Add c-strstr.
59244         Reported by Eric Blake.
59245
59246 2008-02-16  Eric Blake  <ebb9@byu.net>
59247
59248         Avoid doubling \ in common case of "c-maybe" quoting style.
59249         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
59250         eliding outer quotes.
59251         * lib/quotearg.h: Document this.
59252         * tests/test-quotearg.c (result_strings, inputs, results_g)
59253         (flag_results, locale_results): Test it by adding a new string to
59254         each test group.
59255         (compare_strings): Test new string.
59256
59257 2008-02-13  Eric Blake  <ebb9@byu.net>
59258
59259         Avoid trigraph quoting in default output.
59260         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
59261         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
59262         unless explicitly requested.
59263         * tests/test-quotearg.c (flag_results, main): Add additional tests.
59264
59265 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
59266
59267         Don't rely on signed integer overflowing to negative value.
59268         * lib/getugroups.c (getugroups): Include <limits.h>.
59269         Instead, compare against INT_MAX, and increment only if the test passes.
59270
59271 2008-02-13  Jim Meyering  <meyering@redhat.com>
59272         and Eric Blake  <ebb9@byu.net>
59273
59274         Avoid shadowing warning and compile errors on Linux.
59275         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
59276         forwarding macros on Linux.
59277         (dcgettext): Define a stub, for Linux.
59278         (results_g, main): Avoid warnings.
59279
59280 2008-02-12  Eric Blake  <ebb9@byu.net>
59281
59282         Silence warning in last patch.
59283         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
59284
59285         Quotearg part 4: add tests, fix c-maybe colon quoting.
59286         * lib/quotearg.h: Improve documentation.
59287         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
59288         escapes when adding outer quotes.  When quoting trigraphs, use
59289         valid C notation.  When quoting NUL, omit extra characters if next
59290         character is not digit.  Alter prototype.
59291         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
59292         callers.
59293         * modules/quotearg-tests: New module.
59294         * tests/test-quotearg.c: New test.
59295
59296 2008-02-07  Eric Blake  <ebb9@byu.net>
59297
59298         Quotearg part 3: add flag to control outer quote elision.
59299         * lib/quotearg.h (c_maybe_quoting_style): New style.
59300         (enum quoting_flags): Better documentation of flags.
59301         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
59302         c-maybe style.
59303         (quotearg_buffer_restyled): Handle new flag to elide outer
59304         quotes.
59305
59306         Quotearg part 2: add flag that can control NUL elision.
59307         * lib/quotearg.h (set_quoting_flags): New prototype.
59308         * lib/quotearg.c (struct quoting_options): Add flag field.
59309         (set_quoting_flags): New function.
59310         (quotearg_buffer_restyled): Add flags parameter.
59311         (quotearg_alloc_mem): Set the flag if length cannot be returned.
59312         (quotearg_n_options): Set the flag, since length cannot be
59313         returned.
59314         (quoting_options_from_style): Default flags correctly.
59315
59316         Quotearg part 1: more wrappers, restore quotearg_char state.
59317         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
59318         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
59319         (quotearg_colon_mem): New wrappers.
59320         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
59321         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
59322         functions.
59323         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
59324         (quotearg_colon_mem): New functions.
59325
59326 2008-02-11  Bruno Haible  <bruno@clisp.org>
59327
59328         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
59329         library in the current directory: it does not work with parallel make.
59330         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59331
59332 2008-02-11  Bruno Haible  <bruno@clisp.org>
59333
59334         * .gitattributes: New file.
59335
59336 2008-02-11  Jim Meyering  <meyering@redhat.com>
59337
59338         useless-if-before-free: Fix reversed exit values.
59339         * build-aux/useless-if-before-free: Use correct values
59340         for EXIT_MATCH and EXIT_NO_MATCH.
59341
59342         * build-aux/useless-if-before-free: Close stdout carefully.
59343
59344 2008-02-10  Bruno Haible  <bruno@clisp.org>
59345
59346         New module 'git-merge-changelog'.
59347         * modules/git-merge-changelog: New file.
59348         * lib/git-merge-changelog.c: New file.
59349
59350 2008-02-10  Jim Meyering  <meyering@redhat.com>
59351
59352         useless-if-before-free: New option: --list (-l).
59353
59354         useless-if-before-free: Don't exit immediately upon open failure.
59355         * build-aux/useless-if-before-free: Exit 2 for errors.
59356         Upon failure to open a file, don't exit immediately.
59357         Rather, just warn and continue with any remaining files.
59358
59359 2008-02-10  Bruno Haible  <bruno@clisp.org>
59360
59361         New abstract list operation 'node_set_value'.
59362         * lib/gl_list.h (gl_list_node_set_value): New function.
59363         (struct gl_list_implementation): New field node_set_value.
59364         * lib/gl_list.c (gl_list_node_set_value): New function.
59365         * lib/gl_array_list.c (gl_array_node_set_value): New function.
59366         (gl_array_list_implementation): Update.
59367         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
59368         (gl_carray_list_implementation): Update.
59369         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
59370         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59371         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59372         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
59373         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59374         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59375         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59376         Update.
59377         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59378         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
59379         (gl_sublist_list_implementation): Update.
59380
59381 2008-02-10  Bruno Haible  <bruno@clisp.org>
59382
59383         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
59384         Needed when ELEMENT is #defined to 'some_type *'.
59385
59386 2008-02-10  Jim Meyering  <meyering@redhat.com>
59387
59388         New script and module: useless-if-before-free
59389         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
59390         * build-aux/useless-if-before-free: New file.
59391         * modules/useless-if-before-free: New file.
59392
59393         * build-aux/gitlog-to-changelog: Use committer date, not author date.
59394
59395         xstrtol_error: Fix typo.
59396         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
59397         s/exit_failure/exit_status/.
59398
59399 2008-02-09  Jim Meyering  <meyering@redhat.com>
59400
59401         New script and module: gitlog-to-changelog
59402         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
59403         * modules/gitlog-to-changelog: New file.
59404         * build-aux/gitlog-to-changelog: New file.
59405
59406 2008-02-08  Jim Meyering  <meyering@redhat.com>
59407
59408         Avoid two "parameter unused" warnings.
59409         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
59410         Mark "st" as used.
59411
59412         Use "git COMMAND", not "git-COMMAND".
59413         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
59414         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
59415         * build-aux/git-version-gen: Use "git status", not "git-status".
59416
59417 2008-02-07  Bruno Haible  <bruno@clisp.org>
59418
59419         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
59420         Avoids a crash on Windows Vista.
59421         Reported by Adam Strzelecki <ono@java.pl> via
59422         Simon Josefsson <simon@josefsson.org>.
59423
59424 2008-02-06  Bruno Haible  <bruno@clisp.org>
59425
59426         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
59427         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
59428         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
59429         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
59430         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59431         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59432         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
59433         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
59434         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59435         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59436         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59437         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59438         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59439         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59440         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59441         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
59442         left-adjust flag.
59443         * tests/test-snprintf-posix.h (test_function): Likewise.
59444         * tests/test-sprintf-posix.h (test_function): Likewise.
59445         * tests/test-vasprintf-posix.c (test_function): Likewise.
59446         * doc/posix-functions/fprintf.texi: Update.
59447         * doc/posix-functions/printf.texi: Update.
59448         * doc/posix-functions/snprintf.texi: Update.
59449         * doc/posix-functions/sprintf.texi: Update.
59450         * doc/posix-functions/vfprintf.texi: Update.
59451         * doc/posix-functions/vprintf.texi: Update.
59452         * doc/posix-functions/vsnprintf.texi: Update.
59453         * doc/posix-functions/vsprintf.texi: Update.
59454         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59455
59456 2008-02-06  Bruno Haible  <bruno@clisp.org>
59457
59458         Fix bug introduced on 2008-01-26.
59459         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
59460
59461 2008-02-06  Bruno Haible  <bruno@clisp.org>
59462
59463         Fix bug introduced on 2007-06-10.
59464         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
59465         !NEED_PRINTF_FLAG_ZERO.
59466
59467 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
59468
59469         getloadavg: use libperfstat on AIX5
59470         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
59471
59472 2008-02-03  Bruno Haible  <bruno@clisp.org>
59473
59474         * lib/diffseq.h: Add comments about required #includes.
59475         Reported by Michael Biggs <gnulib@doubleplum.net>.
59476
59477 2008-02-01  Bruno Haible  <bruno@clisp.org>
59478
59479         * users.txt: Add gnuit.
59480
59481 2008-01-31  Bruno Haible  <bruno@clisp.org>
59482
59483         * lib/md4.c (set_uint32): Mark as inline.
59484         * lib/md5.c (set_uint32): Likewise.
59485         * lib/sha1.c (set_uint32): Likewise.
59486         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
59487         * m4/md5.m4 (gl_MD5): Likewise.
59488         * m4/sha1.m4 (gl_SHA1): Likewise.
59489
59490 2008-01-31  Jim Meyering  <meyering@redhat.com>
59491
59492         Use "sizeof VAR", rather than a literal "4".
59493         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
59494         * lib/md4.c (md4_read_ctx): Likewise.
59495         * lib/sha1.c (sha1_read_ctx): Likewise.
59496
59497 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59498
59499         * tests/test-sha1.c: New file, based on test-md5.c.
59500
59501         * modules/crypto/sha1-tests: New file.
59502
59503 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59504
59505         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
59506
59507 2008-01-31  Jim Meyering  <meyering@redhat.com>
59508
59509         Prefer "sizeof v" over the equivalent "4".
59510         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
59511         * lib/md5.c (set_uint32): Likewise.
59512         * lib/sha1.c (set_uint32): Likewise.
59513
59514 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59515
59516         * lib/sha1.c (set_uint32): Mark function as static.
59517
59518 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59519
59520         md2: clarify comments to say that alignment is not required.
59521         * lib/md2.h: Remove warning about alignment in comment.
59522         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
59523         never been required.
59524
59525 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59526
59527         md4: adapt alignment constraint fix from sha1.
59528         * lib/md4.c (set_uint32): New function, from sha1.c
59529         (md4_read_ctx): Use it.
59530         (md4_finish_ctx): Doc fix.
59531         * lib/md4.h: Doc fix.
59532
59533 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59534
59535         md5: adapt alignment constraint fix from sha1.
59536         * lib/md5.c (set_uint32): New function, from sha1.c
59537         (md5_read_ctx): Use it.
59538         (md5_finish_ctx): Doc fix.
59539         * lib/md5.h: Doc fix.
59540
59541 2008-01-30  Peter Palfrader  <weasel@debian.org>
59542
59543         sha1: remove the result buffer alignment constraint
59544         * lib/sha1.c (set_uint32): New function.
59545         (sha1_read_ctx): Rewrite to remove the result buffer alignment
59546         constraint.
59547         (sha1_finish_ctx): Remove comment warning about alignment constraint.
59548         * lib/sha1.h: Likewise.
59549
59550 2008-01-30  Andreas Schwab  <schwab@suse.de>
59551             Bruno Haible  <bruno@clisp.org>
59552
59553         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
59554         correct definition of LDBL_MIN_EXP.
59555
59556 2008-01-30  Karl Berry  <karl@gnu.org>
59557
59558         * config/srclist-update: try to preserve x bit on updates.
59559         * config/srclistvars.sh: update for karl.
59560
59561 2008-01-29  Jim Meyering  <meyering@redhat.com>
59562
59563         vasnprintf.c: Avoid warning about unused label
59564         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
59565         "overflow" label definition and associated code with the
59566         same cpp condition that guards the sole use of that label.
59567
59568 2008-01-26  Bruno Haible  <bruno@clisp.org>
59569
59570         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
59571         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
59572         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
59573         * lib/isnanl-nolibm.h (isnanl): Likewise.
59574         Reported by Paul Eggert <eggert@cs.ucla.edu>.
59575
59576 2008-01-26  Bruno Haible  <bruno@clisp.org>
59577
59578         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
59579         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
59580
59581 2008-01-26  Bruno Haible  <bruno@clisp.org>
59582
59583         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
59584         GCC >= 4.0 built-in.
59585         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
59586
59587 2008-01-26  Bruno Haible  <bruno@clisp.org>
59588
59589         Rename isnan, applicable to 'double' only, to isnand.
59590         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
59591         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
59592         (configure.ac): Update.
59593         (Include): Replace "isnan.h" with "isnand.h".
59594         * m4/isnand.m4: Renamed from m4/isnan.m4.
59595         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
59596         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
59597         instead of isnan.c.
59598         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
59599         instead of HAVE_ISNAN_IN_LIBC.
59600         (isnand): Renamed from isnan.
59601         * lib/isnand.c: New file.
59602         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
59603         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
59604         (Makefile.am): Update.
59605         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
59606         Include isnand.h instead of isnan.h.
59607         (main): Test isnand instead of isnan.
59608         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
59609         isnan-nolibm.
59610         * modules/frexp (Depends-on): Likewise.
59611         * modules/frexp-tests (Depends-on): Likewise.
59612         * modules/frexp-nolibm (Depends-on): Likewise.
59613         * modules/frexp-nolibm-tests (Depends-on): Likewise.
59614         * modules/isfinite (Depends-on): Likewise.
59615         * modules/round-tests (Depends-on): Likewise.
59616         * modules/signbit (Depends-on): Likewise.
59617         * modules/signbit-tests (Depends-on): Likewise.
59618         * modules/snprintf-posix (Depends-on): Likewise.
59619         * modules/sprintf-posix (Depends-on): Likewise.
59620         * modules/trunc-tests (Depends-on): Likewise.
59621         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
59622         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
59623         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
59624         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
59625         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
59626         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
59627         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
59628         * modules/vasnprintf-posix (Depends-on): Likewise.
59629         * modules/vasprintf-posix (Depends-on): Likewise.
59630         * modules/vfprintf-posix (Depends-on): Likewise.
59631         * modules/vsnprintf-posix (Depends-on): Likewise.
59632         * modules/vsprintf-posix (Depends-on): Likewise.
59633         * lib/frexp.c: Include isnand.h instead of isnan.h.
59634         (ISNAN): Set to isnand instead of isnan.
59635         * lib/isfinite.c: Include isnand.h instead of isnan.h.
59636         (gl_isfinited): Use isnand instead of isnan.
59637         * lib/signbitd.c: Include isnand.h instead of isnan.h.
59638         (gl_signbitd): Use isnand instead of isnan.
59639         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
59640         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
59641         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
59642         (main): Use isnand instead of isnan.
59643         * tests/test-round1.c: Include isnand.h.
59644         (main): Use isnand instead of isnan.
59645         * tests/test-round2.c: Include isnand.h instead of isnan.h.
59646         (ISNAN): Set to isnand instead of isnan.
59647         * tests/test-trunc1.c: Include isnand.h.
59648         (main): Use isnand instead of isnan.
59649         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
59650         (equal): Use isnand instead of isnan.
59651         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
59652         isnand-nolibm.
59653         * NEWS: Mention the change.
59654
59655 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
59656             Bruno Haible  <bruno@clisp.org>
59657
59658         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
59659         the GCC builtins for signbits are present and set
59660         REPLACE_SIGNBIT_USING_GCC if so.
59661         * lib/math.in.h (signbit): Define using GCC builtins if
59662         REPLACE_SIGNBIT_USING_GCC is set.
59663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
59664         REPLACE_SIGNBIT_USING_GCC.
59665         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
59666
59667 2008-01-25  Jim Meyering  <meyering@redhat.com>
59668
59669         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
59670         * lib/poll.c: Include <config.h>, not "config.h".
59671         * tests/test-getaddrinfo.c: Likewise.
59672
59673 2008-01-25  Simon Josefsson  <simon@josefsson.org>
59674
59675         * modules/sockets-tests: New file.
59676
59677 2008-01-24  Simon Josefsson  <simon@josefsson.org>
59678
59679         * modules/sockets: New module, can be used to call WSA_Startup and
59680         WSA_Cleanup when needed.
59681
59682         * lib/sockets.h, lib/sockets.c: New files.
59683
59684         * m4/sockets.m4: New file.
59685
59686         * tests/test-sockets.c: New file.
59687
59688 2008-01-19  Bruno Haible  <bruno@clisp.org>
59689
59690         * doc/posix-headers: Renamed from doc/headers.
59691         * doc/posix-functions: Renamed from doc/functions.
59692         * doc/gnulib.texi: Update.
59693
59694 2008-01-19  Bruno Haible  <bruno@clisp.org>
59695
59696         * doc/glibc-functions/strcasestr.texi: Include contents of
59697         doc/functions/strcasestr.texi, fixing the list of platforms.
59698         * doc/functions/strcasestr.texi: Remove file.
59699
59700 2008-01-19  Bruno Haible  <bruno@clisp.org>
59701
59702         * doc/glibc-functions/memmem.texi: Include contents of
59703         doc/functions/memmem.texi.
59704         * doc/functions/memmem.texi: Remove file.
59705
59706 2008-01-18  Bruno Haible  <bruno@clisp.org>
59707
59708         * doc/glibc-functions/*.texi: New files.
59709         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
59710         to use the new files.
59711
59712 2008-01-17  Bruno Haible  <bruno@clisp.org>
59713
59714         * tests/test-gethostname.c (main): Fix printf statement.
59715
59716 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59717
59718         * modules/gethostname-tests: New file.
59719
59720         * tests/test-gethostname.c: New file.
59721
59722 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59723
59724         * lib/gethostname.c: Include string.h unconditionally, strncpy is
59725         used by the UNAME case.  Reported by Bruno Haible
59726         <bruno@clisp.org>.
59727
59728 2008-01-17  Eric Blake  <ebb9@byu.net>
59729
59730         Convert c-strcasestr to be more efficient.
59731         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
59732         (Depends-on): Add c-strcase, remove malloca, strnlen.
59733         * tests/test-c-strcasestr.c (main): Enhance test.
59734         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
59735
59736 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59737
59738         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
59739         Use it in creating po/Makevars.
59740
59741 2008-01-15  Simon Josefsson  <simon@josefsson.org>
59742
59743         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
59744         Applications that requires it should initialize libgcrypt
59745         manually.
59746
59747 2008-01-16  Simon Josefsson  <simon@josefsson.org>
59748
59749         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
59750
59751 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
59752
59753         Fix problem with getdate on mingw32 reported by Simon Josefsson
59754         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
59755         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
59756         tzname", when deciding whether to declare tzname.
59757         * lib/strftime.c (tzname): Likewise.
59758
59759 2008-01-15  Bruno Haible  <bruno@clisp.org>
59760
59761         Work around a MacOS X 10.5 bug in frexpl().
59762         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
59763         * doc/functions/frexpl.texi: Document the bug.
59764         Reported by Elias Pipping <pipping@gentoo.org>.
59765
59766 2008-01-14  Eric Blake  <ebb9@byu.net>
59767
59768         Touch up previous patch.
59769         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
59770         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
59771
59772         Convert strcasestr module to use Two-Way algorithm.
59773         * modules/strcasestr-simple: New module, based on the old
59774         strcasestr, but with Two-Way rather than KMP.
59775         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
59776         * lib/string.in.h (rpl_strcasestr): Declare.
59777         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
59778         performance.
59779         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
59780         * modules/string (Makefile.am): Support strcasestr.
59781         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
59782         * modules/strcasestr-tests (Depends-on): Check for alarm.
59783         * tests/test-strcasestr.c: Augment test.
59784         * lib/str-two-way.h: Clean up stray macro.
59785         * NEWS: Document new module.
59786         * MODULES.html.sh (string handling): Likewise.
59787         * doc/functions/strcasestr.texi: New file.
59788         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
59789         here, since it is not a POSIX function.
59790
59791 2008-01-14  Colin Watson  <cjwatson@debian.org>
59792             Bruno Haible  <bruno@clisp.org>
59793
59794         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
59795         works fine; if not, set REPLACE_STRSIGNAL.
59796         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
59797         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59798         REPLACE_STRSIGNAL.
59799         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
59800         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
59801         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
59802
59803 2008-01-14  Bruno Haible  <bruno@clisp.org>
59804
59805         * modules/strsignal (Include): Change to <string.h>.
59806
59807 2008-01-14  Colin Watson  <cjwatson@debian.org>
59808
59809         * modules/argp (Notice): Add a notice recommending to change
59810         XGETTEXT_OPTIONS.
59811         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
59812
59813 2008-01-13  Colin Watson  <cjwatson@debian.org>
59814
59815         * modules/strsignal-tests: New file.
59816         * tests/test-strsignal.c: New file.
59817
59818         * lib/strsignal.c: New file, from glibc with modifications.
59819         * lib/siglist.h: New file, from glibc with modifications.
59820         * lib/string.in.h (strsignal): New declaration.
59821         * m4/strsignal.m4: New file.
59822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59823         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
59824         * modules/strsignal: New file.
59825         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
59826         HAVE_DECL_STRSIGNAL.
59827
59828 2008-01-13  Bruno Haible  <bruno@clisp.org>
59829
59830         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
59831         locale encoding is not ASCII. Needed for OpenBSD 4.0.
59832         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59833         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59834
59835 2008-01-13  Bruno Haible  <bruno@clisp.org>
59836
59837         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
59838         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
59839         * lib/argp.h (__attribute__): Likewise.
59840         * lib/c-stack.c (__attribute__): Likewise.
59841         * lib/error.h (__attribute__): Likewise.
59842         * lib/fts.c (__attribute__): Likewise.
59843         * lib/openat.h (__attribute__): Likewise.
59844         * lib/stdio.in.h (__attribute__): Likewise.
59845         * lib/string.in.h (__attribute__): Likewise.
59846         * lib/utimens.c (__attribute__): Likewise.
59847         * lib/vasnprintf.h (__attribute__): Likewise.
59848         * lib/xalloc.h (__attribute__): Likewise.
59849         * lib/xprintf.h (__attribute__): Likewise.
59850         * lib/xstrtol.h (__attribute__): Likewise.
59851         * lib/xvasprintf.h (__attribute__): Likewise.
59852
59853 2008-01-12  Bruno Haible  <bruno@clisp.org>
59854
59855         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
59856         * doc/glibc-headers/a.out.texi: New file.
59857         * doc/glibc-headers/aliases.texi: New file.
59858         * doc/glibc-headers/alloca.texi: New file.
59859         * doc/glibc-headers/ar.texi: New file.
59860         * doc/glibc-headers/argp.texi: New file.
59861         * doc/glibc-headers/argz.texi: New file.
59862         * doc/glibc-headers/byteswap.texi: New file.
59863         * doc/glibc-headers/crypt.texi: New file.
59864         * doc/glibc-headers/endian.texi: New file.
59865         * doc/glibc-headers/envz.texi: New file.
59866         * doc/glibc-headers/err.texi: New file.
59867         * doc/glibc-headers/error.texi: New file.
59868         * doc/glibc-headers/execinfo.texi: New file.
59869         * doc/glibc-headers/fpu_control.texi: New file.
59870         * doc/glibc-headers/fstab.texi: New file.
59871         * doc/glibc-headers/fts.texi: New file.
59872         * doc/glibc-headers/getopt.texi: New file.
59873         * doc/glibc-headers/ieee754.texi: New file.
59874         * doc/glibc-headers/ifaddrs.texi: New file.
59875         * doc/glibc-headers/libintl.texi: New file.
59876         * doc/glibc-headers/mcheck.texi: New file.
59877         * doc/glibc-headers/mntent.texi: New file.
59878         * doc/glibc-headers/obstack.texi: New file.
59879         * doc/glibc-headers/paths.texi: New file.
59880         * doc/glibc-headers/printf.texi: New file.
59881         * doc/glibc-headers/pty.texi: New file.
59882         * doc/glibc-headers/resolv.texi: New file.
59883         * doc/glibc-headers/shadow.texi: New file.
59884         * doc/glibc-headers/sysexits.texi: New file.
59885         * doc/glibc-headers/ttyent.texi: New file.
59886
59887 2008-01-12  Jim Meyering  <meyering@redhat.com>
59888
59889         announce-gen: emit Gnulib's git-based version string.
59890         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
59891         New option --gnulib-version=V, where V is expected to be
59892         the output of running git describe in the gnulib directory.
59893         (get_tool_versions): Request feedback on xdelta.  I suspect it's
59894         not useful, and plan to stop publishing an xdelta file with each
59895         coreutils release.
59896
59897         * build-aux/announce-gen: Also check for lzma-compressed files.
59898
59899 2008-01-11  Bruno Haible  <bruno@clisp.org>
59900
59901         * tests/test-memmem.c (main): Increase maximum allowed time.
59902         * tests/test-strstr.c (main): Likewise.
59903
59904 2008-01-11  Bruno Haible  <bruno@clisp.org>
59905
59906         * doc/functions/memmem.texi: Add more precisions about platforms.
59907         * doc/functions/strstr.texi: Likewise.
59908
59909 2008-01-10  Eric Blake  <ebb9@byu.net>
59910
59911         * m4/strstr.m4: Delete cruft from copy-n-paste.
59912         Reported by Bruno Haible.
59913
59914 2008-01-10  Bruno Haible  <bruno@clisp.org>
59915
59916         Make c-strstr rely on strstr.
59917         * lib/c-strstr.c: Don't include str-kmp.h.
59918         (c_strstr): Define in terms of strstr.
59919         * modules/c-strstr (Files): Remove lib/str-kmp.h.
59920         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
59921
59922 2008-01-10  Bruno Haible  <bruno@clisp.org>
59923
59924         * doc/gnulib.texi (String Functions in C Locale): New section.
59925         * doc/c-ctype.texi: New file.
59926         * doc/c-strcase.texi: New file.
59927         * doc/c-strcaseeq.texi: New file.
59928         * doc/c-strcasestr.texi: New file.
59929         * doc/c-strstr.texi: New file.
59930         * doc/c-strtod.texi: New file.
59931         * doc/c-strtold.texi: New file.
59932
59933 2008-01-10  Eric Blake  <ebb9@byu.net>
59934
59935         * lib/relocatable.h: Fix a comment.
59936
59937 2008-01-10  Eric Blake  <ebb9@byu.net>
59938
59939         Share two-way algorithm.
59940         * lib/str-two-way.h: New file, merged from...
59941         * lib/memmem.c: ...here...
59942         * lib/strstr.c: ...and here.
59943         * modules/memmem (Files): Use it.
59944         * modules/strstr (Files): Likewise.
59945
59946         Avoid quadratic strstr implementations.
59947         * lib/strstr.c: New file.
59948         * m4/strstr.m4: Likewise.
59949         * modules/strstr: Likewise.
59950         * modules/strstr-tests: Likewise.
59951         * tests/test-strstr.c: Likewise.
59952         * lib/string.in.h (rpl_strstr): Declare.
59953         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
59954         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
59955         * modules/string (Makefile.am): Likewise.
59956         * MODULES.html.sh (string handling): Mention new module.
59957         * doc/functions/strstr.texi (strstr): Document the bug.
59958
59959 2008-01-10  Bruno Haible  <bruno@clisp.org>
59960
59961         * lib/relocatable.h (relocate): State whether result is freshly
59962         allocated or not.
59963         * lib/relocatable.c (relocate): Return a freshly allocated string
59964         instead of a pointer to a privately held string.
59965         Reported by Sylvain Beucler <beuc@gnu.org>.
59966
59967 2008-01-10  Colin Watson  <cjwatson@debian.org>
59968
59969         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
59970         s/S_ISNLK/S_ISLNK/.
59971
59972 2008-01-09  Bruno Haible  <bruno@clisp.org>
59973
59974         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
59975         and other files.
59976         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
59977         if it's only a guess.
59978         * modules/memmem: Simplify by depending on memmem-simple.
59979
59980 2008-01-09  Bruno Haible  <bruno@clisp.org>
59981
59982         Work around OpenBSD 4.0 tdelete() bug.
59983         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
59984         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
59985         macros and don't redefine the enum values.
59986         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
59987         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
59988         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
59989
59990 2008-01-09  Bruno Haible  <bruno@clisp.org>
59991
59992         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
59993         (main): Don't perform the tests if setlocale did not install a UTF-8
59994         locale. Needed on OpenBSD 4.0.
59995         * modules/wcwidth-tests (Depends-on): Add localcharset.
59996
59997 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59998
59999         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
60000         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
60001         * NEWS: announce this.
60002         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
60003
60004 2008-01-09  Simon Josefsson  <simon@josefsson.org>
60005         and Eric Blake  <ebb9@byu.net>
60006
60007         Add memmem-simple module.
60008         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
60009         (gl_FUNC_MEMMEM): Separate performance from presence checks.
60010         * modules/memmem-simple: New file.
60011         * modules/memmem (Description): Tweak.
60012         * MODULES.html.sh (string handling): Mention new module.
60013         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
60014         addressed by memmem-simple.
60015         * NEWS: Document the difference.
60016
60017 2008-01-09  Eric Blake  <ebb9@byu.net>
60018
60019         Give gcc some memmem optimization hints.
60020         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
60021         (strcasestr): Declare as pure.
60022         * modules/memmem (Maintainer): Claim my implementation.
60023
60024 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60025
60026         Support AIX 6.1 and higher.
60027         * build-aux/config.libpath: Likewise.
60028         * build-aux/config.rpath: Likewise.
60029
60030 2008-01-08  Jim Meyering  <meyering@redhat.com>
60031             Bruno Haible  <bruno@clisp.org>
60032
60033         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
60034         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
60035         Reported by Peter Fales in
60036         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
60037
60038 2008-01-08  Bruno Haible  <bruno@clisp.org>
60039
60040         * modules/unictype/category-of (Depends-on): Add
60041         unictype/category-none.
60042         * modules/unictype/category-and-tests (Depends-on): Add
60043         unictype/category-{L,N,Lu,Nd}.
60044         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
60045         * modules/unictype/category-or-tests (Depends-on): Add
60046         unictype/category-{L,N}.
60047         * modules/unictype/category-name-tests (Depends-on): Add
60048         unictype/category-{Z,Nl}.
60049         Reported by Simon Josefsson.
60050
60051 2008-01-08  Bruno Haible  <bruno@clisp.org>
60052
60053         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
60054         convention better.
60055         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
60056         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
60057         Reported by Peter Miller <millerp@canb.auug.org.au>.
60058
60059 2008-01-08  Eric Blake  <ebb9@byu.net>
60060
60061         Rewrite memmem to guarantee linear complexity without malloc.
60062         * lib/memmem.c (memmem): Use Two-Way rather than
60063         Knuth-Morris-Pratt, to allow O(1) space usage.
60064         (critical_factorization, two_way_short_needle)
60065         (two_way_long_needle): New functions.
60066         (knuth_morris_pratt): Delete.
60067         * modules/memmem (Depends-on): No longer need malloca or stdbool.
60068         Add stdint.
60069         * tests/test-memmem.c (main): Add tests for periodic needle and
60070         sublinear performance.
60071         * doc/functions/memmem.texi (memmem): Document other deficiencies
60072         in cygwin and older glibc.
60073
60074 2008-01-08  Bruno Haible  <bruno@clisp.org>
60075
60076         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
60077         augmentation.
60078
60079 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
60080
60081         Add a configure time option: --disable-acl.
60082         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
60083         AC_ARG_ENABLE(acl).
60084
60085 2008-01-06  Simon Josefsson  <simon@josefsson.org>
60086
60087         * tests/test-localename.c: Don't include obsolete "setenv.h".
60088
60089         * modules/localename-tests (Depends-on): Need unsetenv.
60090
60091 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60092
60093         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
60094
60095 2008-01-06  Colin Watson  <cjwatson@debian.org>
60096
60097         * users.txt: Add man-db.
60098
60099 2008-01-07  Bruno Haible  <bruno@clisp.org>
60100
60101         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
60102         previous section name.
60103
60104 2008-01-07  Bruno Haible  <bruno@clisp.org>
60105
60106         * lib/progname.c (set_program_name): Don't strip off a leading
60107         "lt-" prefix outside a .libs directory.
60108         Suggested by Paul Eggert.
60109
60110 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
60111             Bruno Haible  <bruno@clisp.org>
60112
60113         Improve memory cleanup in 'relocatable' module.
60114         * lib/relocatable.h (compute_curr_prefix): Change return type to
60115         'char *'.
60116         * lib/relocatable.c (compute_curr_prefix): Change return type to
60117         'char *'. Free curr_installdir after use.
60118         (relocate): Free curr_prefix_better after use.
60119         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
60120
60121 2008-01-01  Bruno Haible  <bruno@clisp.org>
60122
60123         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
60124         failure on older glibc systems.
60125         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60126
60127 2008-01-05  Eric Blake  <ebb9@byu.net>
60128
60129         Avoid quadratic system memmem.
60130         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
60131         Reported by Ralf Wildenhues.
60132
60133         Fix memmem test for mingw.
60134         * modules/memmem-tests (configure.ac): Check for alarm.
60135         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
60136         it.
60137         * doc/functions/memmem.texi: New file.
60138         * doc/gnulib.texi (Function Substitutes): Add memmem.
60139         Reported by Bruno Haible.
60140
60141 2008-01-04  Bruno Haible  <bruno@clisp.org>
60142
60143         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
60144         Require gl_HEADER_STRINGS_H_DEFAULTS, not
60145         gl_HEADER_STRING_H_DEFAULTS.
60146
60147 2008-01-04  Eric Blake  <ebb9@byu.net>
60148
60149         Shorten duration of memmem test.
60150         * tests/test-memmem.c (main): Use alarm to declare failure if test
60151         is taking too long.
60152         Reported by Ralf Wildenhues.
60153
60154 2007-12-21  Simon Josefsson  <simon@josefsson.org>
60155
60156         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
60157         string, needed by strerror.
60158
60159 2008-01-03  Colin Watson  <cjwatson@debian.org>
60160             Bruno Haible  <bruno@clisp.org>
60161
60162         * doc/gnulib-tool.texi (Localization): New section.
60163
60164 2008-01-02  Bruno Haible  <bruno@clisp.org>
60165
60166         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
60167         variables to 'unsigned char *' type.
60168         Reported by Paul Eggert.
60169
60170 2008-01-02  Jim Meyering  <jim@meyering.net>
60171
60172         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
60173
60174 2007-12-31  Jim Meyering  <jim@meyering.net>
60175
60176         Avoid use of private FTS type name.
60177         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
60178
60179 2007-12-30  Karl Berry  <karl@gnu.org>
60180
60181         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
60182         work around defect in Texinfo and/or the standalone Info browser.
60183
60184 2007-12-30  Bruno Haible  <bruno@clisp.org>
60185
60186         Unify 5 copies of the KMP code.
60187         * lib/str-kmp.h: New file.
60188         * lib/c-strcasestr.c: Include str-kmp.h.
60189         (knuth_morris_pratt): Remove function.
60190         (c_strcasestr): Update.
60191         * lib/c-strstr.c: Include str-kmp.h.
60192         (knuth_morris_pratt): Remove function.
60193         (c_strcasestr): Update.
60194         * lib/mbscasestr.c: Include str-kmp.h.
60195         (knuth_morris_pratt_unibyte): Remove function.
60196         * lib/mbsstr.c: Include str-kmp.h.
60197         (knuth_morris_pratt_unibyte): Remove function.
60198         * lib/strcasestr.c: Include str-kmp.h.
60199         (knuth_morris_pratt): Remove function.
60200         (strcasestr): Update.
60201         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
60202         * modules/c-strstr (Files): Likewise.
60203         * modules/mbscasestr (Files): Likewise.
60204         * modules/mbsstr (Files): Likewise.
60205         * modules/strcasestr (Files): Likewise.
60206         Suggested by Paul Eggert.
60207
60208 2007-12-30  Bruno Haible  <bruno@clisp.org>
60209
60210         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
60211         defined.
60212
60213 2007-12-30  Bruno Haible  <bruno@clisp.org>
60214
60215         * lib/xmalloca.h: Include xalloc.h.
60216         (xnmalloca): New macro.
60217
60218 2007-12-30  Bruno Haible  <bruno@clisp.org>
60219
60220         * lib/malloca.h (nmalloca): New macro.
60221         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
60222         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
60223         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
60224         knuth_morris_pratt_multibyte): Likewise.
60225         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
60226         knuth_morris_pratt_multibyte): Likewise.
60227         * lib/memmem.c (knuth_morris_pratt): Likewise.
60228         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
60229
60230 2007-12-25  Bruno Haible  <bruno@clisp.org>
60231
60232         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
60233         * lib/glob.c: Don't include openat.h.
60234         (link_exists2_p): Add back the code that deals with the
60235         !GLOB_ALTDIRFUNC case.
60236         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
60237         let it do the filename concatenation.
60238         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
60239         * modules/glob (Depends-on): Remove openat.
60240
60241 2007-12-31  Bruno Haible  <bruno@clisp.org>
60242
60243         * modules/dirfd (License): Change to LGPLv2+.
60244         Approved by Jim Meyering.
60245
60246 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60247
60248         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
60249         when multiplying M by sizeof (size_t).
60250
60251 2007-12-10  Martin Lambers  <marlam@marlam.de>
60252
60253         Override getpagesize on mingw.
60254         * lib/getpagesize.c: New file.
60255         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
60256         * modules/getpagesize (Files): Add lib/getpagesize.c.
60257         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
60258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60259         REPLACE_GETPAGESIZE.
60260         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
60261
60262 2007-12-25  Bruno Haible  <bruno@clisp.org>
60263
60264         * modules/localcharset (Notice): New field.
60265         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
60266         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
60267
60268 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60269             Bruno Haible  <bruno@clisp.org>
60270
60271         Avoid using the syntax symbol() in formatted documentation.
60272         * MODULES.html.sh (func_module): When replacing symbol() with a
60273         hyperlink, remove the parentheses. Show an error if some remain.
60274         Recognize and render the '...' syntax.
60275         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
60276         Rework. Add paragraph about GCC's inlining.
60277         * doc/alloca.texi: Likewise.
60278         * doc/error.texi: Remove parentheses from symbol reference.
60279         * doc/gnulib-intro.texi: Likewise.
60280         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
60281         * modules/fnmatch (Description): Reword to say "the ... function".
60282         * modules/full-read (Description): Likewise.
60283         * modules/full-write (Description): Likewise.
60284         * modules/safe-read (Description): Likewise.
60285         * modules/safe-write (Description): Likewise.
60286         * modules/strchrnul (Description): Likewise.
60287         * modules/trim (Description): Likewise.
60288         * modules/error (Description): Remove parentheses from symbol
60289         references.
60290         * modules/verror (Description): Likewise.
60291         Reported by Karl Berry.
60292
60293 2007-12-25  Bruno Haible  <bruno@clisp.org>
60294
60295         Fixup after 2007-10-16 commit.
60296         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
60297
60298 2007-12-24  Bruno Haible  <bruno@clisp.org>
60299
60300         Make --enable-relocatable work with DESTDIR.
60301         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
60302         to compute installdir from destprog.
60303         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
60304         also set the RELOC_DESTDIR variable.
60305         Reported by Левашев Иван <octagram@bluebottle.com>.
60306
60307 2007-12-24  Bruno Haible  <bruno@clisp.org>
60308
60309         Fix link error due to xalloc_die().
60310         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
60311         of xreadlink.
60312         * lib/relocwrapper.c: Update comments.
60313         * build-aux/install-reloc: Remove xreadlink.c from file list.
60314         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
60315         xreadlink.c.
60316         Reported by Левашев Иван <octagram@bluebottle.com>.
60317
60318 2007-12-24  Bruno Haible  <bruno@clisp.org>
60319
60320         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
60321         * lib/setenv.h: Remove file.
60322         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
60323         lib/setenv.h.
60324         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
60325         (Depends-on): Add stdlib.
60326         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
60327         gl_FUNC_UNSETENV.
60328         (Include): Replace setenv.h with <stdlib.h>.
60329         * modules/unsetenv: New file.
60330         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
60331         * lib/unsetenv.c: Include <stdlib.h> first.
60332         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
60333         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
60334         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
60335         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
60336         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
60337         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60338         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
60339         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60340         * doc/functions/unsetenv.texi: Update.
60341         * modules/xsetenv (Depends-on): Add unsetenv.
60342         * modules/getdate (Depends-on): Likewise.
60343         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
60344         * lib/xsetenv.c: Don't include setenv.h.
60345         * lib/getdate.y: Likewise.
60346         * lib/relocwrapper.c: Likewise.
60347         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
60348         (Depends-on): Add stdlib.
60349         * NEWS: Mention the changes.
60350         Reported by Левашев Иван <octagram@bluebottle.com>.
60351
60352 2007-12-23  Bruno Haible  <bruno@clisp.org>
60353
60354         * lib/memmem.c (memmem): Use lowercase variable names. Tab
60355         indentation.
60356
60357 2007-12-23  Bruno Haible  <bruno@clisp.org>
60358
60359         * lib/c-strcasestr.c: Add more comments.
60360         * lib/c-strstr.c: Likewise.
60361         * lib/mbscasestr.c: Likewise.
60362         * lib/mbsstr.c: Likewise.
60363         * lib/strcasestr.c: Likewise.
60364         * lib/memmem.c: Likewise.
60365
60366 2007-12-23  Bruno Haible  <bruno@clisp.org>
60367
60368         * tests/test-memmem.c: Include <string.h> first.
60369
60370 2007-12-22  Bruno Haible  <bruno@clisp.org>
60371
60372         * gnulib-tool (func_create_testdir): Change $auxdir while generating
60373         the contents of $testsbase.
60374         Reported by Ralf Wildenhues.
60375
60376 2007-12-22  Bruno Haible  <bruno@clisp.org>
60377
60378         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
60379         two variables local_ldadd_before, local_ldadd_last.
60380
60381 2007-12-20  Eric Blake  <ebb9@byu.net>
60382
60383         Work around circular library issue when cross-compiling.
60384         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
60385         that progname.o does not need to pull in rpl_memcmp.
60386
60387 2007-12-19  Eric Blake  <ebb9@byu.net>
60388
60389         Fix memmem to avoid O(n^2) worst-case complexity.
60390         * lib/memmem.c (knuth_morris_pratt): New function.
60391         (memmem): Use it if first few naive iterations fail.
60392         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
60393         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
60394         * modules/memchr (License): Likewise.
60395         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
60396         malloca.
60397         * tests/test-memmem.c: Rewrite, borrowing ideas from
60398         test-mbsstr1.c; the old version wouldn't even compile!
60399         * modules/memmem-tests: New file.
60400         * lib/string.in.h (rpl_memmem): Add declaration.
60401         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
60402         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
60403         REPLACE_MEMMEM.
60404
60405 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60406
60407         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
60408         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
60409         before any system include files, and undef after them all.  This
60410         should fix a problem on VMS reported by John E. Malmberg in
60411         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
60412
60413 2007-12-17  Eric Blake  <ebb9@byu.net>
60414
60415         Revert addition of verify, for BSD/OS.
60416         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
60417         can't handle large files, for the sake of obsolete platforms.
60418         * modules/fseeko (Depends-on): Remove verify.
60419         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
60420         * doc/functions/ftello.texi (ftello): Likewise.
60421         * doc/functions/fgetpos.texi (fgetpos): Likewise.
60422         Reported by Larry Jones.
60423
60424 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
60425
60426         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
60427         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
60428
60429 2007-12-17  Jim Meyering  <meyering@redhat.com>
60430
60431         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
60432         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
60433         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
60434         * modules/getcwd (Depends-on): Add openat.
60435         Reported by Petr Salinger.
60436
60437 2007-12-17  Bruno Haible  <bruno@clisp.org>
60438
60439         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
60440         avoid a segmentation fault of the configure test on x86_64 systems.
60441
60442 2007-12-15  Jim Meyering  <meyering@redhat.com>
60443
60444         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
60445
60446 2007-12-13  Eric Blake  <ebb9@byu.net>
60447
60448         Another fseek test.
60449         * tests/test-fseek.c (main): Also test ungetc handling.
60450         * tests/test-fseeko.c (main): Likewise.
60451         * modules/fseeko (Depends-on): Add verify.
60452         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
60453         large.
60454         Reported by Larry Jones.
60455
60456         Fix fseeko on mingw.
60457         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
60458         seek.
60459
60460         Beef up fseek tests.
60461         * tests/test-fseek.c (main): Also test eof handling.
60462         * tests/test-fseeko.c (main): Likewise.
60463         Reported by Larry Jones.
60464
60465 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
60466
60467         Fix fseeko on BSD-based platforms.
60468         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
60469         successful seek.
60470
60471 2007-12-12  Eric Blake  <ebb9@byu.net>
60472
60473         Allow circular dependency of separate libtests.a
60474         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
60475         when use_libtests.
60476
60477 2007-12-11  Eric Blake  <ebb9@byu.net>
60478
60479         Fix bug with -0.0L in previous patch.
60480         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
60481         * tests/test-isnan.c (main): Also test on zeroes.
60482         * tests/test-isnanf.c (main): Likewise.
60483         * tests/test-isnanl.h (main): Likewise.
60484
60485         Detect pseudo-denormals on x86 even when cross-compiling.
60486         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
60487         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
60488         invalid bit patterns that happen to satisfy ==.
60489
60490         Avoid link failures with separate libtests.a.
60491         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
60492         last, to satisfy circular dependencies.
60493
60494 2007-12-11  Eric Blake  <ebb9@byu.net>
60495         and Bruno Haible  <bruno@clisp.org>
60496
60497         Fix OpenBSD 4.0 <float.h> handling of long double.
60498         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
60499         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
60500         * doc/headers/float.texi (float.h): Document OpenBSD bug.
60501
60502 2007-12-11  Jim Meyering  <meyering@redhat.com>
60503
60504         * users.txt: Add libvirt.
60505
60506         Support versions of autoconf prior to 2.59c.
60507         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
60508         if it is not already defined.
60509
60510 2007-12-09  Bruno Haible  <bruno@clisp.org>
60511
60512         Let 'gnulib-tool --import' collect sources needed for the tests in
60513         tests/ rather than in lib/.
60514         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
60515         argument. If true, add rules to generate libtests.a, and put libtests.a
60516         into $(LDADD). Consider source files in subdirectories and set
60517         uses_subdirs.
60518         (func_emit_initmacro_start, func_emit_initmacro_end,
60519         func_emit_initmacro_done): Pass all arguments explicitly.
60520         (func_import): Determine two module lists main_modules,
60521         testsrelated_modules. Determine use_libtests. Determine two variables
60522         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
60523         instead of just sed_transform_lib_file. Determine two variables
60524         main_files and testsrelated_files. Compute 'files' as the union of
60525         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
60526         func_add_or_update. In the generated gnulib-comp.m4, collect the
60527         object files for tests/ in different variables than those for lib/.
60528         Substitute LIBTESTS_LIBDEPS.
60529         (func_create_testdir): Combine the uses_subdirs results from
60530         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
60531
60532 2007-12-09  Bruno Haible  <bruno@clisp.org>
60533
60534         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
60535         the build-aux directory.
60536
60537 2007-12-09  Bruno Haible  <bruno@clisp.org>
60538
60539         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
60540         introduced on 2006-09-09.
60541
60542 2007-12-07  Jim Meyering  <meyering@redhat.com>
60543
60544         Let these macros work also with autoconf-2.59.
60545         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
60546         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
60547         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60548
60549 2007-12-06  Jim Meyering  <meyering@redhat.com>
60550
60551         Avoid a configure-time syntax error in gl_FUNC_ACL.
60552         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
60553         function in each branch, before testing the cache variable.
60554
60555 2007-12-04  Eric Blake  <ebb9@byu.net>
60556
60557         Make scripts executable.
60558         * build-aux/config.guess: Add execute permissions.
60559         * build-aux/config.sub: Likewise.
60560         * build-aux/gendocs.sh: Likewise.
60561
60562         Fix frexp on mingw.
60563         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
60564         cross-compiling.
60565         * doc/functions/frexp.texi (frexp): Document the bug.
60566
60567         Make cygwin fseeko check more reliable.
60568         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
60569         version numbers, rather than unrelated feature check.
60570         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
60571         * doc/functions/ftello.texi (ftello): Likewise.
60572         Reported by Bruno Haible.
60573
60574         * m4/strerror.m4: Bump version number.
60575
60576 2007-12-03  Bruno Haible  <bruno@clisp.org>
60577
60578         * doc/functions/mprotect.texi: Mention the mingw problem.
60579
60580 2007-12-03  Eric Blake  <ebb9@byu.net>
60581
60582         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
60583         REPLACE_STRERROR is initialized before this macro.
60584
60585 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60586
60587         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
60588         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
60589         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
60590         put -lsec in even for programs other than 'ls'.  This fixes a problem
60591         for gettext reported by Bruno Haible in
60592         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
60593         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
60594         Add support for Solaris 10.  This isn't efficient, but should get the
60595         job done for now.
60596
60597 2007-12-03  James Youngman  <jay@gnu.org>
60598
60599         * doc/regexprops-generic.texi: change "an close-group" to "a
60600         close-group" and "illegal" to "not allowed".
60601
60602 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60603
60604         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
60605         pr_byname.h. Needed for the rare case when the maintainer has done
60606         "make maintainer-clean" in the source directory and then attempts a
60607         build outside the source directory.
60608         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
60609         scripts_byname.h.
60610
60611 2007-12-02  Martin Lambers <marlam@marlam.de>
60612             Bruno Haible  <bruno@clisp.org>
60613
60614         * lib/getpagesize.h: Remove file.
60615         * lib/unistd.in.h: Include declaration of getpagesize here.
60616         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
60617         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
60618         HAVE_SYS_PARAM_H.
60619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
60620         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60621         * modules/getpagesize (Files): Remove lib/getpagesize.h.
60622         (Depends-on): Add unistd.
60623         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60624         (Include): Use <unistd.h> instead of getpagesize.h.
60625         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
60626         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60627         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
60628         gl_GETPAGESIZE invocation, already handled by module dependency.
60629         * lib/pagealign_alloc.c: Don't include getpagesize.h.
60630
60631 2007-12-02  Bruno Haible  <bruno@clisp.org>
60632
60633         * modules/strings-tests: New file.
60634         * tests/test-strings.c: New file.
60635
60636         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
60637         * lib/strings.in.h: New file.
60638         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
60639         * m4/strings_h.m4: New file.
60640         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
60641         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
60642         * modules/strings: New file.
60643         * modules/string (Makefile.am): Update.
60644         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
60645         Reported by Karl Berry.
60646
60647 2007-12-01  Eric Blake  <ebb9@byu.net>
60648
60649         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
60650         accommodate fix in cygwin 1.5.25.
60651
60652 2007-12-01  Jim Meyering  <meyering@redhat.com>
60653
60654         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
60655         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
60656         that would inhibit utf8-optimization of a regexp containing line-
60657         or buffer-anchors, e.g., `^', `$'.
60658
60659 2007-11-30  Bruno Haible  <bruno@clisp.org>
60660
60661         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
60662         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
60663         glthread_recursive_lock_init.
60664         * lib/lock.c (glthread_recursive_lock_init)
60665         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
60666         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60667
60668 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
60669
60670         New function qset_acl, like set_acl but with syscall semantics.
60671         * lib/acl.h (qset_acl): New decl.
60672         * lib/acl.c (qset_acl): New function.
60673         (set_acl): Use new function.  Use more-consistent diagnostics.
60674
60675 2007-11-28  Jim Meyering  <meyering@redhat.com>
60676
60677         * modules/physmem (License): Change from GPL to LGPLv2+.
60678
60679 2007-11-26  Bruno Haible  <bruno@clisp.org>
60680
60681         * lib/vasnprintf.c (decode_long_double): Don't abort if the
60682         'long double' type has excess precision.
60683         Reported by Jim Meyering in
60684         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
60685
60686 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60687
60688         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
60689         Sync from <http://gnu.org/licenses>.
60690         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
60691         with license text from same location.
60692         * doc/maintain.texi, doc/standards.texi:  Sync from
60693         <http://savannah.gnu.org/projects/gnustandards>.
60694
60695 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
60696         and Jim Meyering  <meyering@redhat.com>
60697
60698         Adjust getdate' grammar to accept a slightly more regular language.
60699         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
60700         Before, the former was rejected.
60701         * lib/getdate.y (digits_to_date_time): New function, factored
60702         out of ...
60703         (number): ...here.  Just call digits_to_date_time.
60704         (hybrid): New non-terminal to handle an <unsigned number,
60705         signed relative offset> sequence consistently.
60706
60707 2007-11-18  Jim Meyering  <meyering@redhat.com>
60708
60709         Pull my changes from coreutils:
60710         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
60711         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
60712         use of $gnulib_tool_option_extras, so that it's separated from the
60713         preceding argument.
60714
60715         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
60716         * build-aux/bootstrap (cp_mark_as_generated): Create any required
60717         parent destination directories before copying a file into place.
60718
60719 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
60720
60721         bootstrap: work also with 4-argument variant of AC_INIT
60722         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
60723
60724 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60725
60726         Port test-getaddrinfo to Solaris.
60727         Problem reported by Bruno Haible in
60728         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
60729         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
60730         explanation of setting 'hints'.
60731         Don't reject an implementation merely because it returns EAI_SERVICE.
60732         (EAI_SERVICE): Define to 0 if not defined.
60733
60734 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
60735
60736         The license of gnu-make and posix-shell is now "GPLed build tool".
60737         * modules/gnu-make (License): Likewise.
60738         * modules/posix-shell (License): Likewise.
60739
60740         New module posix-shell, for determining a POSIX shell
60741         or perhaps something that is close enough to a POSIX shell.
60742         * m4/posix-shell.m4: New file.
60743         * modules/posix-shell: New file.
60744
60745         * MODULES.html.sh: Mention new module.
60746
60747         New module gnu-make, for determining whether we're using GNU Make.
60748         * m4/gnu-make.m4: New file.
60749         * modules/gnu-make: New file.
60750         * MODULES.html.sh: Mention new module.
60751
60752 2007-11-14  Jim Meyering  <meyering@redhat.com>
60753
60754         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
60755         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
60756         use this macro to create a function _definition_.
60757         Remove useless "#undef ARGMATCH_DIE".
60758
60759 2007-11-14  Bruno Haible  <bruno@clisp.org>
60760
60761         * lib/config.charset: Update for OpenBSD 4.1.
60762         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
60763
60764 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
60765
60766         Document 64-bit #if problems in stdint.texi.
60767         * doc/headers/stdint.texi (stdint.h): Mention problems with
60768         64-bit-#if, and how to work around them.
60769
60770         Don't insist on 'long long int' support in the preprocessor.  It
60771         breaks too many things.  For example, PRIdMAX still uses a 'long
60772         long int' format with the latest Sun compiler, even though
60773         HAVE_LONG_LONG_INT isn't defined due to that compiler's
60774         preprocessor problem.  This causes the latest coreutils to dump
60775         core on Solaris 10 sparc with the Sun C compiler.
60776         Instead, fix the 2007-10-16 problem in a different way, by evaluating
60777         the troublesome expressions at configure-time, not at #if-time.
60778         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
60779         preprocessor.
60780         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
60781         compile-time C checks, done at 'configure'-time.
60782         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
60783         * modules/inttypes (Makefile): Substitute the new symbols that
60784         gl_INTTYPES_H now generates.
60785         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
60786
60787 2007-11-12  Bruno Haible  <bruno@clisp.org>
60788
60789         Tests for Unicode character classification functions.
60790
60791         * modules/unictype/bidicategory-byname-tests: New file.
60792         * modules/unictype/bidicategory-name-tests: New file.
60793         * modules/unictype/bidicategory-of-tests: New file.
60794         * modules/unictype/bidicategory-test-tests: New file.
60795         * modules/unictype/block-list-tests: New file.
60796         * modules/unictype/block-of-tests: New file.
60797         * modules/unictype/block-test-tests: New file.
60798         * modules/unictype/category-C-tests: New file.
60799         * modules/unictype/category-Cc-tests: New file.
60800         * modules/unictype/category-Cf-tests: New file.
60801         * modules/unictype/category-Cn-tests: New file.
60802         * modules/unictype/category-Co-tests: New file.
60803         * modules/unictype/category-Cs-tests: New file.
60804         * modules/unictype/category-L-tests: New file.
60805         * modules/unictype/category-Ll-tests: New file.
60806         * modules/unictype/category-Lm-tests: New file.
60807         * modules/unictype/category-Lo-tests: New file.
60808         * modules/unictype/category-Lt-tests: New file.
60809         * modules/unictype/category-Lu-tests: New file.
60810         * modules/unictype/category-M-tests: New file.
60811         * modules/unictype/category-Mc-tests: New file.
60812         * modules/unictype/category-Me-tests: New file.
60813         * modules/unictype/category-Mn-tests: New file.
60814         * modules/unictype/category-N-tests: New file.
60815         * modules/unictype/category-Nd-tests: New file.
60816         * modules/unictype/category-Nl-tests: New file.
60817         * modules/unictype/category-No-tests: New file.
60818         * modules/unictype/category-P-tests: New file.
60819         * modules/unictype/category-Pc-tests: New file.
60820         * modules/unictype/category-Pd-tests: New file.
60821         * modules/unictype/category-Pe-tests: New file.
60822         * modules/unictype/category-Pf-tests: New file.
60823         * modules/unictype/category-Pi-tests: New file.
60824         * modules/unictype/category-Po-tests: New file.
60825         * modules/unictype/category-Ps-tests: New file.
60826         * modules/unictype/category-S-tests: New file.
60827         * modules/unictype/category-Sc-tests: New file.
60828         * modules/unictype/category-Sk-tests: New file.
60829         * modules/unictype/category-Sm-tests: New file.
60830         * modules/unictype/category-So-tests: New file.
60831         * modules/unictype/category-Z-tests: New file.
60832         * modules/unictype/category-Zl-tests: New file.
60833         * modules/unictype/category-Zp-tests: New file.
60834         * modules/unictype/category-Zs-tests: New file.
60835         * modules/unictype/category-and-not-tests: New file.
60836         * modules/unictype/category-and-tests: New file.
60837         * modules/unictype/category-byname-tests: New file.
60838         * modules/unictype/category-name-tests: New file.
60839         * modules/unictype/category-none-tests: New file.
60840         * modules/unictype/category-of-tests: New file.
60841         * modules/unictype/category-or-tests: New file.
60842         * modules/unictype/category-test-withtable-tests: New file.
60843         * modules/unictype/combining-class-tests: New file.
60844         * modules/unictype/ctype-alnum-tests: New file.
60845         * modules/unictype/ctype-alpha-tests: New file.
60846         * modules/unictype/ctype-blank-tests: New file.
60847         * modules/unictype/ctype-cntrl-tests: New file.
60848         * modules/unictype/ctype-digit-tests: New file.
60849         * modules/unictype/ctype-graph-tests: New file.
60850         * modules/unictype/ctype-lower-tests: New file.
60851         * modules/unictype/ctype-print-tests: New file.
60852         * modules/unictype/ctype-punct-tests: New file.
60853         * modules/unictype/ctype-space-tests: New file.
60854         * modules/unictype/ctype-upper-tests: New file.
60855         * modules/unictype/ctype-xdigit-tests: New file.
60856         * modules/unictype/decimal-digit-tests: New file.
60857         * modules/unictype/digit-tests: New file.
60858         * modules/unictype/mirror-tests: New file.
60859         * modules/unictype/numeric-tests: New file.
60860         * modules/unictype/property-alphabetic-tests: New file.
60861         * modules/unictype/property-ascii-hex-digit-tests: New file.
60862         * modules/unictype/property-bidi-arabic-digit-tests: New file.
60863         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
60864         * modules/unictype/property-bidi-block-separator-tests: New file.
60865         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
60866         * modules/unictype/property-bidi-common-separator-tests: New file.
60867         * modules/unictype/property-bidi-control-tests: New file.
60868         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
60869         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
60870         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
60871         * modules/unictype/property-bidi-european-digit-tests: New file.
60872         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
60873         * modules/unictype/property-bidi-left-to-right-tests: New file.
60874         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
60875         * modules/unictype/property-bidi-other-neutral-tests: New file.
60876         * modules/unictype/property-bidi-pdf-tests: New file.
60877         * modules/unictype/property-bidi-segment-separator-tests: New file.
60878         * modules/unictype/property-bidi-whitespace-tests: New file.
60879         * modules/unictype/property-byname-tests: New file.
60880         * modules/unictype/property-combining-tests: New file.
60881         * modules/unictype/property-composite-tests: New file.
60882         * modules/unictype/property-currency-symbol-tests: New file.
60883         * modules/unictype/property-dash-tests: New file.
60884         * modules/unictype/property-decimal-digit-tests: New file.
60885         * modules/unictype/property-default-ignorable-code-point-tests: New file.
60886         * modules/unictype/property-deprecated-tests: New file.
60887         * modules/unictype/property-diacritic-tests: New file.
60888         * modules/unictype/property-extender-tests: New file.
60889         * modules/unictype/property-format-control-tests: New file.
60890         * modules/unictype/property-grapheme-base-tests: New file.
60891         * modules/unictype/property-grapheme-extend-tests: New file.
60892         * modules/unictype/property-grapheme-link-tests: New file.
60893         * modules/unictype/property-hex-digit-tests: New file.
60894         * modules/unictype/property-hyphen-tests: New file.
60895         * modules/unictype/property-id-continue-tests: New file.
60896         * modules/unictype/property-id-start-tests: New file.
60897         * modules/unictype/property-ideographic-tests: New file.
60898         * modules/unictype/property-ids-binary-operator-tests: New file.
60899         * modules/unictype/property-ids-trinary-operator-tests: New file.
60900         * modules/unictype/property-ignorable-control-tests: New file.
60901         * modules/unictype/property-iso-control-tests: New file.
60902         * modules/unictype/property-join-control-tests: New file.
60903         * modules/unictype/property-left-of-pair-tests: New file.
60904         * modules/unictype/property-line-separator-tests: New file.
60905         * modules/unictype/property-logical-order-exception-tests: New file.
60906         * modules/unictype/property-lowercase-tests: New file.
60907         * modules/unictype/property-math-tests: New file.
60908         * modules/unictype/property-non-break-tests: New file.
60909         * modules/unictype/property-not-a-character-tests: New file.
60910         * modules/unictype/property-numeric-tests: New file.
60911         * modules/unictype/property-other-alphabetic-tests: New file.
60912         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
60913         * modules/unictype/property-other-grapheme-extend-tests: New file.
60914         * modules/unictype/property-other-id-continue-tests: New file.
60915         * modules/unictype/property-other-id-start-tests: New file.
60916         * modules/unictype/property-other-lowercase-tests: New file.
60917         * modules/unictype/property-other-math-tests: New file.
60918         * modules/unictype/property-other-uppercase-tests: New file.
60919         * modules/unictype/property-paired-punctuation-tests: New file.
60920         * modules/unictype/property-paragraph-separator-tests: New file.
60921         * modules/unictype/property-pattern-syntax-tests: New file.
60922         * modules/unictype/property-pattern-white-space-tests: New file.
60923         * modules/unictype/property-private-use-tests: New file.
60924         * modules/unictype/property-punctuation-tests: New file.
60925         * modules/unictype/property-quotation-mark-tests: New file.
60926         * modules/unictype/property-radical-tests: New file.
60927         * modules/unictype/property-sentence-terminal-tests: New file.
60928         * modules/unictype/property-soft-dotted-tests: New file.
60929         * modules/unictype/property-space-tests: New file.
60930         * modules/unictype/property-terminal-punctuation-tests: New file.
60931         * modules/unictype/property-test-tests: New file.
60932         * modules/unictype/property-titlecase-tests: New file.
60933         * modules/unictype/property-unassigned-code-value-tests: New file.
60934         * modules/unictype/property-unified-ideograph-tests: New file.
60935         * modules/unictype/property-uppercase-tests: New file.
60936         * modules/unictype/property-variation-selector-tests: New file.
60937         * modules/unictype/property-white-space-tests: New file.
60938         * modules/unictype/property-xid-continue-tests: New file.
60939         * modules/unictype/property-xid-start-tests: New file.
60940         * modules/unictype/property-zero-width-tests: New file.
60941         * modules/unictype/scripts-tests: New file.
60942         * modules/unictype/syntax-c-ident-tests: New file.
60943         * modules/unictype/syntax-c-whitespace-tests: New file.
60944         * modules/unictype/syntax-java-ident-tests: New file.
60945         * modules/unictype/syntax-java-whitespace-tests: New file.
60946         * tests/unictype/test-bidi_byname.c: New file.
60947         * tests/unictype/test-bidi_name.c: New file.
60948         * tests/unictype/test-bidi_of.c: New file.
60949         * tests/unictype/test-bidi_test.c: New file.
60950         * tests/unictype/test-block_list.c: New file.
60951         * tests/unictype/test-block_of.c: New file.
60952         * tests/unictype/test-block_test.c: New file.
60953         * tests/unictype/test-categ_and.c: New file.
60954         * tests/unictype/test-categ_and_not.c: New file.
60955         * tests/unictype/test-categ_byname.c: New file.
60956         * tests/unictype/test-categ_name.c: New file.
60957         * tests/unictype/test-categ_none.c: New file.
60958         * tests/unictype/test-categ_of.c: New file.
60959         * tests/unictype/test-categ_or.c: New file.
60960         * tests/unictype/test-categ_test_withtable.c: New file.
60961         * tests/unictype/test-combining.c: New file.
60962         * tests/unictype/test-decdigit.c: New file.
60963         * tests/unictype/test-digit.c: New file.
60964         * tests/unictype/test-mirror.c: New file.
60965         * tests/unictype/test-numeric.c: New file.
60966         * tests/unictype/test-pr_byname.c: New file.
60967         * tests/unictype/test-pr_test.c: New file.
60968         * tests/unictype/test-predicate-part1.h: New file.
60969         * tests/unictype/test-predicate-part2.h: New file.
60970         * tests/unictype/test-scripts.c: New file.
60971         * tests/unictype/test-sy_c_ident.c: New file.
60972         * tests/unictype/test-sy_java_ident.c: New file.
60973
60974         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
60975         for Unicode 5.0.0.
60976         * tests/unictype/test-categ_Cc.c: Likewise.
60977         * tests/unictype/test-categ_Cf.c: Likewise.
60978         * tests/unictype/test-categ_Cn.c: Likewise.
60979         * tests/unictype/test-categ_Co.c: Likewise.
60980         * tests/unictype/test-categ_Cs.c: Likewise.
60981         * tests/unictype/test-categ_L.c: Likewise.
60982         * tests/unictype/test-categ_Ll.c: Likewise.
60983         * tests/unictype/test-categ_Lm.c: Likewise.
60984         * tests/unictype/test-categ_Lo.c: Likewise.
60985         * tests/unictype/test-categ_Lt.c: Likewise.
60986         * tests/unictype/test-categ_Lu.c: Likewise.
60987         * tests/unictype/test-categ_M.c: Likewise.
60988         * tests/unictype/test-categ_Mc.c: Likewise.
60989         * tests/unictype/test-categ_Me.c: Likewise.
60990         * tests/unictype/test-categ_Mn.c: Likewise.
60991         * tests/unictype/test-categ_N.c: Likewise.
60992         * tests/unictype/test-categ_Nd.c: Likewise.
60993         * tests/unictype/test-categ_Nl.c: Likewise.
60994         * tests/unictype/test-categ_No.c: Likewise.
60995         * tests/unictype/test-categ_P.c: Likewise.
60996         * tests/unictype/test-categ_Pc.c: Likewise.
60997         * tests/unictype/test-categ_Pd.c: Likewise.
60998         * tests/unictype/test-categ_Pe.c: Likewise.
60999         * tests/unictype/test-categ_Pf.c: Likewise.
61000         * tests/unictype/test-categ_Pi.c: Likewise.
61001         * tests/unictype/test-categ_Po.c: Likewise.
61002         * tests/unictype/test-categ_Ps.c: Likewise.
61003         * tests/unictype/test-categ_S.c: Likewise.
61004         * tests/unictype/test-categ_Sc.c: Likewise.
61005         * tests/unictype/test-categ_Sk.c: Likewise.
61006         * tests/unictype/test-categ_Sm.c: Likewise.
61007         * tests/unictype/test-categ_So.c: Likewise.
61008         * tests/unictype/test-categ_Z.c: Likewise.
61009         * tests/unictype/test-categ_Zl.c: Likewise.
61010         * tests/unictype/test-categ_Zp.c: Likewise.
61011         * tests/unictype/test-categ_Zs.c: Likewise.
61012         * tests/unictype/test-ctype_alnum.c: Likewise.
61013         * tests/unictype/test-ctype_alpha.c: Likewise.
61014         * tests/unictype/test-ctype_blank.c: Likewise.
61015         * tests/unictype/test-ctype_cntrl.c: Likewise.
61016         * tests/unictype/test-ctype_digit.c: Likewise.
61017         * tests/unictype/test-ctype_graph.c: Likewise.
61018         * tests/unictype/test-ctype_lower.c: Likewise.
61019         * tests/unictype/test-ctype_print.c: Likewise.
61020         * tests/unictype/test-ctype_punct.c: Likewise.
61021         * tests/unictype/test-ctype_space.c: Likewise.
61022         * tests/unictype/test-ctype_upper.c: Likewise.
61023         * tests/unictype/test-ctype_xdigit.c: Likewise.
61024         * tests/unictype/test-decdigit.h: Likewise.
61025         * tests/unictype/test-digit.h: Likewise.
61026         * tests/unictype/test-numeric.h: Likewise.
61027         * tests/unictype/test-pr_alphabetic.c: Likewise.
61028         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
61029         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61030         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61031         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
61032         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61033         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
61034         * tests/unictype/test-pr_bidi_control.c: Likewise.
61035         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
61036         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
61037         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61038         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61039         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61040         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61041         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61042         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61043         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
61044         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
61045         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
61046         * tests/unictype/test-pr_combining.c: Likewise.
61047         * tests/unictype/test-pr_composite.c: Likewise.
61048         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61049         * tests/unictype/test-pr_dash.c: Likewise.
61050         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61051         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
61052         * tests/unictype/test-pr_deprecated.c: Likewise.
61053         * tests/unictype/test-pr_diacritic.c: Likewise.
61054         * tests/unictype/test-pr_extender.c: Likewise.
61055         * tests/unictype/test-pr_format_control.c: Likewise.
61056         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61057         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61058         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61059         * tests/unictype/test-pr_hex_digit.c: Likewise.
61060         * tests/unictype/test-pr_hyphen.c: Likewise.
61061         * tests/unictype/test-pr_id_continue.c: Likewise.
61062         * tests/unictype/test-pr_id_start.c: Likewise.
61063         * tests/unictype/test-pr_ideographic.c: Likewise.
61064         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
61065         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
61066         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61067         * tests/unictype/test-pr_iso_control.c: Likewise.
61068         * tests/unictype/test-pr_join_control.c: Likewise.
61069         * tests/unictype/test-pr_left_of_pair.c: Likewise.
61070         * tests/unictype/test-pr_line_separator.c: Likewise.
61071         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61072         * tests/unictype/test-pr_lowercase.c: Likewise.
61073         * tests/unictype/test-pr_math.c: Likewise.
61074         * tests/unictype/test-pr_non_break.c: Likewise.
61075         * tests/unictype/test-pr_not_a_character.c: Likewise.
61076         * tests/unictype/test-pr_numeric.c: Likewise.
61077         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61078         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
61079         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
61080         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61081         * tests/unictype/test-pr_other_id_start.c: Likewise.
61082         * tests/unictype/test-pr_other_lowercase.c: Likewise.
61083         * tests/unictype/test-pr_other_math.c: Likewise.
61084         * tests/unictype/test-pr_other_uppercase.c: Likewise.
61085         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
61086         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
61087         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
61088         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
61089         * tests/unictype/test-pr_private_use.c: Likewise.
61090         * tests/unictype/test-pr_punctuation.c: Likewise.
61091         * tests/unictype/test-pr_quotation_mark.c: Likewise.
61092         * tests/unictype/test-pr_radical.c: Likewise.
61093         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61094         * tests/unictype/test-pr_soft_dotted.c: Likewise.
61095         * tests/unictype/test-pr_space.c: Likewise.
61096         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61097         * tests/unictype/test-pr_titlecase.c: Likewise.
61098         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61099         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61100         * tests/unictype/test-pr_uppercase.c: Likewise.
61101         * tests/unictype/test-pr_variation_selector.c: Likewise.
61102         * tests/unictype/test-pr_white_space.c: Likewise.
61103         * tests/unictype/test-pr_xid_continue.c: Likewise.
61104         * tests/unictype/test-pr_xid_start.c: Likewise.
61105         * tests/unictype/test-pr_zero_width.c: Likewise.
61106         * tests/unictype/test-sy_c_whitespace.c: Likewise.
61107         * tests/unictype/test-sy_java_whitespace.c: Likewise.
61108
61109 2007-11-12  Bruno Haible  <bruno@clisp.org>
61110
61111         Unicode character classification functions.
61112         * lib/unictype.h: New file.
61113         * modules/unictype/base: New file.
61114         * modules/unictype/category-L: New file.
61115         * modules/unictype/category-Lu: New file.
61116         * modules/unictype/category-Ll: New file.
61117         * modules/unictype/category-Lt: New file.
61118         * modules/unictype/category-Lm: New file.
61119         * modules/unictype/category-Lo: New file.
61120         * modules/unictype/category-M: New file.
61121         * modules/unictype/category-Mn: New file.
61122         * modules/unictype/category-Mc: New file.
61123         * modules/unictype/category-Me: New file.
61124         * modules/unictype/category-N: New file.
61125         * modules/unictype/category-Nd: New file.
61126         * modules/unictype/category-Nl: New file.
61127         * modules/unictype/category-No: New file.
61128         * modules/unictype/category-P: New file.
61129         * modules/unictype/category-Pc: New file.
61130         * modules/unictype/category-Pd: New file.
61131         * modules/unictype/category-Ps: New file.
61132         * modules/unictype/category-Pe: New file.
61133         * modules/unictype/category-Pi: New file.
61134         * modules/unictype/category-Pf: New file.
61135         * modules/unictype/category-Po: New file.
61136         * modules/unictype/category-S: New file.
61137         * modules/unictype/category-Sm: New file.
61138         * modules/unictype/category-Sc: New file.
61139         * modules/unictype/category-Sk: New file.
61140         * modules/unictype/category-So: New file.
61141         * modules/unictype/category-Z: New file.
61142         * modules/unictype/category-Zs: New file.
61143         * modules/unictype/category-Zl: New file.
61144         * modules/unictype/category-Zp: New file.
61145         * modules/unictype/category-C: New file.
61146         * modules/unictype/category-Cc: New file.
61147         * modules/unictype/category-Cf: New file.
61148         * modules/unictype/category-Cs: New file.
61149         * modules/unictype/category-Co: New file.
61150         * modules/unictype/category-Cn: New file.
61151         * modules/unictype/category-or: New file.
61152         * modules/unictype/category-of: New file.
61153         * modules/unictype/category-test: New file.
61154         * modules/unictype/category-test-withtable: New file.
61155         * modules/unictype/category-byname: New file.
61156         * modules/unictype/category-none: New file.
61157         * modules/unictype/category-and: New file.
61158         * modules/unictype/category-and-not: New file.
61159         * modules/unictype/category-name: New file.
61160         * modules/unictype/combining-class: New file.
61161         * modules/unictype/category-all: New file.
61162         * modules/unictype/bidicategory-all: New file.
61163         * modules/unictype/bidicategory-byname: New file.
61164         * modules/unictype/bidicategory-name: New file.
61165         * modules/unictype/bidicategory-of: New file.
61166         * modules/unictype/bidicategory-test: New file.
61167         * modules/unictype/decimal-digit: New file.
61168         * modules/unictype/digit: New file.
61169         * modules/unictype/numeric: New file.
61170         * modules/unictype/mirror: New file.
61171         * modules/unictype/property-white-space: New file.
61172         * modules/unictype/property-alphabetic: New file.
61173         * modules/unictype/property-other-alphabetic: New file.
61174         * modules/unictype/property-not-a-character: New file.
61175         * modules/unictype/property-default-ignorable-code-point: New file.
61176         * modules/unictype/property-other-default-ignorable-code-point: New
61177         file.
61178         * modules/unictype/property-deprecated: New file.
61179         * modules/unictype/property-logical-order-exception: New file.
61180         * modules/unictype/property-variation-selector: New file.
61181         * modules/unictype/property-private-use: New file.
61182         * modules/unictype/property-unassigned-code-value: New file.
61183         * modules/unictype/property-uppercase: New file.
61184         * modules/unictype/property-other-uppercase: New file.
61185         * modules/unictype/property-lowercase: New file.
61186         * modules/unictype/property-other-lowercase: New file.
61187         * modules/unictype/property-titlecase: New file.
61188         * modules/unictype/property-soft-dotted: New file.
61189         * modules/unictype/property-id-start: New file.
61190         * modules/unictype/property-other-id-start: New file.
61191         * modules/unictype/property-id-continue: New file.
61192         * modules/unictype/property-other-id-continue: New file.
61193         * modules/unictype/property-xid-start: New file.
61194         * modules/unictype/property-xid-continue: New file.
61195         * modules/unictype/property-pattern-white-space: New file.
61196         * modules/unictype/property-pattern-syntax: New file.
61197         * modules/unictype/property-join-control: New file.
61198         * modules/unictype/property-grapheme-base: New file.
61199         * modules/unictype/property-grapheme-extend: New file.
61200         * modules/unictype/property-other-grapheme-extend: New file.
61201         * modules/unictype/property-grapheme-link: New file.
61202         * modules/unictype/property-bidi-control: New file.
61203         * modules/unictype/property-bidi-left-to-right: New file.
61204         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
61205         * modules/unictype/property-bidi-arabic-right-to-left: New file.
61206         * modules/unictype/property-bidi-european-digit: New file.
61207         * modules/unictype/property-bidi-eur-num-separator: New file.
61208         * modules/unictype/property-bidi-eur-num-terminator: New file.
61209         * modules/unictype/property-bidi-arabic-digit: New file.
61210         * modules/unictype/property-bidi-common-separator: New file.
61211         * modules/unictype/property-bidi-block-separator: New file.
61212         * modules/unictype/property-bidi-segment-separator: New file.
61213         * modules/unictype/property-bidi-whitespace: New file.
61214         * modules/unictype/property-bidi-non-spacing-mark: New file.
61215         * modules/unictype/property-bidi-boundary-neutral: New file.
61216         * modules/unictype/property-bidi-pdf: New file.
61217         * modules/unictype/property-bidi-embedding-or-override: New file.
61218         * modules/unictype/property-bidi-other-neutral: New file.
61219         * modules/unictype/property-hex-digit: New file.
61220         * modules/unictype/property-ascii-hex-digit: New file.
61221         * modules/unictype/property-ideographic: New file.
61222         * modules/unictype/property-unified-ideograph: New file.
61223         * modules/unictype/property-radical: New file.
61224         * modules/unictype/property-ids-binary-operator: New file.
61225         * modules/unictype/property-ids-trinary-operator: New file.
61226         * modules/unictype/property-zero-width: New file.
61227         * modules/unictype/property-space: New file.
61228         * modules/unictype/property-non-break: New file.
61229         * modules/unictype/property-iso-control: New file.
61230         * modules/unictype/property-format-control: New file.
61231         * modules/unictype/property-dash: New file.
61232         * modules/unictype/property-hyphen: New file.
61233         * modules/unictype/property-punctuation: New file.
61234         * modules/unictype/property-line-separator: New file.
61235         * modules/unictype/property-paragraph-separator: New file.
61236         * modules/unictype/property-quotation-mark: New file.
61237         * modules/unictype/property-sentence-terminal: New file.
61238         * modules/unictype/property-terminal-punctuation: New file.
61239         * modules/unictype/property-currency-symbol: New file.
61240         * modules/unictype/property-math: New file.
61241         * modules/unictype/property-other-math: New file.
61242         * modules/unictype/property-paired-punctuation: New file.
61243         * modules/unictype/property-left-of-pair: New file.
61244         * modules/unictype/property-combining: New file.
61245         * modules/unictype/property-composite: New file.
61246         * modules/unictype/property-decimal-digit: New file.
61247         * modules/unictype/property-numeric: New file.
61248         * modules/unictype/property-diacritic: New file.
61249         * modules/unictype/property-extender: New file.
61250         * modules/unictype/property-ignorable-control: New file.
61251         * modules/unictype/property-test: New file.
61252         * modules/unictype/property-byname: New file.
61253         * modules/unictype/property-all: New file.
61254         * modules/unictype/scripts: New file.
61255         * modules/unictype/scripts-all: New file.
61256         * modules/unictype/block-of: New file.
61257         * modules/unictype/block-test: New file.
61258         * modules/unictype/block-list: New file.
61259         * modules/unictype/block-all: New file.
61260         * modules/unictype/syntax-c-whitespace: New file.
61261         * modules/unictype/syntax-java-whitespace: New file.
61262         * modules/unictype/syntax-c-ident: New file.
61263         * modules/unictype/syntax-java-ident: New file.
61264         * modules/unictype/ctype-alnum: New file.
61265         * modules/unictype/ctype-alpha: New file.
61266         * modules/unictype/ctype-cntrl: New file.
61267         * modules/unictype/ctype-digit: New file.
61268         * modules/unictype/ctype-graph: New file.
61269         * modules/unictype/ctype-lower: New file.
61270         * modules/unictype/ctype-print: New file.
61271         * modules/unictype/ctype-punct: New file.
61272         * modules/unictype/ctype-space: New file.
61273         * modules/unictype/ctype-upper: New file.
61274         * modules/unictype/ctype-xdigit: New file.
61275         * modules/unictype/ctype-blank: New file.
61276         * lib/unictype/bidi_byname.c: New file.
61277         * lib/unictype/bidi_name.c: New file.
61278         * lib/unictype/bidi_of.c: New file.
61279         * lib/unictype/bidi_test.c: New file.
61280         * lib/unictype/bitmap.h: New file.
61281         * lib/unictype/block_test.c: New file.
61282         * lib/unictype/blocks.c: New file.
61283         * lib/unictype/categ_C.c: New file.
61284         * lib/unictype/categ_Cc.c: New file.
61285         * lib/unictype/categ_Cf.c: New file.
61286         * lib/unictype/categ_Cn.c: New file.
61287         * lib/unictype/categ_Co.c: New file.
61288         * lib/unictype/categ_Cs.c: New file.
61289         * lib/unictype/categ_L.c: New file.
61290         * lib/unictype/categ_Ll.c: New file.
61291         * lib/unictype/categ_Lm.c: New file.
61292         * lib/unictype/categ_Lo.c: New file.
61293         * lib/unictype/categ_Lt.c: New file.
61294         * lib/unictype/categ_Lu.c: New file.
61295         * lib/unictype/categ_M.c: New file.
61296         * lib/unictype/categ_Mc.c: New file.
61297         * lib/unictype/categ_Me.c: New file.
61298         * lib/unictype/categ_Mn.c: New file.
61299         * lib/unictype/categ_N.c: New file.
61300         * lib/unictype/categ_Nd.c: New file.
61301         * lib/unictype/categ_Nl.c: New file.
61302         * lib/unictype/categ_No.c: New file.
61303         * lib/unictype/categ_P.c: New file.
61304         * lib/unictype/categ_Pc.c: New file.
61305         * lib/unictype/categ_Pd.c: New file.
61306         * lib/unictype/categ_Pe.c: New file.
61307         * lib/unictype/categ_Pf.c: New file.
61308         * lib/unictype/categ_Pi.c: New file.
61309         * lib/unictype/categ_Po.c: New file.
61310         * lib/unictype/categ_Ps.c: New file.
61311         * lib/unictype/categ_S.c: New file.
61312         * lib/unictype/categ_Sc.c: New file.
61313         * lib/unictype/categ_Sk.c: New file.
61314         * lib/unictype/categ_Sm.c: New file.
61315         * lib/unictype/categ_So.c: New file.
61316         * lib/unictype/categ_Z.c: New file.
61317         * lib/unictype/categ_Zl.c: New file.
61318         * lib/unictype/categ_Zp.c: New file.
61319         * lib/unictype/categ_Zs.c: New file.
61320         * lib/unictype/categ_and.c: New file.
61321         * lib/unictype/categ_and_not.c: New file.
61322         * lib/unictype/categ_byname.c: New file.
61323         * lib/unictype/categ_name.c: New file.
61324         * lib/unictype/categ_none.c: New file.
61325         * lib/unictype/categ_of.c: New file.
61326         * lib/unictype/categ_or.c: New file.
61327         * lib/unictype/categ_test.c: New file.
61328         * lib/unictype/combining.c: New file.
61329         * lib/unictype/ctype_alnum.c: New file.
61330         * lib/unictype/ctype_alpha.c: New file.
61331         * lib/unictype/ctype_blank.c: New file.
61332         * lib/unictype/ctype_cntrl.c: New file.
61333         * lib/unictype/ctype_digit.c: New file.
61334         * lib/unictype/ctype_graph.c: New file.
61335         * lib/unictype/ctype_lower.c: New file.
61336         * lib/unictype/ctype_print.c: New file.
61337         * lib/unictype/ctype_punct.c: New file.
61338         * lib/unictype/ctype_space.c: New file.
61339         * lib/unictype/ctype_upper.c: New file.
61340         * lib/unictype/ctype_xdigit.c: New file.
61341         * lib/unictype/decdigit.c: New file.
61342         * lib/unictype/digit.c: New file.
61343         * lib/unictype/identsyntaxmap.h: New file.
61344         * lib/unictype/mirror.c: New file.
61345         * lib/unictype/numeric.c: New file.
61346         * lib/unictype/pr_alphabetic.c: New file.
61347         * lib/unictype/pr_ascii_hex_digit.c: New file.
61348         * lib/unictype/pr_bidi_arabic_digit.c: New file.
61349         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
61350         * lib/unictype/pr_bidi_block_separator.c: New file.
61351         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
61352         * lib/unictype/pr_bidi_common_separator.c: New file.
61353         * lib/unictype/pr_bidi_control.c: New file.
61354         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
61355         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
61356         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
61357         * lib/unictype/pr_bidi_european_digit.c: New file.
61358         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
61359         * lib/unictype/pr_bidi_left_to_right.c: New file.
61360         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
61361         * lib/unictype/pr_bidi_other_neutral.c: New file.
61362         * lib/unictype/pr_bidi_pdf.c: New file.
61363         * lib/unictype/pr_bidi_segment_separator.c: New file.
61364         * lib/unictype/pr_bidi_whitespace.c: New file.
61365         * lib/unictype/pr_byname.c: New file.
61366         * lib/unictype/pr_byname.gperf: New file.
61367         * lib/unictype/pr_combining.c: New file.
61368         * lib/unictype/pr_composite.c: New file.
61369         * lib/unictype/pr_currency_symbol.c: New file.
61370         * lib/unictype/pr_dash.c: New file.
61371         * lib/unictype/pr_decimal_digit.c: New file.
61372         * lib/unictype/pr_default_ignorable_code_point.c: New file.
61373         * lib/unictype/pr_deprecated.c: New file.
61374         * lib/unictype/pr_diacritic.c: New file.
61375         * lib/unictype/pr_extender.c: New file.
61376         * lib/unictype/pr_format_control.c: New file.
61377         * lib/unictype/pr_grapheme_base.c: New file.
61378         * lib/unictype/pr_grapheme_extend.c: New file.
61379         * lib/unictype/pr_grapheme_link.c: New file.
61380         * lib/unictype/pr_hex_digit.c: New file.
61381         * lib/unictype/pr_hyphen.c: New file.
61382         * lib/unictype/pr_id_continue.c: New file.
61383         * lib/unictype/pr_id_start.c: New file.
61384         * lib/unictype/pr_ideographic.c: New file.
61385         * lib/unictype/pr_ids_binary_operator.c: New file.
61386         * lib/unictype/pr_ids_trinary_operator.c: New file.
61387         * lib/unictype/pr_ignorable_control.c: New file.
61388         * lib/unictype/pr_iso_control.c: New file.
61389         * lib/unictype/pr_join_control.c: New file.
61390         * lib/unictype/pr_left_of_pair.c: New file.
61391         * lib/unictype/pr_line_separator.c: New file.
61392         * lib/unictype/pr_logical_order_exception.c: New file.
61393         * lib/unictype/pr_lowercase.c: New file.
61394         * lib/unictype/pr_math.c: New file.
61395         * lib/unictype/pr_non_break.c: New file.
61396         * lib/unictype/pr_not_a_character.c: New file.
61397         * lib/unictype/pr_numeric.c: New file.
61398         * lib/unictype/pr_other_alphabetic.c: New file.
61399         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
61400         * lib/unictype/pr_other_grapheme_extend.c: New file.
61401         * lib/unictype/pr_other_id_continue.c: New file.
61402         * lib/unictype/pr_other_id_start.c: New file.
61403         * lib/unictype/pr_other_lowercase.c: New file.
61404         * lib/unictype/pr_other_math.c: New file.
61405         * lib/unictype/pr_other_uppercase.c: New file.
61406         * lib/unictype/pr_paired_punctuation.c: New file.
61407         * lib/unictype/pr_paragraph_separator.c: New file.
61408         * lib/unictype/pr_pattern_syntax.c: New file.
61409         * lib/unictype/pr_pattern_white_space.c: New file.
61410         * lib/unictype/pr_private_use.c: New file.
61411         * lib/unictype/pr_punctuation.c: New file.
61412         * lib/unictype/pr_quotation_mark.c: New file.
61413         * lib/unictype/pr_radical.c: New file.
61414         * lib/unictype/pr_sentence_terminal.c: New file.
61415         * lib/unictype/pr_soft_dotted.c: New file.
61416         * lib/unictype/pr_space.c: New file.
61417         * lib/unictype/pr_terminal_punctuation.c: New file.
61418         * lib/unictype/pr_test.c: New file.
61419         * lib/unictype/pr_titlecase.c: New file.
61420         * lib/unictype/pr_unassigned_code_value.c: New file.
61421         * lib/unictype/pr_unified_ideograph.c: New file.
61422         * lib/unictype/pr_uppercase.c: New file.
61423         * lib/unictype/pr_variation_selector.c: New file.
61424         * lib/unictype/pr_white_space.c: New file.
61425         * lib/unictype/pr_xid_continue.c: New file.
61426         * lib/unictype/pr_xid_start.c: New file.
61427         * lib/unictype/pr_zero_width.c: New file.
61428         * lib/unictype/scripts.c: New file.
61429         * lib/unictype/sy_c_ident.c: New file.
61430         * lib/unictype/sy_c_whitespace.c: New file.
61431         * lib/unictype/sy_java_ident.c: New file.
61432         * lib/unictype/sy_java_whitespace.c: New file.
61433
61434         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
61435         Unicode 5.0.0.
61436         * lib/unictype/blocks.h: Likewise.
61437         * lib/unictype/categ_C.h: Likewise.
61438         * lib/unictype/categ_Cc.h: Likewise.
61439         * lib/unictype/categ_Cf.h: Likewise.
61440         * lib/unictype/categ_Cn.h: Likewise.
61441         * lib/unictype/categ_Co.h: Likewise.
61442         * lib/unictype/categ_Cs.h: Likewise.
61443         * lib/unictype/categ_L.h: Likewise.
61444         * lib/unictype/categ_Ll.h: Likewise.
61445         * lib/unictype/categ_Lm.h: Likewise.
61446         * lib/unictype/categ_Lo.h: Likewise.
61447         * lib/unictype/categ_Lt.h: Likewise.
61448         * lib/unictype/categ_Lu.h: Likewise.
61449         * lib/unictype/categ_M.h: Likewise.
61450         * lib/unictype/categ_Mc.h: Likewise.
61451         * lib/unictype/categ_Me.h: Likewise.
61452         * lib/unictype/categ_Mn.h: Likewise.
61453         * lib/unictype/categ_N.h: Likewise.
61454         * lib/unictype/categ_Nd.h: Likewise.
61455         * lib/unictype/categ_Nl.h: Likewise.
61456         * lib/unictype/categ_No.h: Likewise.
61457         * lib/unictype/categ_P.h: Likewise.
61458         * lib/unictype/categ_Pc.h: Likewise.
61459         * lib/unictype/categ_Pd.h: Likewise.
61460         * lib/unictype/categ_Pe.h: Likewise.
61461         * lib/unictype/categ_Pf.h: Likewise.
61462         * lib/unictype/categ_Pi.h: Likewise.
61463         * lib/unictype/categ_Po.h: Likewise.
61464         * lib/unictype/categ_Ps.h: Likewise.
61465         * lib/unictype/categ_S.h: Likewise.
61466         * lib/unictype/categ_Sc.h: Likewise.
61467         * lib/unictype/categ_Sk.h: Likewise.
61468         * lib/unictype/categ_Sm.h: Likewise.
61469         * lib/unictype/categ_So.h: Likewise.
61470         * lib/unictype/categ_Z.h: Likewise.
61471         * lib/unictype/categ_Zl.h: Likewise.
61472         * lib/unictype/categ_Zp.h: Likewise.
61473         * lib/unictype/categ_Zs.h: Likewise.
61474         * lib/unictype/categ_of.h: Likewise.
61475         * lib/unictype/combining.h: Likewise.
61476         * lib/unictype/ctype_alnum.h: Likewise.
61477         * lib/unictype/ctype_alpha.h: Likewise.
61478         * lib/unictype/ctype_blank.h: Likewise.
61479         * lib/unictype/ctype_cntrl.h: Likewise.
61480         * lib/unictype/ctype_digit.h: Likewise.
61481         * lib/unictype/ctype_graph.h: Likewise.
61482         * lib/unictype/ctype_lower.h: Likewise.
61483         * lib/unictype/ctype_print.h: Likewise.
61484         * lib/unictype/ctype_punct.h: Likewise.
61485         * lib/unictype/ctype_space.h: Likewise.
61486         * lib/unictype/ctype_upper.h: Likewise.
61487         * lib/unictype/ctype_xdigit.h: Likewise.
61488         * lib/unictype/decdigit.h: Likewise.
61489         * lib/unictype/digit.h: Likewise.
61490         * lib/unictype/mirror.h: Likewise.
61491         * lib/unictype/numeric.h: Likewise.
61492         * lib/unictype/pr_alphabetic.h: Likewise.
61493         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61494         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61495         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61496         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61497         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61498         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61499         * lib/unictype/pr_bidi_control.h: Likewise.
61500         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61501         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61502         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61503         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61504         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61505         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61506         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61507         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61508         * lib/unictype/pr_bidi_pdf.h: Likewise.
61509         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61510         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61511         * lib/unictype/pr_combining.h: Likewise.
61512         * lib/unictype/pr_composite.h: Likewise.
61513         * lib/unictype/pr_currency_symbol.h: Likewise.
61514         * lib/unictype/pr_dash.h: Likewise.
61515         * lib/unictype/pr_decimal_digit.h: Likewise.
61516         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61517         * lib/unictype/pr_deprecated.h: Likewise.
61518         * lib/unictype/pr_diacritic.h: Likewise.
61519         * lib/unictype/pr_extender.h: Likewise.
61520         * lib/unictype/pr_format_control.h: Likewise.
61521         * lib/unictype/pr_grapheme_base.h: Likewise.
61522         * lib/unictype/pr_grapheme_extend.h: Likewise.
61523         * lib/unictype/pr_grapheme_link.h: Likewise.
61524         * lib/unictype/pr_hex_digit.h: Likewise.
61525         * lib/unictype/pr_hyphen.h: Likewise.
61526         * lib/unictype/pr_id_continue.h: Likewise.
61527         * lib/unictype/pr_id_start.h: Likewise.
61528         * lib/unictype/pr_ideographic.h: Likewise.
61529         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61530         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61531         * lib/unictype/pr_ignorable_control.h: Likewise.
61532         * lib/unictype/pr_iso_control.h: Likewise.
61533         * lib/unictype/pr_join_control.h: Likewise.
61534         * lib/unictype/pr_left_of_pair.h: Likewise.
61535         * lib/unictype/pr_line_separator.h: Likewise.
61536         * lib/unictype/pr_logical_order_exception.h: Likewise.
61537         * lib/unictype/pr_lowercase.h: Likewise.
61538         * lib/unictype/pr_math.h: Likewise.
61539         * lib/unictype/pr_non_break.h: Likewise.
61540         * lib/unictype/pr_not_a_character.h: Likewise.
61541         * lib/unictype/pr_numeric.h: Likewise.
61542         * lib/unictype/pr_other_alphabetic.h: Likewise.
61543         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61544         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61545         * lib/unictype/pr_other_id_continue.h: Likewise.
61546         * lib/unictype/pr_other_id_start.h: Likewise.
61547         * lib/unictype/pr_other_lowercase.h: Likewise.
61548         * lib/unictype/pr_other_math.h: Likewise.
61549         * lib/unictype/pr_other_uppercase.h: Likewise.
61550         * lib/unictype/pr_paired_punctuation.h: Likewise.
61551         * lib/unictype/pr_paragraph_separator.h: Likewise.
61552         * lib/unictype/pr_pattern_syntax.h: Likewise.
61553         * lib/unictype/pr_pattern_white_space.h: Likewise.
61554         * lib/unictype/pr_private_use.h: Likewise.
61555         * lib/unictype/pr_punctuation.h: Likewise.
61556         * lib/unictype/pr_quotation_mark.h: Likewise.
61557         * lib/unictype/pr_radical.h: Likewise.
61558         * lib/unictype/pr_sentence_terminal.h: Likewise.
61559         * lib/unictype/pr_soft_dotted.h: Likewise.
61560         * lib/unictype/pr_space.h: Likewise.
61561         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61562         * lib/unictype/pr_titlecase.h: Likewise.
61563         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61564         * lib/unictype/pr_unified_ideograph.h: Likewise.
61565         * lib/unictype/pr_uppercase.h: Likewise.
61566         * lib/unictype/pr_variation_selector.h: Likewise.
61567         * lib/unictype/pr_white_space.h: Likewise.
61568         * lib/unictype/pr_xid_continue.h: Likewise.
61569         * lib/unictype/pr_xid_start.h: Likewise.
61570         * lib/unictype/pr_zero_width.h: Likewise.
61571         * lib/unictype/scripts.h: Likewise.
61572         * lib/unictype/scripts_byname.gperf: Likewise.
61573         * lib/unictype/sy_c_ident.h: Likewise.
61574         * lib/unictype/sy_c_whitespace.h: Likewise.
61575         * lib/unictype/sy_java_ident.h: Likewise.
61576         * lib/unictype/sy_java_whitespace.h: Likewise.
61577
61578         * lib/unictype/Makefile: New file.
61579         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
61580         glibc.
61581         * lib/unictype/3level.h: New file, copied from glibc.
61582         * lib/unictype/3levelbit.h: New file.
61583
61584 2007-11-11  Bruno Haible  <bruno@clisp.org>
61585
61586         * modules/gperf: New file.
61587         * modules/iconv_open (Depends-on): Add it.
61588         (Makefile.am): Remove the GPERF definition.
61589
61590 2007-11-11  Bruno Haible  <bruno@clisp.org>
61591
61592         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
61593         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
61594
61595 2007-11-11  Bruno Haible  <bruno@clisp.org>
61596
61597         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
61598         (usage): Remove function.
61599
61600 2007-11-11  Bruno Haible  <bruno@clisp.org>
61601
61602         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
61603         gl_FUNC_CEILF_LIBS.
61604         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
61605         gl_FUNC_CEIL_LIBS.
61606         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
61607         gl_FUNC_CEILL_LIBS.
61608         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
61609         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
61610         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
61611
61612 2007-11-11  Bruno Haible  <bruno@clisp.org>
61613
61614         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
61615         roundf were declared but do not exist on functions.
61616         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
61617         roundl were declared but do not exist on functions.
61618         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
61619         HAVE_FLOORL_AND_CEILL, respectively.
61620         Needed for Sun C on Solaris 10.
61621
61622 2007-11-11  Bruno Haible  <bruno@clisp.org>
61623
61624         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
61625         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
61626         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
61627         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
61628         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
61629         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
61630         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
61631         HAVE_DECL_ROUNDF.
61632         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
61633         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
61634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
61635         of HAVE_DECL_ROUND*.
61636         * modules/math (Makefile.am): Update.
61637
61638 2007-11-10  Bruno Haible  <bruno@clisp.org>
61639
61640         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
61641         ptrdiff_t as m4/intl.m4.
61642
61643 2007-11-10  Jim Meyering  <meyering@redhat.com>
61644
61645         Avoid link failure for the argmatch test.
61646         * tests/test-argmatch.c (usage): Define function to avoid a link
61647         failure: argmatch_die requires a usage function.
61648
61649 2007-11-09  Bruno Haible  <bruno@clisp.org>
61650
61651         * doc/functions/snprintf.texi: Mention BeOS deficiency.
61652         * doc/functions/vsnprintf.texi: Likewise.
61653         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
61654         with a size argument < 2.
61655
61656 2007-11-09  Bruno Haible  <bruno@clisp.org>
61657
61658         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
61659         buffer. Fixes an inefficiency introduced on 2007-11-03.
61660
61661 2007-11-09  Bruno Haible  <bruno@clisp.org>
61662
61663         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
61664         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
61665
61666 2007-11-08  Jim Meyering  <meyering@redhat.com>
61667
61668         Change cache variable name prefix "jm_" to "gl_" everywhere.
61669         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
61670         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
61671         * m4/uptime.m4: s/gl_/jm_/
61672
61673 2007-11-07  Bruno Haible  <bruno@clisp.org>
61674
61675         Update to GNU gettext 0.17.
61676         * m4/intl.m4: Update to GNU gettext 0.17.
61677         * m4/po.m4: Likewise.
61678         * modules/gettext (Files): Remove m4/ulonglong.m4.
61679         (configure.ac): Require gettext infrastructure from version 0.17.
61680
61681 2007-11-06  Bruno Haible  <bruno@clisp.org>
61682
61683         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
61684         symbolic values are not defined in a public header.
61685         * lib/freadable.c (freadable) [QNX]: Likewise.
61686         * lib/freadahead.c (freadahead) [QNX]: Likewise.
61687         * lib/freading.c (freading) [QNX]: Likewise.
61688         * lib/fseterr.c (fseterr) [QNX]: Likewise.
61689         * lib/fwritable.c (fwritable) [QNX]: Likewise.
61690         * lib/fwriting.c (fwriting) [QNX]: Likewise.
61691         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
61692         Reported by Alain Magloire.
61693
61694         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
61695
61696 2007-11-05  Bruno Haible  <bruno@clisp.org>
61697
61698         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
61699         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
61700         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
61701         Reported by Eric Blake.
61702
61703 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61704             Bruno Haible  <bruno@clisp.org>
61705
61706         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
61707         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
61708         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
61709         (malloc): Undefine also before including <stdlib.h>.
61710         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
61711         Needed on OSF/1 4.0.
61712
61713 2007-11-05  Jim Meyering  <meyering@redhat.com>
61714
61715         git-version-gen: sync from coreutils.
61716         * build-aux/git-version-gen: Add comments.
61717         Change the first '-' to '.' in the snapshot version string,
61718         e.g., 6.9-377-08144 -> 6.9.377-08144
61719         Remove first parameter.
61720         Don't declare a version "-dirty" merely because a time
61721         stamp has changed.
61722
61723 2007-11-04  Bruno Haible  <bruno@clisp.org>
61724
61725         * lib/lock.h: Protect all macro definitions containing an 'if'
61726         statement through a "do { ... } while (0)".
61727         * lib/tls.h: Likewise.
61728
61729 2007-11-04  Bruno Haible  <bruno@clisp.org>
61730
61731         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
61732
61733 2007-11-04  Bruno Haible  <bruno@clisp.org>
61734
61735         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
61736         * modules/fprintf-posix (Depends-on): Add nocrash.
61737         * modules/snprintf-posix (Depends-on): Likewise.
61738         * modules/sprintf-posix (Depends-on): Likewise.
61739         * modules/vasnprintf-posix (Depends-on): Likewise.
61740         * modules/vasprintf-posix (Depends-on): Likewise.
61741         * modules/vfprintf-posix (Depends-on): Likewise.
61742         * modules/vsnprintf-posix (Depends-on): Likewise.
61743         * modules/vsprintf-posix (Depends-on): Likewise.
61744         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61745         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61746         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61747         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61748         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61749         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61750         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61751
61752 2007-11-04  Bruno Haible  <bruno@clisp.org>
61753
61754         * modules/nocrash: New file.
61755         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
61756         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
61757
61758 2007-11-04  Bruno Haible  <bruno@clisp.org>
61759
61760         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
61761         precision handling.
61762         * tests/test-vasprintf-posix.c (test_function): Likewise.
61763         * tests/test-snprintf-posix.h (test_function): Likewise.
61764         * tests/test-sprintf-posix.h (test_function): Likewise.
61765
61766         Fix *printf behaviour for large precisions on mingw and BeOS.
61767         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
61768         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
61769         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
61770         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61771         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61772         gl_PRINTF_PRECISION and test its result. Invoke
61773         gl_PREREQ_VASNPRINTF_PRECISION.
61774         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61775         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61776         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61777         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61778         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61779         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61780         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61781         * doc/functions/fprintf.texi: Update.
61782         * doc/functions/printf.texi: Update.
61783         * doc/functions/snprintf.texi: Update.
61784         * doc/functions/sprintf.texi: Update.
61785         * doc/functions/vfprintf.texi: Update.
61786         * doc/functions/vprintf.texi: Update.
61787         * doc/functions/vsnprintf.texi: Update.
61788         * doc/functions/vsprintf.texi: Update.
61789
61790 2007-11-04  Bruno Haible  <bruno@clisp.org>
61791
61792         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
61793
61794 2007-11-04  Bruno Haible  <bruno@clisp.org>
61795
61796         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
61797         Reported by Sylvain Beucler <beuc@gnu.org>.
61798
61799 2007-11-03  Bruno Haible  <bruno@clisp.org>
61800
61801         * tests/test-fprintf-posix2.sh: New file.
61802         * tests/test-fprintf-posix2.c: New file.
61803         * modules/fprintf-posix-tests (Files): Add them.
61804         (TESTS): Add test-fprintf-posix2.sh.
61805         (configure.ac): Check for getrlimit and setrlimit.
61806         (check_PROGRAMS): Add test-fprintf-posix2.
61807
61808         * tests/test-printf-posix2.sh: New file.
61809         * tests/test-printf-posix2.c: New file.
61810         * modules/printf-posix-tests (Files): Add them.
61811         (TESTS): Add test-printf-posix2.sh.
61812         (configure.ac): Check for getrlimit and setrlimit.
61813         (check_PROGRAMS): Add test-printf-posix2.
61814
61815         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
61816         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
61817         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
61818         (decode_double): New function, copied from decode_long_double.
61819         (scale10_round_decimal_decoded): New function, extracted from
61820         scale10_round_decimal_long_double.
61821         (scale10_round_decimal_long_double): Use it.
61822         (scale10_round_decimal_double): New function.
61823         (floorlog10): New function.
61824         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
61825         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
61826         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61827         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61828         gl_PRINTF_ENOMEM and test its result. Invoke
61829         gl_PREREQ_VASNPRINTF_ENOMEM.
61830         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61831         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61832         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61833         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61834         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61835         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61836         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61837         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
61838         * modules/snprintf-posix (Depends-on): Likewise.
61839         * modules/sprintf-posix (Depends-on): Likewise.
61840         * modules/vasnprintf-posix (Depends-on): Likewise.
61841         * modules/vasprintf-posix (Depends-on): Likewise.
61842         * modules/vfprintf-posix (Depends-on): Likewise.
61843         * modules/vsnprintf-posix (Depends-on): Likewise.
61844         * modules/vsprintf-posix (Depends-on): Likewise.
61845         * doc/functions/fprintf.texi: Update.
61846         * doc/functions/printf.texi: Update.
61847         * doc/functions/snprintf.texi: Update.
61848         * doc/functions/sprintf.texi: Update.
61849         * doc/functions/vfprintf.texi: Update.
61850         * doc/functions/vprintf.texi: Update.
61851         * doc/functions/vsnprintf.texi: Update.
61852         * doc/functions/vsprintf.texi: Update.
61853
61854 2007-11-03  Bruno Haible  <bruno@clisp.org>
61855
61856         * modules/frexp-nolibm-tests: New file.
61857
61858         * modules/frexp-nolibm: New file.
61859         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
61860
61861 2007-11-03  Bruno Haible  <bruno@clisp.org>
61862
61863         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
61864         value is C99 compliant.
61865         Needed for OSF/1 5.1.
61866
61867 2007-11-03  Bruno Haible  <bruno@clisp.org>
61868
61869         Fix out-of-memory handling of vasnprintf.
61870         * lib/printf-parse.c: Include <errno.h>.
61871         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
61872         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
61873         is already set.
61874
61875 2007-11-02  Eric Blake  <ebb9@byu.net>
61876
61877         Fix tests on cygwin.
61878         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
61879
61880 2007-11-01  Bruno Haible  <bruno@clisp.org>
61881
61882         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
61883         warning.
61884         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
61885         needed for POSIX compatibility.
61886
61887 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
61888
61889         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
61890         for compatibility with GNU.
61891
61892 2007-11-01  Bruno Haible  <bruno@clisp.org>
61893
61894         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
61895         (putenv): Renamed from rpl_putenv. Change argument type from
61896         'const char *' to 'char *'.
61897         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
61898         of defining putenv in config.h, just set REPLACE_PUTENV.
61899         * modules/putenv (Depends-on): Add stdlib.
61900         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61901         (Include): Use <stdlib.h>.
61902         * lib/stdlib.in.h (putenv): New declaration.
61903         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
61904         REPLACE_PUTENV.
61905         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
61906         REPLACE_PUTENV.
61907         Needed for MacOS X 10.5.0.
61908         Reported by Peter O'Gorman <peter@pogma.com>.
61909
61910 2007-11-01  Jim Meyering  <meyering@redhat.com>
61911
61912         Treat an empty date string exactly like "0".
61913         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
61914         if the remaining date string (to be parsed) is empty, use "0".
61915         Reported by Mischa Molhoek and discussed in this thread:
61916         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
61917
61918 2007-10-31  Bruno Haible  <bruno@clisp.org>
61919
61920         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
61921         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
61922         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
61923         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
61924         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
61925         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
61926
61927 2007-10-31  Bruno Haible  <bruno@clisp.org>
61928
61929         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
61930         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
61931         (AC_TYPE_LONG_LONG_INT): Use it.
61932         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
61933         it as well.
61934         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
61935         to m4/longlong.m4.
61936         * modules/stdint (Files): Remove m4/ulonglong.m4.
61937         * modules/strtoull (Files): Use m4/longlong.m4 instead of
61938         m4/ulonglong.m4.
61939         * modules/strtoumax (Files): Likewise.
61940
61941 2007-10-30  Bruno Haible  <bruno@clisp.org>
61942
61943         * modules/xvasprintf-posix: New file.
61944         Suggested by Eric Blake.
61945
61946 2007-10-30  Bruno Haible  <bruno@clisp.org>
61947
61948         * modules/xprintf-posix-tests: New file.
61949         * tests/test-xprintf-posix.sh: New file.
61950         * tests/test-xprintf-posix.c: New file.
61951         * tests/test-xfprintf-posix.c: New file.
61952
61953         * modules/xprintf-posix: New file.
61954
61955 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61956
61957         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
61958         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
61959         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
61960
61961 2007-10-29  Bruno Haible  <bruno@clisp.org>
61962
61963         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
61964         contain the special marker '_cv_'.
61965         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
61966         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
61967         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
61968         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
61969         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
61970         Reported by Ralf Wildenhues.
61971
61972 2007-10-29  Bruno Haible  <bruno@clisp.org>
61973
61974         * gnulib-tool (func_import): When --lgpl is not specified, set
61975         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
61976         GPLv3.
61977         Reported by Simon Josefsson.
61978
61979 2007-10-28  Bruno Haible  <bruno@clisp.org>
61980
61981         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
61982         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
61983         HAVE_DECL_ISFINITE.
61984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61985         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
61986         HAVE_DECL_ISFINITE.
61987
61988 2007-10-28  Bruno Haible  <bruno@clisp.org>
61989
61990         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
61991         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
61992
61993 2007-10-28  Bruno Haible  <bruno@clisp.org>
61994
61995         Fix link errors with Sun C 5.0 on Solaris 10.
61996         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
61997         function is declared but not present in the compiler's libm.
61998         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
61999         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
62000         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
62001         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
62002         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
62003         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
62004         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
62005         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62006         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
62007         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
62008         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
62009         HAVE_DECL_FLOORL.
62010
62011 2007-10-28  Bruno Haible  <bruno@clisp.org>
62012
62013         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
62014         gl_FUNC_FLOORL. Cache the result.
62015         (gl_FUNC_FLOORL): Use it.
62016         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
62017         gl_FUNC_CEILL. Cache the result.
62018         (gl_FUNC_CEILL): Use it.
62019
62020         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
62021         gl_FUNC_FLOOR. Cache the result.
62022         (gl_FUNC_FLOOR): Use it.
62023         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
62024         gl_FUNC_CEIL. Cache the result.
62025         (gl_FUNC_CEIL): Use it.
62026
62027         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
62028         gl_FUNC_FLOORF. Cache the result.
62029         (gl_FUNC_FLOORF): Use it.
62030         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
62031         gl_FUNC_CEILF. Cache the result.
62032         (gl_FUNC_CEILF): Use it.
62033
62034 2007-10-28  Bruno Haible  <bruno@clisp.org>
62035
62036         * gnulib-tool: Allow specifying the LGPL version number through
62037         --lgpl=2 or --lgpl=3.
62038         (func_usage): Document --lgpl with argument.
62039         Handle --lgpl=... arguments.
62040         (func_import): Recognize also gl_LGPL calls with an argument. When
62041         --lgpl=2 is used and the module's license is just LGPL, report an
62042         error. Set sed_transform_lib_file according to the lgpl variable. In
62043         the generated files, use --lgpl or gl_LGPL invocations with argument,
62044         if necessary.
62045         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
62046         an LGPv2+ license.
62047         * doc/gnulib-tool.texi (Modified imports): Update explanation of
62048         gl_LGPL macro.
62049
62050 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62051             Bruno Haible  <bruno@clisp.org>
62052
62053         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
62054         (u16_uctomb_aux): Likewise.
62055         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
62056         !HAVE_INLINE.
62057         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
62058
62059 2007-10-28  Bruno Haible  <bruno@clisp.org>
62060
62061         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
62062         Invoke AM_GETTEXT_OPTION if it exists.
62063         * modules/vasprintf: Likewise.
62064         * modules/verror: Likewise.
62065         * modules/xprintf: Likewise.
62066         * modules/xvasprintf: Likewise.
62067
62068 2007-10-27  Ben Pfaff  <blp@gnu.org>
62069
62070         * lib/math.in.h: Define isfinite macro and prototypes for
62071         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
62072         implementations.
62073         * m4/math_h.m4: New substitutions for isfinite module.
62074         * lib/isfinite.c: New file.
62075         * m4/isfinite.m4: New file.
62076         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
62077         * modules/isfinite: New file.
62078         * modules/isfinite-tests: New file.
62079         * tests/tests-isfinite.c: New file.
62080         * doc/functions/isfinite.texi: Mention isfinite module.
62081         * MODULES.html.sh: Mention new module.
62082
62083 2007-10-27  Ben Pfaff  <blp@gnu.org>
62084
62085         Ralf Wildenhues reported that Tru64 4.0D declares the round
62086         functions but does not have definitions.
62087         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
62088         cannot be found in any library, set the output variable to
62089         "missing" instead of "".
62090         * m4/round.m4: Also use our substitute if we cannot find round in
62091         any library, even if it is declared.
62092         * m4/roundf.m4: Likewise for roundf.
62093         * m4/roundl.m4: Likewise for roundl.
62094         * lib/math.in.h: Undefine roundf, round, roundl before defining
62095         their replacements, to allow for hypothetical systems where these
62096         may be defined as macros but not available in libraries.
62097
62098 2007-10-27  Bruno Haible  <bruno@clisp.org>
62099
62100         * doc/gnulib.texi: Invoke @firstparagraphindent.
62101         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
62102         changes in gnulib.
62103         (Source changes): New section.
62104
62105 2007-10-26  Bruno Haible  <bruno@clisp.org>
62106
62107         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
62108         borrowed from autoconf.
62109
62110 2007-10-26  Bruno Haible  <bruno@clisp.org>
62111
62112         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
62113         strerror returned the empty string. Needed on HP-UX 11.00.
62114
62115 2007-10-24  Micah Cowan  <micah@cowan.name>
62116
62117         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
62118         * build-aux/bootstrap: Remove support for now-unnecessary option,
62119         --cvs-user, and envvars CVS_USER, CVS_RSH.
62120
62121 2007-10-24  Jim Meyering  <meyering@redhat.com>
62122
62123         Avoid diagnostics from sha1sum when there is no cached checksum.
62124         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
62125         if the po.s1 file hasn't been created yet.
62126
62127         * build-aux/bootstrap: Sync from coreutils:
62128         2007-10-24  Jim Meyering  <meyering@redhat.com>
62129         Get gnulib from the git repository, not from an obsolete cvs one.
62130         * build-aux/bootstrap: Suggestion from Micah Cowan.
62131         2007-10-04  Jim Meyering  <jim@meyering.net>
62132         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
62133         (update_po_files): Work also when there are no .po files in po/.
62134
62135 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62136
62137         * README: Append ".git" to git and cg examples.
62138         Problem reported by Benoit Sigoure.
62139
62140 2007-10-23  Micah Cowan  <micah@cowan.name>
62141
62142         * users.txt: Add wget.
62143
62144 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62145
62146         Fix linking of some unistdio tests on FreeBSD.
62147         * modules/unistdio/u16-vsnprintf-tests
62148         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
62149         * modules/unistdio/u16-vsprintf-tests
62150         (test_u16_vsnprintf1_LDADD): Likewise.
62151         * modules/unistdio/u32-vsnprintf-tests
62152         (test_u32_vsnprintf1_LDADD): Likewise.
62153         * modules/unistdio/u32-vsprintf-tests
62154         (test_u32_vsprintf1_LDADD): Likewise.
62155         * modules/unistdio/u8-vsnprintf-tests
62156         (test_u8_vsnprintf1_LDADD): Likewise.
62157         * modules/unistdio/u8-vsprintf-tests
62158         (test_u8_vsprintf1_LDADD): Likewise.
62159         * modules/unistdio/ulc-vsnprintf-tests
62160         (test_ulc_vsnprintf1_LDADD): Likewise.
62161         * modules/unistdio/ulc-vsprintf-tests
62162         (test_ulc_vsprintf1_LDADD): Likewise.
62163
62164         Fix linking of some uniconv tests on FreeBSD.
62165         * modules/uniconv/u16-conv-from-enc-tests
62166         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
62167         * modules/uniconv/u16-conv-to-enc-tests
62168         (test_u16_conv_to_enc_LDADD): Likewise.
62169         * modules/uniconv/u16-strconv-from-enc-tests
62170         (test_u16_strconv_from_enc_LDADD): Likewise.
62171         * modules/uniconv/u16-strconv-to-enc-tests
62172         (test_u16_strconv_to_enc_LDADD): Likewise.
62173         * modules/uniconv/u32-conv-from-enc-tests
62174         (test_u32_conv_from_enc_LDADD): Likewise.
62175         * modules/uniconv/u32-conv-to-enc-tests
62176         (test_u32_conv_to_enc_LDADD): Likewise.
62177         * modules/uniconv/u32-strconv-from-enc-tests
62178         (test_u32_strconv_from_enc_LDADD): Likewise.
62179         * modules/uniconv/u32-strconv-to-enc-tests
62180         (test_u32_strconv_to_enc_LDADD): Likewise.
62181         * modules/uniconv/u8-conv-from-enc-tests
62182         (test_u8_conv_from_enc_LDADD): Likewise.
62183         * modules/uniconv/u8-conv-to-enc-tests
62184         (test_u8_conv_to_enc_LDADD): Likewise.
62185         * modules/uniconv/u8-strconv-from-enc-tests
62186         (test_u8_strconv_from_enc_LDADD): Likewise.
62187         * modules/uniconv/u8-strconv-to-enc-tests
62188         (test_u8_strconv_to_enc_LDADD): Likewise.
62189
62190 2007-10-22  Bruno Haible  <bruno@clisp.org>
62191
62192         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
62193         size.
62194
62195 2007-10-22  Eric Blake  <ebb9@byu.net>
62196
62197         Tweak x*printf documentation.
62198         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
62199         variable name and comments.
62200         Suggested by Bruno Haible.
62201
62202 2007-10-22  Bruno Haible  <bruno@clisp.org>
62203
62204         * lib/acl.c (copy_acl): Fix file name in comment.
62205
62206 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62207
62208         Fix Tru64 problem with stdbool.h.
62209         * lib/stdbool.in.h (false, true):
62210         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
62211         Don't declare as an enum in this situation; it runs afoul of Tru64.
62212         Problem reported by Steven M. Schweda in
62213         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
62214
62215 2007-10-22  Eric Blake  <ebb9@byu.net>
62216
62217         Also wrap vf?printf.
62218         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
62219         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
62220         (xvprintf, xvfprintf): New functions.
62221
62222 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62223
62224         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
62225         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
62226
62227         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
62228         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
62229
62230 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62231
62232         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
62233         by Bruno Haible.
62234
62235 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62236
62237         * lib/getloadavg.c
62238         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
62239         Undef `sys' after including sys/table.h, for Tru64 4.0D.
62240
62241         * tests/test-i-ring.c: Work for C89.
62242
62243 2007-10-22  Bruno Haible  <bruno@clisp.org>
62244
62245         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
62246         -1u, in preprocessor expression, so that we don't test for the bug
62247         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
62248         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
62249
62250 2007-10-22  Eric Blake  <ebb9@byu.net>
62251
62252         * tests/test-yesno.sh: Silence stderr during test.
62253
62254 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62255
62256         * modules/crypto/gc-camellia: New file.
62257
62258         * m4/gc-camellia.m4: New file.
62259
62260         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
62261
62262         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
62263
62264 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62265
62266         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
62267         --help to stdout.  Reported by sms@antinode.org (Steven
62268         M. Schweda).
62269
62270 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62271
62272         * users.txt: Fix link to libksba.
62273
62274 2007-10-21  Ben Pfaff  <blp@gnu.org>
62275
62276         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
62277         round.c roundf implementation that depends on floorf and ceilf to
62278         be tested unconditionally.
62279
62280 2007-10-21  Ben Pfaff  <blp@gnu.org>
62281
62282         * m4/check-libm-func.m4: Removed.
62283         * m4/check-math-lib.m4: New file.
62284         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
62285         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
62286         definition and lack of AC_LIBOBJ([roundf]).
62287         * m4/roundl.m4: Ditto, and similarly for roundl.
62288         * modules/round: Reference new m4 file.
62289         * modules/roundf: Ditto.
62290         * modules/roundl: Ditto.
62291         * tests/test-round2.c (main): Use ROUND instead of round.
62292         Bug report from Bruno Haible.
62293
62294 2007-10-21  Bruno Haible  <bruno@clisp.org>
62295
62296         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
62297         context.
62298
62299 2007-10-21  Bruno Haible  <bruno@clisp.org>
62300
62301         * tests/test-wcwidth.c (main): Allow negative result for some control
62302         characters.
62303
62304         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
62305         Needed on OSF/1 5.1.
62306
62307 2007-10-21  Bruno Haible  <bruno@clisp.org>
62308
62309         * tests/test-floorf1.c: Include isnanf.h.
62310         (main): Use isnanf() instead of isnan().
62311         * tests/test-ceilf1.c: Include isnanf.h.
62312         (main): Use isnanf() instead of isnan().
62313         * tests/test-truncf1.c: Include isnanf.h.
62314         (main): Use isnanf() instead of isnan().
62315         * tests/test-roundf1.c: Include isnanf.h.
62316         (main): Use isnanf() instead of isnan().
62317
62318 2007-10-21  Eric Blake  <ebb9@byu.net>
62319
62320         * users.txt: Update URL for m4.
62321
62322 2007-10-21  Bruno Haible  <bruno@clisp.org>
62323
62324         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
62325
62326 2007-10-21  Bruno Haible  <bruno@clisp.org>
62327
62328         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
62329         Git's management files if the CVS files are not present.
62330
62331 2007-10-20  Bruno Haible  <bruno@clisp.org>
62332
62333         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
62334         gcc-3.4.x.
62335
62336 2007-10-20  Ben Pfaff  <blp@gnu.org>
62337
62338         * lib/math.in.h: Declare round, roundf, roundl if we are providing
62339         implementations.
62340         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
62341         * lib/round.c: New file.
62342         * lib/roundf.c: New file.
62343         * lib/roundl.c: New file.
62344         * m4/round.m4: New file.
62345         * m4/roundf.m4: New file.
62346         * m4/roundl.m4: New file.
62347         * m4/check-libm-func-m4: New file.
62348         * modules/math: Replace round, roundf, roundl related @VARS@ in
62349         math.in.h.
62350         * modules/round: New file.
62351         * modules/round-tests: New file.
62352         * modules/roundf: New file.
62353         * modules/roundf-tests: New file.
62354         * modules/roundl: New file.
62355         * modules/roundl-tests: New file.
62356         * tests/test-round1.c: New file.
62357         * tests/test-round2.c: New file.
62358         * tests/test-roundf1.c: New file.
62359         * tests/test-roundf2.c: New file.
62360         * tests/test-roundl.c: New file.
62361         * doc/functions/round.texi: Mention round module.
62362         * doc/functions/roundf.texi: Mention roundf module.
62363         * doc/functions/roundl.texi: Mention roundl module.
62364         * MODULES.html.sh: Mention new modules.
62365         Thanks to Bruno Haible for suggestions.
62366
62367 2007-10-20  Jim Meyering  <meyering@redhat.com>
62368
62369         * lib/xprintf.c: Include <config.h> unconditionally.
62370
62371         Change xprintf's license to GPL.
62372         * modules/xprintf (License): s/LGPL/GPL/, since this module
62373         depends on modules (exit and exitfail) which are GPL.
62374         Suggestion from Bruno Haible.
62375
62376         xprintf fixes.
62377         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
62378         Use a clearer diagnostic.
62379         Patch from Bruno Haible.
62380
62381 2007-10-20  Bruno Haible  <bruno@clisp.org>
62382
62383         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
62384         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
62385         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62386
62387 2007-10-20  Bruno Haible  <bruno@clisp.org>
62388
62389         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
62390         precision in the comparison result > x - 1 or similar.
62391         * tests/test-ceilf2.c (correct_result_p): Likewise.
62392         * tests/test-truncf2.c (correct_result_p): Likewise.
62393         * tests/test-trunc2.c (correct_result_p): Likewise.
62394         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62395
62396 2007-10-20  Bruno Haible  <bruno@clisp.org>
62397
62398         * modules/ceil: New file.
62399         * m4/ceil.m4: New file.
62400         * doc/functions/ceil.texi: Mention the 'ceil' module.
62401
62402 2007-10-20  Bruno Haible  <bruno@clisp.org>
62403
62404         * modules/floor: New file.
62405         * m4/floor.m4: New file.
62406         * doc/functions/floor.texi: Mention the 'floor' module.
62407
62408 2007-10-20  Bruno Haible  <bruno@clisp.org>
62409
62410         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
62411         of %a.
62412         * modules/floorf-tests (Depends-on): Likewise.
62413         * modules/truncf-tests (Depends-on): Likewise.
62414         * modules/trunc-tests (Depends-on): Likewise.
62415         Reported by Ben Pfaff.
62416
62417 2007-10-19  Jim Meyering  <meyering@redhat.com>
62418
62419         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
62420         Don't bother testing specific errno values.  Just test ferror.
62421
62422         New module: xprintf
62423         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
62424
62425 2007-10-19  Bruno Haible  <bruno@clisp.org>
62426
62427         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
62428         syntax.
62429         * modules/javaexec (Makefile.am): Likewise.
62430         * modules/relocatable-prog (Makefile.am): Likewise.
62431         Suggested by Jim Meyering.
62432
62433 2007-10-18  Bruno Haible  <bruno@clisp.org>
62434
62435         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
62436         Reported by Jim Meyering.
62437
62438 2007-10-18  Eric Blake  <ebb9@byu.net>
62439
62440         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
62441
62442 2007-10-18  Bruno Haible  <bruno@clisp.org>
62443
62444         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
62445         the format string into writable memory. Needed in Fortify conditions.
62446
62447 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
62448             Bruno Haible  <bruno@clisp.org>
62449
62450         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
62451         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
62452         * modules/trim (Depends-on): Add mbchar.
62453         (configure.ac): Add gl_FUNC_MBRTOWC.
62454         (Makefile.am): Augment lib_SOURCES.
62455
62456 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62457
62458         Modify glob.c to use fstatat and dirfd, to simplify it.
62459         Suggested by Eric Blake.
62460         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
62461         Don't include <stdbool.h>; not used.
62462         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
62463         (link_exists_p): Simplify implementation, since we can now assume
62464         dirfd and fstatat.
62465         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
62466
62467 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62468
62469         * gnulib-tool (func_get_dependencies): Fix sed script to
62470         match only tests.
62471
62472 2007-10-17  Bruno Haible  <bruno@clisp.org>
62473
62474         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
62475         allow locale names without encoding suffix.
62476         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62477         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62478
62479 2007-10-16  Bruno Haible  <bruno@clisp.org>
62480
62481         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
62482         * lib/getgroups.c (getgroups): Likewise.
62483         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
62484
62485 2007-10-16  Bruno Haible  <bruno@clisp.org>
62486
62487         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
62488         * modules/malloc-posix (License): Likewise.
62489         * modules/realloc-posix (License): Likewise.
62490         * modules/calloc-posix (License): Likewise.
62491         * modules/intprops (License): Change from GPL to LGPL, with
62492         Paul Eggert's approval.
62493
62494 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62495
62496         Merge glibc changes into lib/glob.c.
62497
62498         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
62499         2007-10-15 04:59:03 UTC.  Here are the changes:
62500
62501         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
62502
62503         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
62504
62505         * lib/glob.c: Add some branch prediction throughout.
62506
62507         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
62508
62509         [BZ #5103]
62510         * lib/glob.c (glob): Recognize patterns starting \/.
62511
62512         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
62513
62514         [BZ #3996]
62515         * lib/glob.c (attribute_hidden): Define if not defined.
62516         (glob): Unescape dirname, filename or username when needed and not
62517         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
62518         is NULL.  Handle unescaped [ in pattern without closing ].
62519         Don't pass GLOB_CHECK down to recursive glob for directories.
62520         (__glob_pattern_type): New function.
62521         (__glob_pattern_p): Implement using __glob_pattern_type.
62522         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
62523         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
62524         Remove unreachable code.
62525
62526         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
62527
62528         * lib/glob.c (glob_in_dir): Add some comments and asserts to
62529         explain why there are no leaks.
62530
62531         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
62532
62533         [BZ #3253]
62534         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
62535         time, rather allocate increasingly bigger arrays of pointers, if
62536         possible with alloca, if too large with malloc.
62537
62538 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62539
62540         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
62541         Problem reported by H.Merijn Brand in
62542         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
62543         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
62544         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
62545
62546 2007-10-15  Bruno Haible  <bruno@clisp.org>
62547
62548         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
62549         with explicit rpl_ prefix.
62550         * lib/fopen.c (fopen): Likewise.
62551         * lib/freopen.c (freopen): Likewise.
62552         * lib/iconv.c (iconv): Likewise.
62553         * lib/iconv_close.c (iconv_close): Likewise.
62554
62555 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62556
62557         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
62558
62559 2007-10-15  Bruno Haible  <bruno@clisp.org>
62560
62561         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
62562         <stddef.h> instead of <stdlib.h> since we only need NULL.
62563         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62564
62565 2007-10-15  Bruno Haible  <bruno@clisp.org>
62566
62567         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
62568         Replace paragraph talking about LIBOBJS.
62569         Reported by Colin Watson <cjwatson@debian.org>.
62570
62571 2007-10-15  Bruno Haible  <bruno@clisp.org>
62572
62573         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
62574         <stdlib.h> before using NULL.
62575
62576 2007-10-15  Simon Josefsson  <simon@josefsson.org>
62577
62578         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
62579         Reported by Albert Chin <china@thewrittenword.com>.
62580
62581 2007-10-14  Bruno Haible  <bruno@clisp.org>
62582
62583         * modules/iconv_open-utf-tests: New file.
62584         * tests/test-iconv-utf.c: New file.
62585
62586         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
62587         * modules/iconv_open-utf: New file.
62588         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
62589         (iconv, iconv_close): New declarations.
62590         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
62591         be defined.
62592         (iconv_open): Add special handling of conversion between UTF-8 and
62593         UTF-{16,32}{BE,LE}.
62594         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
62595         * lib/iconv_close.c: New file.
62596         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
62597         gl_FUNC_ICONV_OPEN.
62598         (gl_FUNC_ICONV_OPEN): Use it.
62599         (gl_FUNC_ICONV_OPEN_UTF): New macro.
62600         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
62601         and REPLACE_ICONV_UTF.
62602         * modules/iconv_open (Depends-on): Add c-strcase.
62603         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
62604         ICONV_CONST.
62605         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
62606
62607 2007-10-13  Albert Chin  <china@thewrittenword.com>
62608             Bruno Haible  <bruno@clisp.org>
62609
62610         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
62611         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
62612
62613 2007-10-13  Bruno Haible  <bruno@clisp.org>
62614
62615         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
62616         defined, use the ISO C99 inline semantics.
62617         * lib/argp.h (ARGP_EI): Likewise.
62618
62619 2007-10-13  Bruno Haible  <bruno@clisp.org>
62620
62621         Handle 'inline' change in gcc 4.3.0.
62622         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
62623         argp_fmtstream_write, argp_fmtstream_set_lmargin,
62624         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
62625         argp_fmtstream_point): Disable 'extern' declaration if the function
62626         definition is going to be provided inline.
62627         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
62628         semantics, not the ISO C99 inline semantics.
62629         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
62630         'extern' declaration if the function definition is going to be provided
62631         inline.
62632         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
62633         the GNU C inline semantics, not the ISO C99 inline semantics. With
62634         GCC 4.2, avoid a warning.
62635
62636 2007-10-13  Bruno Haible  <bruno@clisp.org>
62637
62638         * lib/freading.h (freading): Enable the use of __freading for
62639         glibc >= 2.7.
62640         * lib/freading.c (freading): Likewise.
62641
62642 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62643
62644         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
62645         "warning: C99 inline functions are not supported; using GNU89".
62646
62647 2007-10-12  Bruno Haible  <bruno@clisp.org>
62648
62649         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
62650         of 2.
62651         * tests/test-ceilf2.c: New file.
62652         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
62653
62654         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
62655         * modules/ceilf-tests: Update.
62656
62657 2007-10-12  Bruno Haible  <bruno@clisp.org>
62658
62659         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
62660         of 2.
62661         * tests/test-floorf2.c: New file.
62662         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
62663
62664         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
62665         * modules/floorf-tests: Update.
62666
62667 2007-10-12  Bruno Haible  <bruno@clisp.org>
62668
62669         * tests/test-trunc2.c: New file.
62670         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
62671
62672         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
62673         * modules/trunc-tests: Update.
62674
62675 2007-10-12  Bruno Haible  <bruno@clisp.org>
62676
62677         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
62678         of 2.
62679         * tests/test-truncf2.c: New file.
62680         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
62681
62682         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
62683         * modules/truncf-tests: Update.
62684
62685 2007-10-11  Eric Blake  <ebb9@byu.net>
62686
62687         Don't claim strerror is broken on Interix.
62688         * doc/functions/strerror.texi (strerror): Known broken systems are
62689         now Solaris 8, and not Interix.
62690         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
62691         Interix on cross-compile.
62692         Reported by Martin Koeppe in
62693         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
62694
62695 2007-10-11  Bruno Haible  <bruno@clisp.org>
62696
62697         * modules/i-ring-tests: New file.
62698         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
62699         instead of assert.
62700
62701 2007-10-11  Bruno Haible  <bruno@clisp.org>
62702
62703         * modules/filenamecat-tests: New file.
62704         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
62705         * lib/filenamecat.c: Remove test code.
62706
62707 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62708
62709         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
62710
62711         * lib/strerror.c: Include <string.h> always, to test interface,
62712         and to remove the need for the dummy.
62713         Include intprops.h to compute width instead of doing it ourselves
62714         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
62715         (strerror): Define it to return NULL if there's no system strerror.
62716         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
62717         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
62718         ancient pre-strerror Unix systems well any more.  Saying "unknown
62719         system error" is enough.
62720         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
62721         simpler strerror.c implementation.
62722         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
62723         Simplify the tests to reflect the simpler strerror implementation.
62724         * modules/strerror (Depends-on): Add intprops.
62725
62726 2007-10-09  Eric Blake  <ebb9@byu.net>
62727
62728         Silence test-fpending.
62729         * modules/fpending-tests (Files): Add wrapper script.
62730         * tests/test-fpending.sh: New file.
62731
62732 2007-10-09  Bruno Haible  <bruno@clisp.org>
62733
62734         * MODULES.html.sh (func_module): Don't create a hyperlink for
62735         function names like 'printf_frexp'.
62736         (Misc): Add crc, memxor.
62737         (Characteristics of floating types): New section.
62738         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
62739         isnanf-nolibm, signbit, trunc, truncf, truncl.
62740         (Enhancements for ISO C 99 functions): New subsection Input/output.
62741         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
62742         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
62743         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
62744         (Compatibility checks for POSIX:2001 functions): Add clock-time.
62745         (Enhancements for POSIX:2001 functions): Add chdir-long.
62746         (File system functions): Add areadlink, chdir-safer, read-file.
62747         Remove cycle-check.
62748         (File system as inode set): New section.
62749         (Date and time): Add gethrxtime.
62750         (Multithreading): Add openmp.
62751         (Internationalization functions): Add localename.
62752         (Unicode string functions): Add unistr/u*-mbsnlen.
62753         (Support for maintaining and releasing projects): Add git-version-gen.
62754         (Lone files): Remove directories.
62755
62756 2007-10-08  Ben Pfaff  <blp@gnu.org>
62757
62758         * lib/xmalloca.h: Fix typo in comment.
62759
62760 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62761
62762         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
62763         when avoiding problems with integer overflow.  Use a portable test
62764         instead.
62765
62766 2007-10-08  Simon Josefsson  <simon@josefsson.org>
62767
62768         * modules/dummy (License): Change to LGPLv2+.
62769         * modules/float (License): Likewise
62770         * modules/realloc (License): Likewise
62771         * modules/stdlib (License): Likewise
62772
62773 2007-10-07  Bruno Haible  <bruno@clisp.org>
62774
62775         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
62776         * floor.c (TWO_MANT_DIG): Likewise.
62777         * ceil.c (TWO_MANT_DIG): Likewise.
62778         Reported by Ben Pfaff.
62779
62780 2007-10-07  Bruno Haible  <bruno@clisp.org>
62781
62782         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
62783         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
62784         * lib/frexp.c (FUNC): Likewise.
62785         * lib/printf-frexp.h (printf_frexp): Likewise.
62786         * lib/printf-frexpl.h (printf_frexpl): Likewise.
62787         * lib/printf-frexp.c (FUNC): Likewise.
62788         Suggested by Jim Meyering.
62789
62790 2007-10-07  Jim Meyering  <meyering@redhat.com>
62791
62792         Make xnanosleep's integer overflow test more robust.
62793         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
62794         so that gcc-4.3.0 doesn't optimize away this test for overflow.
62795
62796 2007-10-07  Bruno Haible  <bruno@clisp.org>
62797
62798         * NEWS: Mention the license change.
62799
62800         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
62801         abbreviations in the modules files.
62802
62803         Change copyright notice from GPLv2+ to GPLv3+.
62804         * README: Change copyright notice.
62805         * MODULES.html.sh: Likewise.
62806         * build-aux/bootstrap.conf: Likewise.
62807         * build-aux/config.libpath: Likewise.
62808         * build-aux/csharpcomp.sh.in: Likewise.
62809         * build-aux/csharpexec.sh.in: Likewise.
62810         * build-aux/install-reloc: Likewise.
62811         * build-aux/javacomp.sh.in: Likewise.
62812         * build-aux/javaexec.sh.in: Likewise.
62813         * build-aux/ldd.sh.in: Likewise.
62814         * build-aux/reloc-ldflags: Likewise.
62815         * build-aux/relocatable.sh.in: Likewise.
62816         * build-aux/x-to-1.in: Likewise.
62817         * check-module: Likewise.
62818         * config/srclistvars.sh: Likewise.
62819         * gnulib-tool: Likewise.
62820         * lib/acl-internal.h: Likewise.
62821         * lib/acl.c: Likewise.
62822         * lib/acl.h: Likewise.
62823         * lib/acl_entries.c: Likewise.
62824         * lib/areadlink-with-size.c: Likewise.
62825         * lib/areadlink.c: Likewise.
62826         * lib/areadlink.h: Likewise.
62827         * lib/argmatch.c: Likewise.
62828         * lib/argmatch.h: Likewise.
62829         * lib/argp-ba.c: Likewise.
62830         * lib/argp-eexst.c: Likewise.
62831         * lib/argp-fmtstream.c: Likewise.
62832         * lib/argp-fmtstream.h: Likewise.
62833         * lib/argp-fs-xinl.c: Likewise.
62834         * lib/argp-help.c: Likewise.
62835         * lib/argp-namefrob.h: Likewise.
62836         * lib/argp-parse.c: Likewise.
62837         * lib/argp-pin.c: Likewise.
62838         * lib/argp-pv.c: Likewise.
62839         * lib/argp-pvh.c: Likewise.
62840         * lib/argp-xinl.c: Likewise.
62841         * lib/argp.h: Likewise.
62842         * lib/at-func.c: Likewise.
62843         * lib/atanl.c: Likewise.
62844         * lib/backupfile.c: Likewise.
62845         * lib/backupfile.h: Likewise.
62846         * lib/basename.c: Likewise.
62847         * lib/binary-io.h: Likewise.
62848         * lib/byteswap.in.h: Likewise.
62849         * lib/c-stack.c: Likewise.
62850         * lib/c-stack.h: Likewise.
62851         * lib/c-strcasestr.c: Likewise.
62852         * lib/c-strcasestr.h: Likewise.
62853         * lib/c-strstr.c: Likewise.
62854         * lib/c-strstr.h: Likewise.
62855         * lib/c-strtod.c: Likewise.
62856         * lib/calloc.c: Likewise.
62857         * lib/canon-host.c: Likewise.
62858         * lib/canon-host.h: Likewise.
62859         * lib/canonicalize-lgpl.c: Likewise.
62860         * lib/canonicalize.c: Likewise.
62861         * lib/canonicalize.h: Likewise.
62862         * lib/ceil.c: Likewise.
62863         * lib/ceilf.c: Likewise.
62864         * lib/ceill.c: Likewise.
62865         * lib/chdir-long.c: Likewise.
62866         * lib/chdir-long.h: Likewise.
62867         * lib/chdir-safer.c: Likewise.
62868         * lib/chdir-safer.h: Likewise.
62869         * lib/chown.c: Likewise.
62870         * lib/classpath.c: Likewise.
62871         * lib/classpath.h: Likewise.
62872         * lib/clean-temp.c: Likewise.
62873         * lib/clean-temp.h: Likewise.
62874         * lib/cloexec.c: Likewise.
62875         * lib/close-stream.c: Likewise.
62876         * lib/closein.c: Likewise.
62877         * lib/closein.h: Likewise.
62878         * lib/closeout.c: Likewise.
62879         * lib/closeout.h: Likewise.
62880         * lib/concat-filename.c: Likewise.
62881         * lib/copy-file.c: Likewise.
62882         * lib/copy-file.h: Likewise.
62883         * lib/count-one-bits.h: Likewise.
62884         * lib/crc.c: Likewise.
62885         * lib/crc.h: Likewise.
62886         * lib/creat-safer.c: Likewise.
62887         * lib/csharpcomp.c: Likewise.
62888         * lib/csharpcomp.h: Likewise.
62889         * lib/csharpexec.c: Likewise.
62890         * lib/csharpexec.h: Likewise.
62891         * lib/cycle-check.c: Likewise.
62892         * lib/cycle-check.h: Likewise.
62893         * lib/diacrit.c: Likewise.
62894         * lib/diacrit.h: Likewise.
62895         * lib/diffseq.h: Likewise.
62896         * lib/dirchownmod.c: Likewise.
62897         * lib/dirent.in.h: Likewise.
62898         * lib/dirfd.c: Likewise.
62899         * lib/dirfd.h: Likewise.
62900         * lib/dirname.c: Likewise.
62901         * lib/dirname.h: Likewise.
62902         * lib/dummy.c: Likewise.
62903         * lib/dup-safer.c: Likewise.
62904         * lib/dup2.c: Likewise.
62905         * lib/eealloc.h: Likewise.
62906         * lib/error.c: Likewise.
62907         * lib/error.h: Likewise.
62908         * lib/euidaccess.c: Likewise.
62909         * lib/exclude.c: Likewise.
62910         * lib/exclude.h: Likewise.
62911         * lib/execute.c: Likewise.
62912         * lib/execute.h: Likewise.
62913         * lib/exitfail.c: Likewise.
62914         * lib/exitfail.h: Likewise.
62915         * lib/expl.c: Likewise.
62916         * lib/fatal-signal.c: Likewise.
62917         * lib/fatal-signal.h: Likewise.
62918         * lib/fbufmode.c: Likewise.
62919         * lib/fbufmode.h: Likewise.
62920         * lib/fchdir.c: Likewise.
62921         * lib/fchmodat.c: Likewise.
62922         * lib/fchownat.c: Likewise.
62923         * lib/fcntl--.h: Likewise.
62924         * lib/fcntl-safer.h: Likewise.
62925         * lib/fcntl.in.h: Likewise.
62926         * lib/fd-safer.c: Likewise.
62927         * lib/fflush.c: Likewise.
62928         * lib/file-has-acl.c: Likewise.
62929         * lib/file-set.c: Likewise.
62930         * lib/file-type.c: Likewise.
62931         * lib/file-type.h: Likewise.
62932         * lib/fileblocks.c: Likewise.
62933         * lib/filemode.c: Likewise.
62934         * lib/filemode.h: Likewise.
62935         * lib/filename.h: Likewise.
62936         * lib/filenamecat.c: Likewise.
62937         * lib/filenamecat.h: Likewise.
62938         * lib/findprog.c: Likewise.
62939         * lib/findprog.h: Likewise.
62940         * lib/float.in.h: Likewise.
62941         * lib/floor.c: Likewise.
62942         * lib/floorf.c: Likewise.
62943         * lib/floorl.c: Likewise.
62944         * lib/fopen-safer.c: Likewise.
62945         * lib/fopen.c: Likewise.
62946         * lib/fpending.c: Likewise.
62947         * lib/fpending.h: Likewise.
62948         * lib/fprintf.c: Likewise.
62949         * lib/fprintftime.h: Likewise.
62950         * lib/fpucw.h: Likewise.
62951         * lib/fpurge.c: Likewise.
62952         * lib/fpurge.h: Likewise.
62953         * lib/freadable.c: Likewise.
62954         * lib/freadable.h: Likewise.
62955         * lib/freadahead.c: Likewise.
62956         * lib/freadahead.h: Likewise.
62957         * lib/freading.c: Likewise.
62958         * lib/freading.h: Likewise.
62959         * lib/free.c: Likewise.
62960         * lib/freopen.c: Likewise.
62961         * lib/frexp.c: Likewise.
62962         * lib/frexpl.c: Likewise.
62963         * lib/fseek.c: Likewise.
62964         * lib/fseterr.c: Likewise.
62965         * lib/fseterr.h: Likewise.
62966         * lib/fstatat.c: Likewise.
62967         * lib/fstrcmp.c: Likewise.
62968         * lib/fstrcmp.h: Likewise.
62969         * lib/fsusage.c: Likewise.
62970         * lib/fsusage.h: Likewise.
62971         * lib/ftell.c: Likewise.
62972         * lib/ftello.c: Likewise.
62973         * lib/fts-cycle.c: Likewise.
62974         * lib/fts.c: Likewise.
62975         * lib/fts_.h: Likewise.
62976         * lib/full-read.c: Likewise.
62977         * lib/full-read.h: Likewise.
62978         * lib/full-write.c: Likewise.
62979         * lib/full-write.h: Likewise.
62980         * lib/fwritable.c: Likewise.
62981         * lib/fwritable.h: Likewise.
62982         * lib/fwriteerror.c: Likewise.
62983         * lib/fwriteerror.h: Likewise.
62984         * lib/fwriting.c: Likewise.
62985         * lib/fwriting.h: Likewise.
62986         * lib/gcd.c: Likewise.
62987         * lib/gcd.h: Likewise.
62988         * lib/getcwd.c: Likewise.
62989         * lib/getdate.h: Likewise.
62990         * lib/getdate.y: Likewise.
62991         * lib/getdomainname.c: Likewise.
62992         * lib/getdomainname.h: Likewise.
62993         * lib/getgroups.c: Likewise.
62994         * lib/gethostname.c: Likewise.
62995         * lib/gethrxtime.c: Likewise.
62996         * lib/gethrxtime.h: Likewise.
62997         * lib/getloadavg.c: Likewise.
62998         * lib/getndelim2.c: Likewise.
62999         * lib/getndelim2.h: Likewise.
63000         * lib/getnline.c: Likewise.
63001         * lib/getnline.h: Likewise.
63002         * lib/getopt.c: Likewise.
63003         * lib/getopt.in.h: Likewise.
63004         * lib/getopt1.c: Likewise.
63005         * lib/getopt_int.h: Likewise.
63006         * lib/getpagesize.h: Likewise.
63007         * lib/getsubopt.c: Likewise.
63008         * lib/gettime.c: Likewise.
63009         * lib/getugroups.c: Likewise.
63010         * lib/getugroups.h: Likewise.
63011         * lib/getusershell.c: Likewise.
63012         * lib/gl_anyavltree_list1.h: Likewise.
63013         * lib/gl_anyavltree_list2.h: Likewise.
63014         * lib/gl_anyhash_list1.h: Likewise.
63015         * lib/gl_anyhash_list2.h: Likewise.
63016         * lib/gl_anylinked_list1.h: Likewise.
63017         * lib/gl_anylinked_list2.h: Likewise.
63018         * lib/gl_anyrbtree_list1.h: Likewise.
63019         * lib/gl_anyrbtree_list2.h: Likewise.
63020         * lib/gl_anytree_list1.h: Likewise.
63021         * lib/gl_anytree_list2.h: Likewise.
63022         * lib/gl_anytree_oset.h: Likewise.
63023         * lib/gl_anytreehash_list1.h: Likewise.
63024         * lib/gl_anytreehash_list2.h: Likewise.
63025         * lib/gl_array_list.c: Likewise.
63026         * lib/gl_array_list.h: Likewise.
63027         * lib/gl_array_oset.c: Likewise.
63028         * lib/gl_array_oset.h: Likewise.
63029         * lib/gl_avltree_list.c: Likewise.
63030         * lib/gl_avltree_list.h: Likewise.
63031         * lib/gl_avltree_oset.c: Likewise.
63032         * lib/gl_avltree_oset.h: Likewise.
63033         * lib/gl_avltreehash_list.c: Likewise.
63034         * lib/gl_avltreehash_list.h: Likewise.
63035         * lib/gl_carray_list.c: Likewise.
63036         * lib/gl_carray_list.h: Likewise.
63037         * lib/gl_linked_list.c: Likewise.
63038         * lib/gl_linked_list.h: Likewise.
63039         * lib/gl_linkedhash_list.c: Likewise.
63040         * lib/gl_linkedhash_list.h: Likewise.
63041         * lib/gl_list.c: Likewise.
63042         * lib/gl_list.h: Likewise.
63043         * lib/gl_oset.c: Likewise.
63044         * lib/gl_oset.h: Likewise.
63045         * lib/gl_rbtree_list.c: Likewise.
63046         * lib/gl_rbtree_list.h: Likewise.
63047         * lib/gl_rbtree_oset.c: Likewise.
63048         * lib/gl_rbtree_oset.h: Likewise.
63049         * lib/gl_rbtreehash_list.c: Likewise.
63050         * lib/gl_rbtreehash_list.h: Likewise.
63051         * lib/gl_sublist.c: Likewise.
63052         * lib/gl_sublist.h: Likewise.
63053         * lib/group-member.c: Likewise.
63054         * lib/group-member.h: Likewise.
63055         * lib/hard-locale.c: Likewise.
63056         * lib/hard-locale.h: Likewise.
63057         * lib/hash-pjw.c: Likewise.
63058         * lib/hash-pjw.h: Likewise.
63059         * lib/hash-triple.c: Likewise.
63060         * lib/hash.c: Likewise.
63061         * lib/hash.h: Likewise.
63062         * lib/human.c: Likewise.
63063         * lib/human.h: Likewise.
63064         * lib/i-ring.c: Likewise.
63065         * lib/i-ring.h: Likewise.
63066         * lib/idcache.c: Likewise.
63067         * lib/imaxabs.c: Likewise.
63068         * lib/imaxdiv.c: Likewise.
63069         * lib/inet_pton.c: Likewise.
63070         * lib/inet_pton.h: Likewise.
63071         * lib/intprops.h: Likewise.
63072         * lib/inttostr.c: Likewise.
63073         * lib/inttostr.h: Likewise.
63074         * lib/inttypes.in.h: Likewise.
63075         * lib/isapipe.c: Likewise.
63076         * lib/isdir.c: Likewise.
63077         * lib/isnan.c: Likewise.
63078         * lib/isnan.h: Likewise.
63079         * lib/isnanf.c: Likewise.
63080         * lib/isnanf.h: Likewise.
63081         * lib/isnanl-nolibm.h: Likewise.
63082         * lib/isnanl.c: Likewise.
63083         * lib/isnanl.h: Likewise.
63084         * lib/javacomp.c: Likewise.
63085         * lib/javacomp.h: Likewise.
63086         * lib/javaexec.c: Likewise.
63087         * lib/javaexec.h: Likewise.
63088         * lib/javaversion.c: Likewise.
63089         * lib/javaversion.h: Likewise.
63090         * lib/javaversion.java: Likewise.
63091         * lib/lbrkprop.h: Likewise.
63092         * lib/lchmod.h: Likewise.
63093         * lib/lchown.c: Likewise.
63094         * lib/ldexpl.c: Likewise.
63095         * lib/linebreak.c: Likewise.
63096         * lib/linebreak.h: Likewise.
63097         * lib/linebuffer.c: Likewise.
63098         * lib/linebuffer.h: Likewise.
63099         * lib/locale.in.h: Likewise.
63100         * lib/logl.c: Likewise.
63101         * lib/long-options.c: Likewise.
63102         * lib/long-options.h: Likewise.
63103         * lib/lstat.c: Likewise.
63104         * lib/lstat.h: Likewise.
63105         * lib/math.in.h: Likewise.
63106         * lib/mbchar.c: Likewise.
63107         * lib/mbchar.h: Likewise.
63108         * lib/mbfile.h: Likewise.
63109         * lib/mbiter.h: Likewise.
63110         * lib/mbscasecmp.c: Likewise.
63111         * lib/mbscasestr.c: Likewise.
63112         * lib/mbschr.c: Likewise.
63113         * lib/mbscspn.c: Likewise.
63114         * lib/mbslen.c: Likewise.
63115         * lib/mbsncasecmp.c: Likewise.
63116         * lib/mbsnlen.c: Likewise.
63117         * lib/mbspbrk.c: Likewise.
63118         * lib/mbspcasecmp.c: Likewise.
63119         * lib/mbsrchr.c: Likewise.
63120         * lib/mbssep.c: Likewise.
63121         * lib/mbsspn.c: Likewise.
63122         * lib/mbsstr.c: Likewise.
63123         * lib/mbstok_r.c: Likewise.
63124         * lib/mbswidth.c: Likewise.
63125         * lib/mbswidth.h: Likewise.
63126         * lib/mbuiter.h: Likewise.
63127         * lib/memcasecmp.c: Likewise.
63128         * lib/memcasecmp.h: Likewise.
63129         * lib/memchr.c: Likewise.
63130         * lib/memcmp.c: Likewise.
63131         * lib/memcoll.c: Likewise.
63132         * lib/memcoll.h: Likewise.
63133         * lib/memcpy.c: Likewise.
63134         * lib/memrchr.c: Likewise.
63135         * lib/mkancesdirs.c: Likewise.
63136         * lib/mkdir-p.c: Likewise.
63137         * lib/mkdir-p.h: Likewise.
63138         * lib/mkdir.c: Likewise.
63139         * lib/mkdirat.c: Likewise.
63140         * lib/mkdtemp.c: Likewise.
63141         * lib/mkstemp-safer.c: Likewise.
63142         * lib/mkstemp.c: Likewise.
63143         * lib/modechange.c: Likewise.
63144         * lib/modechange.h: Likewise.
63145         * lib/mountlist.c: Likewise.
63146         * lib/mountlist.h: Likewise.
63147         * lib/mpsort.c: Likewise.
63148         * lib/nanosleep.c: Likewise.
63149         * lib/obstack.c: Likewise.
63150         * lib/obstack.h: Likewise.
63151         * lib/open-safer.c: Likewise.
63152         * lib/open.c: Likewise.
63153         * lib/openat-die.c: Likewise.
63154         * lib/openat-priv.h: Likewise.
63155         * lib/openat-proc.c: Likewise.
63156         * lib/openat.c: Likewise.
63157         * lib/openat.h: Likewise.
63158         * lib/pagealign_alloc.c: Likewise.
63159         * lib/pagealign_alloc.h: Likewise.
63160         * lib/physmem.c: Likewise.
63161         * lib/physmem.h: Likewise.
63162         * lib/pipe-safer.c: Likewise.
63163         * lib/pipe.c: Likewise.
63164         * lib/pipe.h: Likewise.
63165         * lib/posixtm.c: Likewise.
63166         * lib/posixtm.h: Likewise.
63167         * lib/posixver.c: Likewise.
63168         * lib/printf-frexp.c: Likewise.
63169         * lib/printf-frexp.h: Likewise.
63170         * lib/printf-frexpl.c: Likewise.
63171         * lib/printf-frexpl.h: Likewise.
63172         * lib/printf.c: Likewise.
63173         * lib/progname.c: Likewise.
63174         * lib/progname.h: Likewise.
63175         * lib/progreloc.c: Likewise.
63176         * lib/putenv.c: Likewise.
63177         * lib/quote.c: Likewise.
63178         * lib/quote.h: Likewise.
63179         * lib/quotearg.c: Likewise.
63180         * lib/quotearg.h: Likewise.
63181         * lib/raise.c: Likewise.
63182         * lib/readline.c: Likewise.
63183         * lib/readline.h: Likewise.
63184         * lib/readlink.c: Likewise.
63185         * lib/readtokens.c: Likewise.
63186         * lib/readtokens.h: Likewise.
63187         * lib/readtokens0.c: Likewise.
63188         * lib/readtokens0.h: Likewise.
63189         * lib/readutmp.c: Likewise.
63190         * lib/readutmp.h: Likewise.
63191         * lib/realloc.c: Likewise.
63192         * lib/relocwrapper.c: Likewise.
63193         * lib/rename-dest-slash.c: Likewise.
63194         * lib/rename.c: Likewise.
63195         * lib/rmdir.c: Likewise.
63196         * lib/rpmatch.c: Likewise.
63197         * lib/safe-read.c: Likewise.
63198         * lib/safe-read.h: Likewise.
63199         * lib/safe-write.c: Likewise.
63200         * lib/safe-write.h: Likewise.
63201         * lib/same-inode.h: Likewise.
63202         * lib/same.c: Likewise.
63203         * lib/same.h: Likewise.
63204         * lib/save-cwd.c: Likewise.
63205         * lib/save-cwd.h: Likewise.
63206         * lib/savedir.c: Likewise.
63207         * lib/savedir.h: Likewise.
63208         * lib/savewd.c: Likewise.
63209         * lib/savewd.h: Likewise.
63210         * lib/search.in.h: Likewise.
63211         * lib/setenv.c: Likewise.
63212         * lib/setenv.h: Likewise.
63213         * lib/settime.c: Likewise.
63214         * lib/sh-quote.c: Likewise.
63215         * lib/sh-quote.h: Likewise.
63216         * lib/sig2str.c: Likewise.
63217         * lib/sig2str.h: Likewise.
63218         * lib/signal.in.h: Likewise.
63219         * lib/signbitd.c: Likewise.
63220         * lib/signbitf.c: Likewise.
63221         * lib/signbitl.c: Likewise.
63222         * lib/sigprocmask.c: Likewise.
63223         * lib/sincosl.c: Likewise.
63224         * lib/sleep.c: Likewise.
63225         * lib/sprintf.c: Likewise.
63226         * lib/sqrtl.c: Likewise.
63227         * lib/stat-time.h: Likewise.
63228         * lib/stdio--.h: Likewise.
63229         * lib/stdio-safer.h: Likewise.
63230         * lib/stdlib--.h: Likewise.
63231         * lib/stdlib-safer.h: Likewise.
63232         * lib/stdlib.in.h: Likewise.
63233         * lib/stpcpy.c: Likewise.
63234         * lib/stpncpy.c: Likewise.
63235         * lib/strchrnul.c: Likewise.
63236         * lib/strcspn.c: Likewise.
63237         * lib/strerror.c: Likewise.
63238         * lib/strftime.c: Likewise.
63239         * lib/strftime.h: Likewise.
63240         * lib/striconveh.c: Likewise.
63241         * lib/striconveh.h: Likewise.
63242         * lib/striconveha.c: Likewise.
63243         * lib/striconveha.h: Likewise.
63244         * lib/stripslash.c: Likewise.
63245         * lib/strnlen1.c: Likewise.
63246         * lib/strnlen1.h: Likewise.
63247         * lib/strtod.c: Likewise.
63248         * lib/strtoimax.c: Likewise.
63249         * lib/strtok_r.c: Likewise.
63250         * lib/strtol.c: Likewise.
63251         * lib/strtoll.c: Likewise.
63252         * lib/strtoul.c: Likewise.
63253         * lib/strtoull.c: Likewise.
63254         * lib/sysexits.in.h: Likewise.
63255         * lib/tempname.c: Likewise.
63256         * lib/tempname.h: Likewise.
63257         * lib/timespec.h: Likewise.
63258         * lib/tls.c: Likewise.
63259         * lib/tls.h: Likewise.
63260         * lib/tmpdir.c: Likewise.
63261         * lib/tmpdir.h: Likewise.
63262         * lib/tmpfile-safer.c: Likewise.
63263         * lib/tmpfile.c: Likewise.
63264         * lib/trigl.c: Likewise.
63265         * lib/trigl.h: Likewise.
63266         * lib/trim.c: Likewise.
63267         * lib/trim.h: Likewise.
63268         * lib/trunc.c: Likewise.
63269         * lib/truncf.c: Likewise.
63270         * lib/truncl.c: Likewise.
63271         * lib/tsearch.c: Likewise.
63272         * lib/unicodeio.c: Likewise.
63273         * lib/unicodeio.h: Likewise.
63274         * lib/unistd--.h: Likewise.
63275         * lib/unistd-safer.h: Likewise.
63276         * lib/unistdio/ulc-fprintf.c: Likewise.
63277         * lib/unistdio/ulc-vfprintf.c: Likewise.
63278         * lib/unlinkdir.c: Likewise.
63279         * lib/unlinkdir.h: Likewise.
63280         * lib/unlocked-io.h: Likewise.
63281         * lib/unsetenv.c: Likewise.
63282         * lib/userspec.c: Likewise.
63283         * lib/utime.c: Likewise.
63284         * lib/utimecmp.c: Likewise.
63285         * lib/utimecmp.h: Likewise.
63286         * lib/utimens.c: Likewise.
63287         * lib/verify.h: Likewise.
63288         * lib/verror.c: Likewise.
63289         * lib/verror.h: Likewise.
63290         * lib/version-etc-fsf.c: Likewise.
63291         * lib/version-etc.c: Likewise.
63292         * lib/version-etc.h: Likewise.
63293         * lib/vfprintf.c: Likewise.
63294         * lib/vprintf.c: Likewise.
63295         * lib/vsprintf.c: Likewise.
63296         * lib/w32spawn.h: Likewise.
63297         * lib/wait-process.c: Likewise.
63298         * lib/wait-process.h: Likewise.
63299         * lib/wcwidth.c: Likewise.
63300         * lib/write-any-file.c: Likewise.
63301         * lib/xalloc-die.c: Likewise.
63302         * lib/xalloc.h: Likewise.
63303         * lib/xasprintf.c: Likewise.
63304         * lib/xgetcwd.c: Likewise.
63305         * lib/xgetcwd.h: Likewise.
63306         * lib/xgetdomainname.c: Likewise.
63307         * lib/xgetdomainname.h: Likewise.
63308         * lib/xgethostname.c: Likewise.
63309         * lib/xmalloc.c: Likewise.
63310         * lib/xmalloca.c: Likewise.
63311         * lib/xmalloca.h: Likewise.
63312         * lib/xmemcoll.c: Likewise.
63313         * lib/xnanosleep.c: Likewise.
63314         * lib/xreadlink.c: Likewise.
63315         * lib/xreadlink.h: Likewise.
63316         * lib/xsetenv.c: Likewise.
63317         * lib/xsetenv.h: Likewise.
63318         * lib/xstriconv.c: Likewise.
63319         * lib/xstriconv.h: Likewise.
63320         * lib/xstrndup.c: Likewise.
63321         * lib/xstrndup.h: Likewise.
63322         * lib/xstrtod.c: Likewise.
63323         * lib/xstrtod.h: Likewise.
63324         * lib/xstrtol-error.c: Likewise.
63325         * lib/xstrtol.c: Likewise.
63326         * lib/xstrtol.h: Likewise.
63327         * lib/xtime.h: Likewise.
63328         * lib/xvasprintf.c: Likewise.
63329         * lib/xvasprintf.h: Likewise.
63330         * lib/yesno.c: Likewise.
63331         * lib/yesno.h: Likewise.
63332         * posix-modules: Likewise.
63333         * tests/test-alloca-opt.c: Likewise.
63334         * tests/test-arcfour.c: Likewise.
63335         * tests/test-arctwo.c: Likewise.
63336         * tests/test-argmatch.c: Likewise.
63337         * tests/test-argp-2.sh: Likewise.
63338         * tests/test-argp.c: Likewise.
63339         * tests/test-arpa_inet.c: Likewise.
63340         * tests/test-array_list.c: Likewise.
63341         * tests/test-array_oset.c: Likewise.
63342         * tests/test-atexit.c: Likewise.
63343         * tests/test-avltree_list.c: Likewise.
63344         * tests/test-avltree_oset.c: Likewise.
63345         * tests/test-avltreehash_list.c: Likewise.
63346         * tests/test-base64.c: Likewise.
63347         * tests/test-binary-io.c: Likewise.
63348         * tests/test-byteswap.c: Likewise.
63349         * tests/test-c-ctype.c: Likewise.
63350         * tests/test-c-strcasecmp.c: Likewise.
63351         * tests/test-c-strcasestr.c: Likewise.
63352         * tests/test-c-strncasecmp.c: Likewise.
63353         * tests/test-c-strstr.c: Likewise.
63354         * tests/test-canonicalize-lgpl.c: Likewise.
63355         * tests/test-canonicalize.c: Likewise.
63356         * tests/test-carray_list.c: Likewise.
63357         * tests/test-ceilf.c: Likewise.
63358         * tests/test-ceill.c: Likewise.
63359         * tests/test-count-one-bits.c: Likewise.
63360         * tests/test-crc.c: Likewise.
63361         * tests/test-dirname.c: Likewise.
63362         * tests/test-fbufmode.c: Likewise.
63363         * tests/test-fcntl.c: Likewise.
63364         * tests/test-fflush.c: Likewise.
63365         * tests/test-floorf.c: Likewise.
63366         * tests/test-floorl.c: Likewise.
63367         * tests/test-fopen.c: Likewise.
63368         * tests/test-fprintf-posix.c: Likewise.
63369         * tests/test-fprintf-posix.h: Likewise.
63370         * tests/test-fpurge.c: Likewise.
63371         * tests/test-freadable.c: Likewise.
63372         * tests/test-freadahead.c: Likewise.
63373         * tests/test-freading.c: Likewise.
63374         * tests/test-freopen.c: Likewise.
63375         * tests/test-frexp.c: Likewise.
63376         * tests/test-frexpl.c: Likewise.
63377         * tests/test-fseek.c: Likewise.
63378         * tests/test-fseeko.c: Likewise.
63379         * tests/test-fseterr.c: Likewise.
63380         * tests/test-fstrcmp.c: Likewise.
63381         * tests/test-ftell.c: Likewise.
63382         * tests/test-ftello.c: Likewise.
63383         * tests/test-fwritable.c: Likewise.
63384         * tests/test-fwriting.c: Likewise.
63385         * tests/test-getaddrinfo.c: Likewise.
63386         * tests/test-getpass.c: Likewise.
63387         * tests/test-gettimeofday.c: Likewise.
63388         * tests/test-hmac-md5.c: Likewise.
63389         * tests/test-hmac-sha1.c: Likewise.
63390         * tests/test-iconv.c: Likewise.
63391         * tests/test-iconvme.c: Likewise.
63392         * tests/test-inttypes.c: Likewise.
63393         * tests/test-isnan.c: Likewise.
63394         * tests/test-isnanf.c: Likewise.
63395         * tests/test-isnanl-nolibm.c: Likewise.
63396         * tests/test-isnanl.c: Likewise.
63397         * tests/test-isnanl.h: Likewise.
63398         * tests/test-ldexpl.c: Likewise.
63399         * tests/test-linked_list.c: Likewise.
63400         * tests/test-linkedhash_list.c: Likewise.
63401         * tests/test-locale.c: Likewise.
63402         * tests/test-localename.c: Likewise.
63403         * tests/test-lock.c: Likewise.
63404         * tests/test-lseek.c: Likewise.
63405         * tests/test-malloca.c: Likewise.
63406         * tests/test-math.c: Likewise.
63407         * tests/test-mbscasecmp.c: Likewise.
63408         * tests/test-mbscasestr1.c: Likewise.
63409         * tests/test-mbscasestr2.c: Likewise.
63410         * tests/test-mbscasestr3.c: Likewise.
63411         * tests/test-mbscasestr4.c: Likewise.
63412         * tests/test-mbschr.c: Likewise.
63413         * tests/test-mbscspn.c: Likewise.
63414         * tests/test-mbsncasecmp.c: Likewise.
63415         * tests/test-mbspbrk.c: Likewise.
63416         * tests/test-mbspcasecmp.c: Likewise.
63417         * tests/test-mbsrchr.c: Likewise.
63418         * tests/test-mbsspn.c: Likewise.
63419         * tests/test-mbsstr1.c: Likewise.
63420         * tests/test-mbsstr2.c: Likewise.
63421         * tests/test-mbsstr3.c: Likewise.
63422         * tests/test-md5.c: Likewise.
63423         * tests/test-memmem.c: Likewise.
63424         * tests/test-netinet_in.c: Likewise.
63425         * tests/test-open.c: Likewise.
63426         * tests/test-printf-frexp.c: Likewise.
63427         * tests/test-printf-frexpl.c: Likewise.
63428         * tests/test-printf-posix.c: Likewise.
63429         * tests/test-printf-posix.h: Likewise.
63430         * tests/test-rbtree_list.c: Likewise.
63431         * tests/test-rbtree_oset.c: Likewise.
63432         * tests/test-rbtreehash_list.c: Likewise.
63433         * tests/test-read-file.c: Likewise.
63434         * tests/test-rijndael.c: Likewise.
63435         * tests/test-search.c: Likewise.
63436         * tests/test-signbit.c: Likewise.
63437         * tests/test-sleep.c: Likewise.
63438         * tests/test-snprintf-posix.c: Likewise.
63439         * tests/test-snprintf-posix.h: Likewise.
63440         * tests/test-snprintf.c: Likewise.
63441         * tests/test-sprintf-posix.c: Likewise.
63442         * tests/test-sprintf-posix.h: Likewise.
63443         * tests/test-stat-time.c: Likewise.
63444         * tests/test-stdbool.c: Likewise.
63445         * tests/test-stdint.c: Likewise.
63446         * tests/test-stdio.c: Likewise.
63447         * tests/test-stdlib.c: Likewise.
63448         * tests/test-stpncpy.c: Likewise.
63449         * tests/test-strcasestr.c: Likewise.
63450         * tests/test-striconv.c: Likewise.
63451         * tests/test-striconveh.c: Likewise.
63452         * tests/test-striconveha.c: Likewise.
63453         * tests/test-string.c: Likewise.
63454         * tests/test-sys_select.c: Likewise.
63455         * tests/test-sys_socket.c: Likewise.
63456         * tests/test-sys_stat.c: Likewise.
63457         * tests/test-sys_time.c: Likewise.
63458         * tests/test-sysexits.c: Likewise.
63459         * tests/test-time.c: Likewise.
63460         * tests/test-tls.c: Likewise.
63461         * tests/test-trunc.c: Likewise.
63462         * tests/test-truncf.c: Likewise.
63463         * tests/test-truncl.c: Likewise.
63464         * tests/test-unistd.c: Likewise.
63465         * tests/test-vasnprintf-posix.c: Likewise.
63466         * tests/test-vasnprintf-posix2.c: Likewise.
63467         * tests/test-vasnprintf.c: Likewise.
63468         * tests/test-vasprintf-posix.c: Likewise.
63469         * tests/test-vasprintf.c: Likewise.
63470         * tests/test-verify.c: Likewise.
63471         * tests/test-vfprintf-posix.c: Likewise.
63472         * tests/test-vprintf-posix.c: Likewise.
63473         * tests/test-vsnprintf-posix.c: Likewise.
63474         * tests/test-vsnprintf.c: Likewise.
63475         * tests/test-vsprintf-posix.c: Likewise.
63476         * tests/test-wchar.c: Likewise.
63477         * tests/test-wctype.c: Likewise.
63478         * tests/test-wcwidth.c: Likewise.
63479         * tests/test-xstrtol.c: Likewise.
63480         * tests/test-xvasprintf.c: Likewise.
63481         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
63482         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
63483         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63484         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63485         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63486         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
63487         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63488         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63489         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63490         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
63491         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63492         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63493         * tests/uniname/test-uninames.c: Likewise.
63494         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
63495         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
63496         * tests/unistdio/test-u16-printf1.h: Likewise.
63497         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
63498         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
63499         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
63500         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
63501         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
63502         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
63503         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
63504         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
63505         * tests/unistdio/test-u32-printf1.h: Likewise.
63506         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
63507         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
63508         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
63509         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
63510         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
63511         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
63512         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
63513         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
63514         * tests/unistdio/test-u8-printf1.h: Likewise.
63515         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
63516         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
63517         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
63518         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
63519         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
63520         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
63521         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
63522         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
63523         * tests/unistdio/test-ulc-printf1.h: Likewise.
63524         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
63525         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
63526         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
63527         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
63528         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
63529         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
63530         * tests/uniwidth/test-u16-strwidth.c: Likewise.
63531         * tests/uniwidth/test-u16-width.c: Likewise.
63532         * tests/uniwidth/test-u32-strwidth.c: Likewise.
63533         * tests/uniwidth/test-u32-width.c: Likewise.
63534         * tests/uniwidth/test-u8-strwidth.c: Likewise.
63535         * tests/uniwidth/test-u8-width.c: Likewise.
63536         * tests/uniwidth/test-uc_width.c: Likewise.
63537         * config/srclist-update: Likewise.
63538         (fixlicense): Update to GPLv3+.
63539
63540         Change copyright notice from LGPLv2.1+ to LGPLv3+.
63541         * tests/test-tsearch.c: Change copyright notice.
63542
63543         Change copyright notice from LGPLv2.0+ to LGPLv3+.
63544         * lib/c-strcaseeq.h: Change copyright notice.
63545         * lib/streq.h: Likewise.
63546         * lib/uniconv.h: Likewise.
63547         * lib/uniconv/u-conv-from-enc.h: Likewise.
63548         * lib/uniconv/u-conv-to-enc.h: Likewise.
63549         * lib/uniconv/u-strconv-from-enc.h: Likewise.
63550         * lib/uniconv/u-strconv-to-enc.h: Likewise.
63551         * lib/uniconv/u16-conv-from-enc.c: Likewise.
63552         * lib/uniconv/u16-conv-to-enc.c: Likewise.
63553         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
63554         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
63555         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
63556         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
63557         * lib/uniconv/u32-conv-from-enc.c: Likewise.
63558         * lib/uniconv/u32-conv-to-enc.c: Likewise.
63559         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
63560         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
63561         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
63562         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
63563         * lib/uniconv/u8-conv-from-enc.c: Likewise.
63564         * lib/uniconv/u8-conv-to-enc.c: Likewise.
63565         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
63566         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
63567         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
63568         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
63569         * lib/uniname.h: Likewise.
63570         * lib/uniname/uniname.c: Likewise.
63571         * lib/unistdio.h: Likewise.
63572         * lib/unistdio/u-asnprintf.h: Likewise.
63573         * lib/unistdio/u-asprintf.h: Likewise.
63574         * lib/unistdio/u-printf-args.c: Likewise.
63575         * lib/unistdio/u-printf-args.h: Likewise.
63576         * lib/unistdio/u-printf-parse.h: Likewise.
63577         * lib/unistdio/u-snprintf.h: Likewise.
63578         * lib/unistdio/u-sprintf.h: Likewise.
63579         * lib/unistdio/u-vasprintf.h: Likewise.
63580         * lib/unistdio/u-vsnprintf.h: Likewise.
63581         * lib/unistdio/u-vsprintf.h: Likewise.
63582         * lib/unistdio/u16-asnprintf.c: Likewise.
63583         * lib/unistdio/u16-asprintf.c: Likewise.
63584         * lib/unistdio/u16-printf-parse.c: Likewise.
63585         * lib/unistdio/u16-snprintf.c: Likewise.
63586         * lib/unistdio/u16-sprintf.c: Likewise.
63587         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
63588         * lib/unistdio/u16-u16-asprintf.c: Likewise.
63589         * lib/unistdio/u16-u16-snprintf.c: Likewise.
63590         * lib/unistdio/u16-u16-sprintf.c: Likewise.
63591         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
63592         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
63593         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
63594         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
63595         * lib/unistdio/u16-vasnprintf.c: Likewise.
63596         * lib/unistdio/u16-vasprintf.c: Likewise.
63597         * lib/unistdio/u16-vsnprintf.c: Likewise.
63598         * lib/unistdio/u16-vsprintf.c: Likewise.
63599         * lib/unistdio/u32-asnprintf.c: Likewise.
63600         * lib/unistdio/u32-asprintf.c: Likewise.
63601         * lib/unistdio/u32-printf-parse.c: Likewise.
63602         * lib/unistdio/u32-snprintf.c: Likewise.
63603         * lib/unistdio/u32-sprintf.c: Likewise.
63604         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
63605         * lib/unistdio/u32-u32-asprintf.c: Likewise.
63606         * lib/unistdio/u32-u32-snprintf.c: Likewise.
63607         * lib/unistdio/u32-u32-sprintf.c: Likewise.
63608         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
63609         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
63610         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
63611         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
63612         * lib/unistdio/u32-vasnprintf.c: Likewise.
63613         * lib/unistdio/u32-vasprintf.c: Likewise.
63614         * lib/unistdio/u32-vsnprintf.c: Likewise.
63615         * lib/unistdio/u32-vsprintf.c: Likewise.
63616         * lib/unistdio/u8-asnprintf.c: Likewise.
63617         * lib/unistdio/u8-asprintf.c: Likewise.
63618         * lib/unistdio/u8-printf-parse.c: Likewise.
63619         * lib/unistdio/u8-snprintf.c: Likewise.
63620         * lib/unistdio/u8-sprintf.c: Likewise.
63621         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
63622         * lib/unistdio/u8-u8-asprintf.c: Likewise.
63623         * lib/unistdio/u8-u8-snprintf.c: Likewise.
63624         * lib/unistdio/u8-u8-sprintf.c: Likewise.
63625         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
63626         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
63627         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
63628         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
63629         * lib/unistdio/u8-vasnprintf.c: Likewise.
63630         * lib/unistdio/u8-vasprintf.c: Likewise.
63631         * lib/unistdio/u8-vsnprintf.c: Likewise.
63632         * lib/unistdio/u8-vsprintf.c: Likewise.
63633         * lib/unistdio/ulc-asnprintf.c: Likewise.
63634         * lib/unistdio/ulc-asprintf.c: Likewise.
63635         * lib/unistdio/ulc-printf-parse.c: Likewise.
63636         * lib/unistdio/ulc-snprintf.c: Likewise.
63637         * lib/unistdio/ulc-sprintf.c: Likewise.
63638         * lib/unistdio/ulc-vasnprintf.c: Likewise.
63639         * lib/unistdio/ulc-vasprintf.c: Likewise.
63640         * lib/unistdio/ulc-vsnprintf.c: Likewise.
63641         * lib/unistdio/ulc-vsprintf.c: Likewise.
63642         * lib/unistr.h: Likewise.
63643         * lib/unistr/u-cpy-alloc.h: Likewise.
63644         * lib/unistr/u-cpy.h: Likewise.
63645         * lib/unistr/u-endswith.h: Likewise.
63646         * lib/unistr/u-move.h: Likewise.
63647         * lib/unistr/u-set.h: Likewise.
63648         * lib/unistr/u-startswith.h: Likewise.
63649         * lib/unistr/u-stpcpy.h: Likewise.
63650         * lib/unistr/u-stpncpy.h: Likewise.
63651         * lib/unistr/u-strcat.h: Likewise.
63652         * lib/unistr/u-strcpy.h: Likewise.
63653         * lib/unistr/u-strcspn.h: Likewise.
63654         * lib/unistr/u-strdup.h: Likewise.
63655         * lib/unistr/u-strlen.h: Likewise.
63656         * lib/unistr/u-strncat.h: Likewise.
63657         * lib/unistr/u-strncpy.h: Likewise.
63658         * lib/unistr/u-strnlen.h: Likewise.
63659         * lib/unistr/u-strpbrk.h: Likewise.
63660         * lib/unistr/u-strspn.h: Likewise.
63661         * lib/unistr/u-strstr.h: Likewise.
63662         * lib/unistr/u-strtok.h: Likewise.
63663         * lib/unistr/u16-check.c: Likewise.
63664         * lib/unistr/u16-chr.c: Likewise.
63665         * lib/unistr/u16-cmp.c: Likewise.
63666         * lib/unistr/u16-cpy-alloc.c: Likewise.
63667         * lib/unistr/u16-cpy.c: Likewise.
63668         * lib/unistr/u16-endswith.c: Likewise.
63669         * lib/unistr/u16-mblen.c: Likewise.
63670         * lib/unistr/u16-mbsnlen.c: Likewise.
63671         * lib/unistr/u16-mbtouc-aux.c: Likewise.
63672         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
63673         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
63674         * lib/unistr/u16-mbtouc.c: Likewise.
63675         * lib/unistr/u16-mbtoucr.c: Likewise.
63676         * lib/unistr/u16-move.c: Likewise.
63677         * lib/unistr/u16-next.c: Likewise.
63678         * lib/unistr/u16-prev.c: Likewise.
63679         * lib/unistr/u16-set.c: Likewise.
63680         * lib/unistr/u16-startswith.c: Likewise.
63681         * lib/unistr/u16-stpcpy.c: Likewise.
63682         * lib/unistr/u16-stpncpy.c: Likewise.
63683         * lib/unistr/u16-strcat.c: Likewise.
63684         * lib/unistr/u16-strchr.c: Likewise.
63685         * lib/unistr/u16-strcmp.c: Likewise.
63686         * lib/unistr/u16-strcpy.c: Likewise.
63687         * lib/unistr/u16-strcspn.c: Likewise.
63688         * lib/unistr/u16-strdup.c: Likewise.
63689         * lib/unistr/u16-strlen.c: Likewise.
63690         * lib/unistr/u16-strmblen.c: Likewise.
63691         * lib/unistr/u16-strmbtouc.c: Likewise.
63692         * lib/unistr/u16-strncat.c: Likewise.
63693         * lib/unistr/u16-strncmp.c: Likewise.
63694         * lib/unistr/u16-strncpy.c: Likewise.
63695         * lib/unistr/u16-strnlen.c: Likewise.
63696         * lib/unistr/u16-strpbrk.c: Likewise.
63697         * lib/unistr/u16-strrchr.c: Likewise.
63698         * lib/unistr/u16-strspn.c: Likewise.
63699         * lib/unistr/u16-strstr.c: Likewise.
63700         * lib/unistr/u16-strtok.c: Likewise.
63701         * lib/unistr/u16-to-u32.c: Likewise.
63702         * lib/unistr/u16-to-u8.c: Likewise.
63703         * lib/unistr/u16-uctomb-aux.c: Likewise.
63704         * lib/unistr/u16-uctomb.c: Likewise.
63705         * lib/unistr/u32-check.c: Likewise.
63706         * lib/unistr/u32-chr.c: Likewise.
63707         * lib/unistr/u32-cmp.c: Likewise.
63708         * lib/unistr/u32-cpy-alloc.c: Likewise.
63709         * lib/unistr/u32-cpy.c: Likewise.
63710         * lib/unistr/u32-endswith.c: Likewise.
63711         * lib/unistr/u32-mblen.c: Likewise.
63712         * lib/unistr/u32-mbsnlen.c: Likewise.
63713         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
63714         * lib/unistr/u32-mbtouc.c: Likewise.
63715         * lib/unistr/u32-mbtoucr.c: Likewise.
63716         * lib/unistr/u32-move.c: Likewise.
63717         * lib/unistr/u32-next.c: Likewise.
63718         * lib/unistr/u32-prev.c: Likewise.
63719         * lib/unistr/u32-set.c: Likewise.
63720         * lib/unistr/u32-startswith.c: Likewise.
63721         * lib/unistr/u32-stpcpy.c: Likewise.
63722         * lib/unistr/u32-stpncpy.c: Likewise.
63723         * lib/unistr/u32-strcat.c: Likewise.
63724         * lib/unistr/u32-strchr.c: Likewise.
63725         * lib/unistr/u32-strcmp.c: Likewise.
63726         * lib/unistr/u32-strcpy.c: Likewise.
63727         * lib/unistr/u32-strcspn.c: Likewise.
63728         * lib/unistr/u32-strdup.c: Likewise.
63729         * lib/unistr/u32-strlen.c: Likewise.
63730         * lib/unistr/u32-strmblen.c: Likewise.
63731         * lib/unistr/u32-strmbtouc.c: Likewise.
63732         * lib/unistr/u32-strncat.c: Likewise.
63733         * lib/unistr/u32-strncmp.c: Likewise.
63734         * lib/unistr/u32-strncpy.c: Likewise.
63735         * lib/unistr/u32-strnlen.c: Likewise.
63736         * lib/unistr/u32-strpbrk.c: Likewise.
63737         * lib/unistr/u32-strrchr.c: Likewise.
63738         * lib/unistr/u32-strspn.c: Likewise.
63739         * lib/unistr/u32-strstr.c: Likewise.
63740         * lib/unistr/u32-strtok.c: Likewise.
63741         * lib/unistr/u32-to-u16.c: Likewise.
63742         * lib/unistr/u32-to-u8.c: Likewise.
63743         * lib/unistr/u32-uctomb.c: Likewise.
63744         * lib/unistr/u8-check.c: Likewise.
63745         * lib/unistr/u8-chr.c: Likewise.
63746         * lib/unistr/u8-cmp.c: Likewise.
63747         * lib/unistr/u8-cpy-alloc.c: Likewise.
63748         * lib/unistr/u8-cpy.c: Likewise.
63749         * lib/unistr/u8-endswith.c: Likewise.
63750         * lib/unistr/u8-mblen.c: Likewise.
63751         * lib/unistr/u8-mbsnlen.c: Likewise.
63752         * lib/unistr/u8-mbtouc-aux.c: Likewise.
63753         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
63754         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
63755         * lib/unistr/u8-mbtouc.c: Likewise.
63756         * lib/unistr/u8-mbtoucr.c: Likewise.
63757         * lib/unistr/u8-move.c: Likewise.
63758         * lib/unistr/u8-next.c: Likewise.
63759         * lib/unistr/u8-prev.c: Likewise.
63760         * lib/unistr/u8-set.c: Likewise.
63761         * lib/unistr/u8-startswith.c: Likewise.
63762         * lib/unistr/u8-stpcpy.c: Likewise.
63763         * lib/unistr/u8-stpncpy.c: Likewise.
63764         * lib/unistr/u8-strcat.c: Likewise.
63765         * lib/unistr/u8-strchr.c: Likewise.
63766         * lib/unistr/u8-strcmp.c: Likewise.
63767         * lib/unistr/u8-strcpy.c: Likewise.
63768         * lib/unistr/u8-strcspn.c: Likewise.
63769         * lib/unistr/u8-strdup.c: Likewise.
63770         * lib/unistr/u8-strlen.c: Likewise.
63771         * lib/unistr/u8-strmblen.c: Likewise.
63772         * lib/unistr/u8-strmbtouc.c: Likewise.
63773         * lib/unistr/u8-strncat.c: Likewise.
63774         * lib/unistr/u8-strncmp.c: Likewise.
63775         * lib/unistr/u8-strncpy.c: Likewise.
63776         * lib/unistr/u8-strnlen.c: Likewise.
63777         * lib/unistr/u8-strpbrk.c: Likewise.
63778         * lib/unistr/u8-strrchr.c: Likewise.
63779         * lib/unistr/u8-strspn.c: Likewise.
63780         * lib/unistr/u8-strstr.c: Likewise.
63781         * lib/unistr/u8-strtok.c: Likewise.
63782         * lib/unistr/u8-to-u16.c: Likewise.
63783         * lib/unistr/u8-to-u32.c: Likewise.
63784         * lib/unistr/u8-uctomb-aux.c: Likewise.
63785         * lib/unistr/u8-uctomb.c: Likewise.
63786         * lib/unitypes.h: Likewise.
63787         * lib/uniwidth.h: Likewise.
63788         * lib/uniwidth/cjk.h: Likewise.
63789         * lib/uniwidth/u16-strwidth.c: Likewise.
63790         * lib/uniwidth/u16-width.c: Likewise.
63791         * lib/uniwidth/u32-strwidth.c: Likewise.
63792         * lib/uniwidth/u32-width.c: Likewise.
63793         * lib/uniwidth/u8-strwidth.c: Likewise.
63794         * lib/uniwidth/u8-width.c: Likewise.
63795         * lib/uniwidth/width.c: Likewise.
63796
63797 2007-10-07  Bruno Haible  <bruno@clisp.org>
63798
63799         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
63800         The file is still under LGPL (see modules/inttypes).
63801
63802 2007-10-06  Bruno Haible  <bruno@clisp.org>
63803
63804         * modules/trunc (Dependencies): Add 'extensions'.
63805         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
63806         Reported by Ben Pfaff <blp@gnu.org>.
63807
63808 2007-10-06  Bruno Haible  <bruno@clisp.org>
63809
63810         * modules/freopen-tests: New file.
63811         * tests/test-freopen.c: New file.
63812
63813         * modules/fopen-tests: New file.
63814         * tests/test-fopen.c: New file.
63815
63816         * modules/fopen: New file.
63817         * lib/fopen.c: New file.
63818         * m4/fopen.m4: New file.
63819         * modules/freopen: New file.
63820         * lib/freopen.c: New file.
63821         * m4/freopen.m4: New file.
63822         * lib/stdio.in.h (fopen, freopen): New declarations.
63823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
63824         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63825         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
63826         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63827         * doc/functions/fopen.texi: Mention the 'fopen' module.
63828         * doc/functions/freopen.texi: Mention the 'freopen' module.
63829
63830 2007-10-06  Bruno Haible  <bruno@clisp.org>
63831
63832         * modules/open-tests: New file.
63833         * tests/test-open.c: New file.
63834
63835         * modules/open: New file.
63836         * lib/open.c: New file.
63837         * m4/open.m4: New file.
63838         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
63839         lib/open.c does.
63840         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
63841         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
63842         macros.
63843         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
63844         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
63845         REPLACE_OPEN.
63846         * doc/functions/open.texi: Mention the 'open' module.
63847
63848 2007-10-04  Bruno Haible  <bruno@clisp.org>
63849
63850         * modules/ceill-tests: New file.
63851         * tests/test-ceill.c: New file.
63852
63853         * modules/ceill: New file.
63854         * lib/ceill.c: Replace entire file.
63855         * m4/ceill.m4: New file.
63856         * lib/math.in.h (ceill): Replace declaration.
63857         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
63858         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
63859         * doc/functions/ceill.texi: Mention the 'ceill' module.
63860         * modules/mathl (Files): Remove lib/ceill.c.
63861         (Depends-on): Add ceill.
63862
63863 2007-10-04  Bruno Haible  <bruno@clisp.org>
63864
63865         * modules/ceilf-tests: New file.
63866         * tests/test-ceilf.c: New file.
63867
63868         * modules/ceilf: New file.
63869         * lib/ceil.c: New file.
63870         * lib/ceilf.c: New file.
63871         * m4/ceilf.m4: New file.
63872         * lib/math.in.h (ceilf): New declaration.
63873         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
63874         HAVE_DECL_CEILF.
63875         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
63876         HAVE_DECL_CEILF.
63877         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
63878
63879 2007-10-04  Bruno Haible  <bruno@clisp.org>
63880
63881         * modules/floorl-tests: New file.
63882         * tests/test-floorl.c: New file.
63883
63884         * modules/floorl: New file.
63885         * lib/floorl.c: Replace entire file.
63886         * m4/floorl.m4: New file.
63887         * lib/math.in.h (floorl): Replace declaration.
63888         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
63889         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
63890         * doc/functions/floorl.texi: Mention the 'floorl' module.
63891         * modules/mathl (Files): Remove lib/floorl.c.
63892         (Depends-on): Add floorl.
63893
63894 2007-10-04  Bruno Haible  <bruno@clisp.org>
63895
63896         * modules/floorf-tests: New file.
63897         * tests/test-floorf.c: New file.
63898
63899         * modules/floorf: New file.
63900         * lib/floor.c: New file.
63901         * lib/floorf.c: New file.
63902         * m4/floorf.m4: New file.
63903         * lib/math.in.h (floorf): New declaration.
63904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
63905         HAVE_DECL_FLOORF.
63906         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
63907         HAVE_DECL_FLOORF.
63908         * doc/functions/floorf.texi: Mention the 'floorf' module.
63909
63910 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
63911             Bruno Haible  <bruno@clisp.org>
63912
63913         Advertise for the Git server instead of the CVS server.
63914         * doc/gnulib-intro.texi (Steady Development): Mention the Git
63915         repository instead of the CVS one.
63916         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
63917         about all VCS systems generically.
63918         * doc/gnulib.texi (Introduction): Capitalize `Git'.
63919
63920 2007-10-04  Bruno Haible  <bruno@clisp.org>
63921
63922         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
63923         means.
63924         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
63925
63926 2007-10-04  Bruno Haible  <bruno@clisp.org>
63927
63928         * modules/truncl-tests: New file.
63929         * tests/test-truncl.c: New file.
63930
63931         * modules/truncl: New file.
63932         * lib/truncl.c: New file.
63933         * m4/truncl.m4: New file.
63934         * lib/math.in.h (truncl): New declaration.
63935         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
63936         HAVE_DECL_TRUNCL.
63937         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
63938         HAVE_DECL_TRUNCL.
63939         * doc/functions/truncl.texi: Mention the 'truncl' module.
63940
63941 2007-10-04  Bruno Haible  <bruno@clisp.org>
63942
63943         * modules/truncf-tests: New file.
63944         * tests/test-truncf.c: New file.
63945
63946         * modules/truncf: New file.
63947         * lib/trunc.c: Make paramerizable through USE_* macros.
63948         * lib/truncf.c: New file.
63949         * m4/truncf.m4: New file.
63950         * lib/math.in.h (truncf): New declaration.
63951         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
63952         HAVE_DECL_TRUNCF.
63953         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
63954         HAVE_DECL_TRUNCF.
63955         * doc/functions/truncf.texi: Mention the 'truncf' module.
63956
63957 2007-10-03  Bruno Haible  <bruno@clisp.org>
63958
63959         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
63960         augmentation also for tests modules.
63961         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
63962         * modules/atexit-tests (Makefile.am): Likewise.
63963         * modules/binary-io-tests (Makefile.am): Likewise.
63964         * modules/c-strcase-tests (Makefile.am): Likewise.
63965         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
63966         * modules/canonicalize-tests (Makefile.am): Likewise.
63967         * modules/closein-tests (Makefile.am): Likewise.
63968         * modules/fprintf-posix-tests (Makefile.am): Likewise.
63969         * modules/freadahead-tests (Makefile.am): Likewise.
63970         * modules/fseek-tests (Makefile.am): Likewise.
63971         * modules/fseeko-tests (Makefile.am): Likewise.
63972         * modules/ftell-tests (Makefile.am): Likewise.
63973         * modules/ftello-tests (Makefile.am): Likewise.
63974         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
63975         * modules/isnanl-tests (Makefile.am): Likewise.
63976         * modules/lseek-tests (Makefile.am): Likewise.
63977         * modules/mbscasecmp-tests (Makefile.am): Likewise.
63978         * modules/mbscasestr-tests (Makefile.am): Likewise.
63979         * modules/mbschr-tests (Makefile.am): Likewise.
63980         * modules/mbscspn-tests (Makefile.am): Likewise.
63981         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
63982         * modules/mbspbrk-tests (Makefile.am): Likewise.
63983         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
63984         * modules/mbsrchr-tests (Makefile.am): Likewise.
63985         * modules/mbsspn-tests (Makefile.am): Likewise.
63986         * modules/mbsstr-tests (Makefile.am): Likewise.
63987         * modules/printf-posix-tests (Makefile.am): Likewise.
63988         * modules/snprintf-posix-tests (Makefile.am): Likewise.
63989         * modules/sprintf-posix-tests (Makefile.am): Likewise.
63990         * modules/tsearch-tests (Makefile.am): Likewise.
63991         * modules/uniname/uniname-tests (Makefile.am): Likewise.
63992         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
63993         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
63994         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
63995         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
63996         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
63997         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
63998         * modules/vprintf-posix-tests (Makefile.am): Likewise.
63999         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
64000         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
64001         * modules/xstrtoimax-tests (Makefile.am): Likewise.
64002         * modules/xstrtol-tests (Makefile.am): Likewise.
64003         * modules/xstrtoumax-tests (Makefile.am): Likewise.
64004         * modules/yesno-tests (Makefile.am): Likewise.
64005
64006 2007-10-03  Bruno Haible  <bruno@clisp.org>
64007
64008         * modules/trunc-tests: New file.
64009         * tests/test-trunc.c: New file.
64010
64011         * modules/trunc: New file.
64012         * lib/trunc.c: New file.
64013         * m4/trunc.m4: New file.
64014         * lib/math.in.h (trunc): New declaration.
64015         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
64016         HAVE_DECL_TRUNC.
64017         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
64018         HAVE_DECL_TRUNC.
64019         * doc/functions/trunc.texi: Mention the 'trunc' module.
64020
64021 2007-10-03  Bruno Haible  <bruno@clisp.org>
64022
64023         * tests/test-fpending.c: New file, mostly copied
64024         from coreutils/lib/t-fpending.c.
64025         * modules/fpending-tests: New file.
64026
64027 2007-10-03  Bruno Haible  <bruno@clisp.org>
64028
64029         Port the stdio extensions to QNX (untested).
64030         * lib/fseterr.c (fseterr): Add support for QNX.
64031         * lib/fbufmode.c (fbufmode): Likewise.
64032         * lib/freadable.c (freadable): Likewise.
64033         * lib/fwritable.c (fwritable): Likewise.
64034         * lib/freading.c (freading): Likewise.
64035         * lib/fwriting.c (fwriting): Likewise.
64036         * lib/freadahead.c (freadahed): Likewise.
64037         * lib/fpurge.c (fpurge): Likewise.
64038         * lib/fseeko.c (rpl_fseeko): Likewise.
64039
64040 2007-10-03  Bruno Haible  <bruno@clisp.org>
64041             Jim Meyering  <jim@meyering.net>
64042             Eric Blake  <ebb9@byu.net>
64043
64044         * doc/relocatable.texi: Use @command instead of @program.
64045
64046 2007-10-02  Jim Meyering  <jim@meyering.net>
64047
64048         Perform one more "_.h" -> ".in.h" substitution.
64049         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
64050         instead of unistd_.h here, too.
64051
64052 2007-10-01  Bruno Haible  <bruno@clisp.org>
64053
64054         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
64055         Needed for the alloca-opt module.
64056
64057 2007-09-30  Bruno Haible  <bruno@clisp.org>
64058
64059         * lib/alloca.in.h: Renamed from lib/alloca_.h.
64060         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
64061         alloca_.h.
64062         * lib/argz.in.h: Renamed from lib/argz_.h.
64063         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
64064         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
64065         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
64066         byteswap_.h.
64067         * lib/dirent.in.h: Renamed from lib/dirent_.h.
64068         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
64069         dirent_.h.
64070         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
64071         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
64072         fcntl_.h.
64073         * lib/float.in.h: Renamed from lib/float_.h.
64074         * modules/float (Files, Makefile.am): Use float.in.h instead of
64075         float_.h.
64076         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
64077         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
64078         fnmatch_.h.
64079         * lib/getopt.in.h: Renamed from lib/getopt_.h.
64080         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
64081         getopt_.h.
64082         * lib/glob.in.h: Renamed from lib/glob_.h.
64083         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
64084         * lib/iconv.in.h: Renamed from lib/iconv_.h.
64085         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
64086         iconv_.h.
64087         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
64088         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
64089         inttypes_.h.
64090         * lib/locale.in.h: Renamed from lib/locale_.h.
64091         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
64092         locale_.h.
64093         * lib/math.in.h: Renamed from lib/math_.h.
64094         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
64095         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
64096         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
64097         of netinet_in_.h. Add dependency.
64098         * lib/poll.in.h: Renamed from lib/poll_.h.
64099         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
64100         * lib/search.in.h: Renamed from lib/search_.h.
64101         * modules/search (Files, Makefile.am): Use search.in.h instead of
64102         search_.h.
64103         * lib/signal.in.h: Renamed from lib/signal_.h.
64104         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
64105         _signal.h.
64106         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
64107         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
64108         stdbool_.h.
64109         * lib/stdint.in.h: Renamed from lib/stdint_.h.
64110         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
64111         stdint_.h.
64112         * lib/stdio.in.h: Renamed from lib/stdio_.h.
64113         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
64114         stdio_.h.
64115         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
64116         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
64117         stdlib_.h.
64118         * lib/string.in.h: Renamed from lib/string_.h.
64119         * modules/string (Files, Makefile.am): Use string.in.h instead of
64120         string_.h.
64121         * doc/gnulib-tool.texi (Initial import): Update.
64122         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
64123         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
64124         of sys_select_.h. Add dependency.
64125         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
64126         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
64127         of sys_socket_.h.
64128         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
64129         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
64130         sys_stat_.h.
64131         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
64132         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
64133         sys_time_.h.
64134         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
64135         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
64136         sysexits_.h.
64137         * lib/time.in.h: Renamed from lib/time_.h.
64138         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
64139         * lib/unistd.in.h: Renamed from lib/unistd_.h.
64140         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
64141         unistd_.h.
64142         * lib/wchar.in.h: Renamed from lib/wchar_.h.
64143         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
64144         wchar_.h.
64145         * lib/wctype.in.h: Renamed from lib/wctype_.h.
64146         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
64147         wctype_.h.
64148         * build-aux/bootstrap (slurp): Update.
64149         * lib/.cppi-disable: Update.
64150
64151 2007-09-30  Bruno Haible  <bruno@clisp.org>
64152
64153         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
64154         Needed on BeOS.
64155
64156 2007-09-30  Bruno Haible  <bruno@clisp.org>
64157
64158         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
64159
64160 2007-09-29  Bruno Haible  <bruno@clisp.org>
64161
64162         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
64163
64164 2007-09-29  Bruno Haible  <bruno@clisp.org>
64165
64166         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
64167         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
64168         * build-aux/install-reloc: Compile also areadlink.c.
64169         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
64170
64171 2007-09-29  Bruno Haible  <bruno@clisp.org>
64172
64173         * gnulib-tool (func_emit_initmacro_done): Indentation.
64174
64175 2007-09-29  Bruno Haible  <bruno@clisp.org>
64176
64177         * README: Add CVS checkout update instructions.
64178         Info from Bob Proulx <bob@proulx.com>.
64179
64180 2007-09-28  Eric Blake  <ebb9@byu.net>
64181
64182         Provide move-if-change.
64183         * build-aux/move-if-change: New file, based on best practice
64184         rather than any canonical upstream location.
64185
64186 2007-09-28  Jim Meyering  <jim@meyering.net>
64187
64188         Fix canonicalize loop-detection corner case.
64189         Do not attempt to stat the symlink values stored via seen_triple.
64190         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
64191         on linux-2.6.18, (but not 2.6.22).
64192         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
64193         triple_compare.  The former compares dev,ino,filename, while the latter
64194         would actually stat dirname(filename) when dev and ino were equal.
64195         * lib/hash-triple.c: Install <string.h>.
64196         (STREQ): Define.
64197         (triple_compare_ino_str): New function.
64198         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
64199
64200 2007-09-28  Eric Blake  <ebb9@byu.net>
64201
64202         Enforce that AC_REPLACE_FUNCS files exist.
64203         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
64204         override check for typos.
64205
64206         Fix test-closein on Solaris 10.
64207         * tests/test-closein.c (main): Don't assume stdin can be inherited
64208         closed on all systems.
64209         * tests/test-closein.sh: Likewise.
64210         Reported by Piotr Tarnowski.
64211
64212 2007-09-28  Jim Meyering  <jim@meyering.net>
64213
64214         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
64215
64216 2007-09-27  Jim Meyering  <jim@meyering.net>
64217
64218         canonicalize: Avoid a false-positive cycle failure.
64219         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
64220         Sort.  Remove cycle-check.
64221         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
64222         not cycle-check.h.
64223         (seen_triple): New function.
64224         (canonicalize_filename_mode): Use it instead of cycle-check.
64225         * tests/test-canonicalize.c: Add a test for this bug.
64226         * tests/test-canonicalize.sh: Set up and run the test.
64227
64228         New module, file-set, from coreutils.
64229         * modules/file-set: Define it.
64230         * lib/file-set.c, lib/file-set.h: Implement.
64231
64232         New module, hash-triple, from coreutils.
64233         * modules/hash-triple: Define it.
64234         * lib/hash-triple.c, lib/hash-triple.h: Implement.
64235
64236 2007-09-25  Eric Blake  <ebb9@byu.net>
64237
64238         Fix strerror on Interix.
64239         * lib/string_.h (strerror): Declare replacement.
64240         * doc/functions/strerror.texi (strerror): Document the Interix
64241         shortcoming.
64242         * modules/string (Makefile.am): Support new hooks.
64243         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
64244         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
64245         gl_FUNC_STRERROR_SEPARATE.
64246         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
64247         * lib/strerror.c (rpl_strerror): Provide replacement.
64248         * modules/strerror (Depends-on): Add string.
64249         (configure.ac): Detect use of module.
64250         * tests/test-strerror.c: New file.
64251         * modules/strerror-tests: New test module.
64252         * modules/argp (Depends-on): Add strerror.
64253         * modules/error (Depends-on): Likewise.
64254         Reported by Martin Koeppe.
64255
64256 2007-09-24  Bruno Haible  <bruno@clisp.org>
64257
64258         * README: Update git instructions.
64259
64260 2007-09-24  Eric Blake  <ebb9@byu.net>
64261
64262         Revert fpending breakage from 2007-09-08.
64263         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
64264         __fpending.c.
64265
64266 2007-09-24  Jim Meyering  <jim@meyering.net>
64267
64268         filenamecat.c: Add a test.
64269         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
64270         showing how the function works when DIR is the empty string.
64271
64272 2007-09-21  Simon Josefsson  <simon@josefsson.org>
64273
64274         * tests/test-canonicalize.sh: Turn on executable bit.
64275
64276 2007-09-19  Eric Blake  <ebb9@byu.net>
64277
64278         * README: Update CVS instructions.
64279
64280 2007-09-18  Bruno Haible  <bruno@clisp.org>
64281
64282         * modules/areadlink: New file.
64283         * lib/areadlink.h (areadlink): New declaration.
64284         * lib/areadlink.c: New file, based on lib/xreadlink.c.
64285
64286 2007-09-17  Jim Meyering  <jim@meyering.net>
64287
64288         * lib/savewd.c (ESTALE) [!defined]: Define.
64289         Reported to be required on Interix by Martin Koeppe.
64290
64291 2007-09-17  Bruno Haible  <bruno@clisp.org>
64292
64293         * gnulib-tool (func_version): Use $version.
64294
64295 2007-09-16  Bruno Haible  <bruno@clisp.org>
64296
64297         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
64298         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
64299         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
64300         Reported by Greg Schafer <gschafer@zip.com.au>.
64301
64302 2007-09-15  Bruno Haible  <bruno@clisp.org>
64303
64304         * gnulib-tool (sed): Try a little harder to make bash understand the
64305         alias.
64306         Reported by Bruce Korb <bruce.korb@gmail.com>.
64307
64308 2007-09-13  Eric Blake  <ebb9@byu.net>
64309
64310         * ChangeLog: Remove conflict markers.
64311
64312 2007-09-13  Simon Josefsson  <simon@josefsson.org>
64313
64314         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
64315         Reported by Bruno Haible <bruno@clisp.org>.
64316
64317 2007-09-12  Bruno Haible  <bruno@clisp.org>
64318
64319         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
64320         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
64321         is not defined.
64322
64323 2007-09-12  Eric Blake  <ebb9@byu.net>
64324
64325         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
64326         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
64327         Autoconf definition.
64328         * modules/euidaccess (Depends-on): Add extensions, for
64329         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
64330         * modules/fnmatch (Depends-on): Likewise.
64331         * modules/getaddrinfo (Depends-on): Likewise.
64332         * modules/getdelim (Depends-on): Likewise.
64333         * modules/getline (Depends-on): Likewise.
64334         * modules/getsubopt (Depends-on): Likewise.
64335         * modules/gettext (Depends-on): Likewise.
64336         * modules/group-member (Depends-on): Likewise.
64337         * modules/mbchar (Depends-on): Likewise.
64338         * modules/memmem (Depends-on): Likewise.
64339         * modules/mempcpy (Depends-on): Likewise.
64340         * modules/memrchr (Depends-on): Likewise.
64341         * modules/pagealign_alloc (Depends-on): Likewise.
64342         * modules/readutmp (Depends-on): Likewise.
64343         * modules/stpcpy (Depends-on): Likewise.
64344         * modules/stpncpy (Depends-on): Likewise.
64345         * modules/strchrnul (Depends-on): Likewise.
64346         * modules/strndup (Depends-on): Likewise.
64347         * modules/strsep (Depends-on): Likewise.
64348         * modules/strverscmp (Depends-on): Likewise.
64349         * modules/vasprintf (Depends-on): Likewise.
64350         * modules/wcwidth (Depends-on): Likewise.
64351         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
64352         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
64353         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
64354         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
64355         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64356         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64357         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
64358         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64359         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
64360         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
64361         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64362         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64363         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64364         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64365         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
64366         * m4/readutmp.m4 (gl_READUTMP): Likewise.
64367         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64368         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64369         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64370         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64371         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64372         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64373         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64374         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
64375         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
64376         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64377         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
64378         so that lock.m4 can be used in gettext without extensions module.
64379
64380 2007-09-11  Bruno Haible  <bruno@clisp.org>
64381
64382         * m4/isc-posix.m4: Remove file.
64383         Suggested by Eric Blake.
64384
64385 2007-09-11  Eric Blake  <ebb9@byu.net>
64386
64387         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
64388
64389 2007-09-10  Bruno Haible  <bruno@clisp.org>
64390
64391         * posix-modules: Fix typo in error message.
64392         Reported by Matt <mkraai@beckman.com>.
64393
64394 2007-09-09  Bruno Haible  <bruno@clisp.org>
64395
64396         * doc/functions/getdelim.texi: Update list of platforms lacking the
64397         function.
64398         * doc/functions/getline.texi: Likewise.
64399
64400 2007-09-09  Jim Meyering  <jim@meyering.net>
64401
64402         * lib/hash.c (hash_initialize): Detect calloc failure.
64403         Reported by Bruno Haible.
64404
64405 2007-09-09  Bruno Haible  <bruno@clisp.org>
64406
64407         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
64408         malloc or realloc fails.
64409
64410 2007-09-09  Bruno Haible  <bruno@clisp.org>
64411
64412         * modules/getcwd (Depends-on): Add malloc-posix.
64413         * modules/glob (Depends-on): Likewise.
64414         * modules/putenv (Depends-on): Likewise.
64415         * modules/strdup (Depends-on): Likewise.
64416         * modules/getdelim (Depends-on): Add realloc-posix.
64417         * modules/read-file (Depends-on): Likewise.
64418
64419 2007-09-09  Bruno Haible  <bruno@clisp.org>
64420
64421         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
64422         (gl_FUNC_MALLOC_POSIX): Require it.
64423         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
64424         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
64425         * modules/realloc (Files): Add m4/malloc.m4.
64426         * modules/calloc (Files): Likewise.
64427
64428 2007-09-09  Bruno Haible  <bruno@clisp.org>
64429
64430         * modules/malloc-posix: New file.
64431         * modules/malloc (Depends-on): Add malloc-posix.
64432         * lib/malloc.c: Include errno.h.
64433         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
64434         and a POSIX-compatible malloc into a single function. Set ENOMEM
64435         when returning NULL.
64436         * m4/malloc.m4: New file.
64437         * doc/functions/malloc.texi: Mention the malloc-posix module.
64438         * lib/stdlib_.h (malloc): New declaration.
64439         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64440         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
64441         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
64442         and HAVE_MALLOC_POSIX.
64443
64444 2007-09-09  Bruno Haible  <bruno@clisp.org>
64445
64446         * modules/realloc-posix: New file.
64447         * modules/realloc (Depends-on): Add realloc-posix.
64448         * lib/realloc.c: Include errno.h.
64449         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
64450         and a POSIX-compatible realloc into a single function. Set ENOMEM
64451         when returning NULL.
64452         * m4/realloc.m4: New file.
64453         * doc/functions/realloc.texi: Mention the realloc-posix module.
64454         * lib/stdlib_.h (realloc): New declaration.
64455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64456         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
64457         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
64458         and HAVE_REALLOC_POSIX.
64459
64460 2007-09-09  Bruno Haible  <bruno@clisp.org>
64461
64462         * modules/calloc-posix: New file.
64463         * modules/calloc (Depends-on): Add calloc-posix.
64464         * lib/calloc.c: Include errno.h.
64465         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
64466         and a POSIX-compatible calloc into a single function. Set ENOMEM
64467         when returning NULL.
64468         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
64469         * doc/functions/calloc.texi: Mention the calloc-posix module.
64470         * lib/stdlib_.h (calloc): New declaration.
64471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64472         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
64473         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
64474         and HAVE_CALLOC_POSIX.
64475
64476 2007-09-09  Bruno Haible  <bruno@clisp.org>
64477
64478         Allow for modules to show an arbitrary notice.
64479         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
64480         * gnulib-tool: New option --extract-notice.
64481         (func_usage): Document it.
64482         (sed_extract_prog): Update.
64483         (func_get_notice): New function.
64484         (func_modules_notice): New function.
64485         (func_import, func_create_testdir): Invoke it.
64486         Suggested by Jim Meyering.
64487
64488 2007-09-09  Bruno Haible  <bruno@clisp.org>
64489
64490         * gnulib-tool: New options --verbose, --quiet.
64491         (func_usage): Document them.
64492         (verbose): New variable.
64493         (func_execute_command): New function.
64494         (func_import): Don't show the module list and the file list if
64495         $verbose < 0.
64496         (func_create_testdir): Likewise. Use func_execute_command.
64497         (func_create_megatestdir): Use func_execute_command.
64498
64499 2007-09-08  Bruno Haible  <bruno@clisp.org>
64500
64501         * gnulib-tool (func_import): Prefer rsync over wget when available,
64502         for fetching the PO files.
64503
64504 2007-09-08  Bruno Haible  <bruno@clisp.org>
64505
64506         * posix-modules: New file. Portions copied from gnulib-tool.
64507         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
64508
64509 2007-09-08  Jim Meyering  <jim@meyering.net>
64510
64511         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
64512         * lib/fpending.h: Rename from __fpending.h.
64513         * lib/fpending.c: Rename from __fpending.c.
64514         Include "fpending.h", not "__fpending.h".
64515         * lib/__fpending.h, lib/__fpending.c: Remove files.
64516         * modules/fpending (Files): Reflect new file names.
64517         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
64518
64519 2007-09-08  Bruno Haible  <bruno@clisp.org>
64520
64521         * m4/inttypes-h.m4: Remove stub file.
64522
64523 2007-09-07  Simon Josefsson  <simon@josefsson.org>
64524
64525         * doc/headers/stdint.texi: Discuss #include_next issue.
64526
64527 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64528
64529         * build-aux/bootstrap: Remove obsolete comment about wget --help.
64530
64531 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64532
64533         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
64534         in variable name.
64535
64536 2007-09-03  Jim Meyering  <jim@meyering.net>
64537
64538         New module: git-version-gen.
64539         * modules/git-version-gen: New file.
64540
64541         Import changes from coreutils for bootstrap script.
64542
64543         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
64544
64545         bootstrap: uses rsync to download the .po files
64546         * build-aux/bootstrap (po_download_command_format): New global.
64547         (download_po_files): Use rsync.
64548         (update_po_files): Don't remove .po files after download,
64549         so future rsync runs can take advantage of the copies.
64550
64551         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
64552
64553         Solve the unnecessary-.po-file-regeneration problem once and for all.
64554         * build-aux/bootstrap (download_po_files): New function, renamed from
64555         get_translations.  Now, downloads, but doesn't update LINGUAS.
64556         (update_po_files): New function.
64557
64558         bootstrap: Ignore more.
64559         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
64560         uniwidth to e.g., lib/.gitignore.
64561         (slurp): Handle the sys_stat_.h -> sys mapping, too.
64562
64563         * build-aux/bootstrap: New setting: vc_ignore.
64564         (insert_sorted_if_absent): Create $file if absent.
64565         Adapt to new, possibly empty, list: $vc_ignore.
64566
64567         bootstrap: generate more ignorable names
64568         * build-aux/bootstrap (slurp): When generating ignorable names,
64569         also map .sin to .sed, .gperf to .c, and .y to .c.
64570
64571 2007-09-03  Jim Meyering  <jim@meyering.net>
64572
64573         * build-aux/git-version-gen: New file, from coreutils.  For details, see
64574         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
64575
64576 2007-09-02  Bruno Haible  <bruno@clisp.org>
64577
64578         Fix mis-recognition of 'mcs' on QNX 6.
64579         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
64580         output contains the string "Mono".
64581         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
64582         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
64583
64584 2007-09-01  Bruno Haible  <bruno@clisp.org>
64585
64586         Fix collision between uniwidth/* and linebreak modules.
64587         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
64588         u32_width): Remove declarations.
64589         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
64590         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
64591         streq3, streq2, streq1, streq0): Remove functions.
64592         (STREQ): Remove macro.
64593         (is_cjk_encoding): Remove function.
64594         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
64595         (uc_width, u8_width, u16_width, u32_width): Remove functions.
64596         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
64597         * NEWS: Document the change.
64598
64599 2007-09-01  Bruno Haible  <bruno@clisp.org>
64600
64601         * lib/streq.h: Add double-inclusion guard.
64602
64603 2007-09-01  Karl Berry  <karl@gnu.org>
64604
64605         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
64606
64607 2007-08-28  Jim Meyering  <jim@meyering.net>
64608
64609         Rename mreadlink_with_size to areadlink_with_size.
64610         * NEWS: Document the change.
64611         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
64612         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
64613         * lib/mreadlink.h: Rename this to...
64614         * lib/areadlink.h: ...this.
64615         * modules/mreadlink-with-size: Rename this to...
64616         * modules/areadlink-with-size: ...this.
64617         * lib/canonicalize.c: Reflect the renaming.
64618         * modules/canonicalize: Likewise.
64619
64620 2007-08-26  Bruno Haible  <bruno@clisp.org>
64621
64622         * gnulib-tool (func_import): When deciding which files to remove,
64623         consider also dangling symbolic links.
64624         Reported by Eric Blake.
64625
64626 2007-08-26  Bruno Haible  <bruno@clisp.org>
64627
64628         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
64629
64630 2007-08-23  Simon Josefsson  <simon@josefsson.org>
64631
64632         * lib/readline.c: Don't include getline.h, the prototype is now
64633         found in stdio.h.
64634
64635 2007-08-23  Jim Meyering  <jim@meyering.net>
64636
64637         Getdelim touchup.
64638         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
64639         around the funlockfile call, since funlockfile never sets errno.
64640         Don't set errno upon failed realloc.
64641
64642 2007-08-22  Eric Blake  <ebb9@byu.net>
64643
64644         Getline touchups.
64645         * lib/getdelim.c (getdelim): Revert regression that required *n to
64646         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
64647         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
64648         getdelim, rather than whether implementation is missing.
64649         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
64650         * lib/stdio_.h (getline): Also declare if replacement is
64651         required.
64652         * doc/functions/getdelim.texi: New file.
64653         * doc/functions/getline.texi: Likewise.
64654         * doc/gnulib.texi (Function Substitutes): Add new files.
64655         Reported by Bruno Haible.
64656
64657 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
64658
64659         * users.txt: Add Guile.
64660
64661 2007-08-22  Eric Blake  <ebb9@byu.net>
64662
64663         * tests/test-getdelim.c (main): Use remove, not unlink.
64664         * tests/test-getline.c (main): Likewise.
64665
64666         Move getline and getdelim into stdio.h, per POSIX 200x.
64667         * modules/getline (Files): Remove getline.h.
64668         (Depends-on): Add stdio.
64669         (configure.ac): Add module indicator.
64670         * modules/getdelim (Files): Remove getdelim.h.
64671         (Depends-on): Add stdio.
64672         (configure.ac): Add module indicator.
64673         * modules/stdio (Makefile.am): Work with new indicators.
64674         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
64675         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
64676         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64677         * lib/getdelim.h: Delete.
64678         * lib/getline.h: Delete.
64679         * lib/stdio_.h (getdelim, getline): Declare.
64680         * modules/getdelim-tests: New module.
64681         * modules/getline-tests: Likewise.
64682         * tests/test-getdelim.c: New file.
64683         * tests/test-getline.c: Likewise.
64684         * NEWS: Document the change.
64685         * lib/getline.c: Update choice of header.
64686         * lib/csharpcomp.c: Likewise.
64687         * lib/getpass.c: Likewise.
64688         * lib/javacomp.c: Likewise.
64689         * lib/javaversion.c: Likewise.
64690         * lib/yesno.c: Likewise.
64691         * lib/getdelim.c: Likewise.
64692         (getdelim): Set errno on failure, and avoid memory leak.
64693
64694 2007-08-19  Bruno Haible  <bruno@clisp.org>
64695
64696         * modules/closein (Depends-on): Add freadahead.
64697         * lib/closein.c: Include freadahead.h.
64698         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
64699         is zero.
64700
64701 2007-08-19  Bruno Haible  <bruno@clisp.org>
64702
64703         * modules/freadahead-tests: New file.
64704         * tests/test-freadahead.sh: New file.
64705         * tests/test-freadahead.c: New file.
64706
64707         * modules/freadahead: New file.
64708         * lib/freadahead.h: New file.
64709         * lib/freadahead.c: New file.
64710         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
64711         fbufmode, fpurge, freadable, fwritable.
64712
64713 2007-08-19  Eric Blake  <ebb9@byu.net>
64714
64715         Test yesno in combination with closein.
64716         * lib/yesno.c (yesno): Document use of stdin.
64717         * modules/yesno-tests (Files): New module.
64718         * tests/test-yesno.c (main): New file.
64719         * tests/test-yesno.sh: Likewise.
64720
64721 2007-08-19  Bruno Haible  <bruno@clisp.org>
64722
64723         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
64724         * lib/fseeko.c (rpl_fseeko): Likewise.
64725         * lib/fseterr.c (fseterr): Likewise.
64726
64727 2007-08-19  Bruno Haible  <bruno@clisp.org>
64728
64729         * tests/test-lseek.c (main): Disable a test for BeOS.
64730         * doc/functions/lseek.texi: Document the BeOS bug.
64731
64732 2007-08-19  Bruno Haible  <bruno@clisp.org>
64733             Eric Blake  <ebb9@byu.net>
64734
64735         * lib/lseek.c: Include <sys/stat.h>.
64736         (rpl_lseek): Add workaround code also for Unix platforms.
64737         Needed for BeOS.
64738         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
64739         * doc/functions/lseek.texi: Document BeOS definiency.
64740
64741 2007-08-18  Bruno Haible  <bruno@clisp.org>
64742
64743         * modules/fstrcmp-tests: New file.
64744         * tests/test-fstrcmp.c: New file.
64745
64746 2007-08-18  Bruno Haible  <bruno@clisp.org>
64747
64748         * modules/fstrcmp: New file, from GNU gettext with modifications.
64749         * lib/fstrcmp.h: New file, from GNU gettext.
64750         * lib/fstrcmp.c: New file, from GNU gettext.
64751         * MODULES.html.sh (String handling): Add fstrcmp.
64752
64753 2007-08-18  Bruno Haible  <bruno@clisp.org>
64754
64755         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
64756         'bool'.
64757         (diag, compareseq): Remove const from the ctxt argument.
64758         (USE_HEURISTIC): Undefine at the end.
64759
64760 2007-08-18  Jim Meyering  <jim@meyering.net>
64761
64762         New file: lib/idcache.h
64763         * NEWS: Mention the addition.
64764         * modules/idcache (Files): Add lib/idcache.h
64765         * lib/idcache.c: Include "idcache.h".
64766         Don't include <sys/types.h>.
64767         Add a FIXME comment.
64768         Move file-scoped "static" declarations to the top.
64769         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
64770
64771 2007-08-17  Bruno Haible  <bruno@clisp.org>
64772         and Paul Eggert  <eggert@cs.ucla.edu>
64773
64774         * MODULES.html.sh: Add diffseq.
64775         * modules/diffseq: New file.
64776         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
64777         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
64778
64779 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64780
64781         Import changes from coreutils for bootstrap script.
64782
64783         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
64784
64785         * build-aux/bootstrap (slurp): Work even in environments where
64786         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
64787         current code does not slurp files whose names start with ".", and
64788         this looks like it might be a troublesome area.
64789
64790         2007-07-11  Jim Meyering  <jim@meyering.net>
64791
64792         If there's a GPL vN copyright comment, require that N == 3.
64793
64794         2007-07-08  Jim Meyering  <jim@meyering.net>
64795
64796         Run the coreutils-specific code only if tests/Makefile.am.in exists.
64797         * build-aux/bootstrap (mam_template): Move definition out of loop.
64798
64799         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
64800
64801         * build-aux/bootstrap (symlink_to_dir): Rename function from
64802         symlink_to_gnulib.  Add a directory parameter.  Update all
64803         callers.
64804         (cp_mark_as_generated): Also check for -- and link to -- files in
64805         gl/.
64806
64807         2007-07-08  Jim Meyering  <jim@meyering.net>
64808
64809         Adapt to deeper hierarchy in gnulib.
64810         * build-aux/bootstrap (symlink_to_dir): If the destination
64811         directory doesn't exist, create it. This is required at least for
64812         "lib/uniwidth/cjk.h".
64813
64814         2007-05-15  Jim Meyering  <jim@meyering.net>
64815
64816         * build-aux/bootstrap: Now that generated Makefile.am files
64817         are no longer under version control, they must be created at
64818         bootstrap time.
64819
64820 2007-08-14  Ben Pfaff  <blp@gnu.org>
64821
64822         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
64823
64824 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64825
64826         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
64827         given the changes below.
64828         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
64829         even on hosts that have padding bits beyond the supported 64.
64830
64831 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64832
64833         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
64834         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
64835         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
64836         depends on it.
64837         (xstrtol_error): Remove.
64838         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
64839         but with a different signature.
64840         (ATTRIBUTE_NORETURN, __attribute__): New macros.
64841         * lib/xstrtol-error.c: Include exitfail.h.
64842         (xstrtol_fatal): New function, with a different signature from the
64843         old xstrtol_error, so that the caller need not worry about passing
64844         in an exit status, or about storage management of the option argument.
64845         (xstrtol_error): Now a static function.  Redo signature to
64846         implement xstrtol_fatal.  Output the correct number of hyphens in
64847         front of the option so that the caller need not worry about
64848         storage management.
64849         (N_): New macro.
64850         (_): Remove; not used now.
64851         * modules/xstrtol: Depend on getopt.
64852         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
64853         of old STRTOL_FATAL_ERROR macro.
64854         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
64855         of test program.
64856         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
64857         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
64858
64859 2007-08-08  Eric Blake  <ebb9@byu.net>
64860
64861         * lib/xstrtol-error.c: Add missing include.
64862
64863         Move xstrtol messages into gnulib domain, when --pobase is used.
64864         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
64865         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
64866         * modules/xstrtol (Files): Distribute new file.
64867         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
64868         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
64869         * tests/test-xstrtol.c: ...into new file.
64870         * tests/test-xstrtoul.c: Also test xstrtoul.
64871         * tests/test-xstrtoimax.c: Also test xstrtoimax.
64872         * tests/test-xstrtoumax.c: Also test xstrtoumax.
64873         * tests/test-xstrtol.sh: Drive the tests.
64874         * tests/test-xstrtoimax.sh: Likewise.
64875         * tests/test-xstrtoumax.sh: Likewise.
64876         * modules/xstrtol-tests: New module.
64877         * modules/xstrtoimax-tests: Likewise.
64878         * modules/xstrtoumax-tests: Likewise.
64879
64880 2007-08-08  Jim Meyering  <jim@meyering.net>
64881
64882         New function: mfile_name_concat.
64883         * lib/filenamecat.c (mfile_name_concat): New function, just like
64884         file_name_concat, but return NULL upon failure rather than exiting
64885         with a diagnostic.
64886         * lib/filenamecat.h: Declare it.
64887
64888 2007-08-07  Bruno Haible  <bruno@clisp.org>
64889
64890         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
64891         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
64892         warning from gcc.
64893         Reported by Eric Blake.
64894
64895 2007-08-07  Simon Josefsson  <simon@josefsson.org>
64896
64897         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
64898         * modules/crypto/arcfour (License): Likewise.
64899         * modules/crypto/des-tests (License): Likewise.
64900         * modules/crypto/gc-arctwo-tests (License): Likewise.
64901         * modules/crypto/gc-des-tests (License): Likewise.
64902         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
64903         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
64904         * modules/crypto/gc-md2-tests (License): Likewise.
64905         * modules/crypto/gc-md4-tests (License): Likewise.
64906         * modules/crypto/gc-md5-tests (License): Likewise.
64907         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
64908         * modules/crypto/gc-rijndael-tests (License): Likewise.
64909         * modules/crypto/gc-sha1-tests (License): Likewise.
64910         * modules/crypto/gc-tests (License): Likewise.
64911         * modules/crypto/hmac-md5 (License): Likewise.
64912         * modules/crypto/hmac-sha1 (License): Likewise.
64913         * modules/crypto/md2-tests (License): Likewise.
64914         * modules/crypto/md4-tests (License): Likewise.
64915         * modules/crypto/md5 (License): Likewise.
64916         * modules/crypto/rijndael (License): Likewise.
64917         * modules/crypto/sha1 (License): Likewise.
64918         * modules/memxor (License): Likewise.
64919
64920 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64921         and Bruno Haible  <bruno@clisp.org>
64922
64923         * NEWS: Describe interface changes to human, xstrtol.
64924         * lib/human.h: Include <xstrtol.h>.
64925         (human_options): Return enum strtol_error, not int.  Remove
64926         bool arg; take int * instead.
64927         * lib/human.c: Don't include "gettext.h".
64928         (_): Remove; no longer used.
64929         Don't include <xstrtol.h>, since human.h does it.
64930         (human_options): Adjust to abovementioned interface changes.
64931         Do not report error to stderr; that's now the caller's
64932         responsibility.
64933         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
64934         interface change.
64935         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
64936         Str, Argument_type_string.  All uses changed.  Put " argument"
64937         in diagnostics to make them clearer.  Change wording of suffix
64938         message for clarity.
64939         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
64940         Argument_type_string.
64941         (STRTOL_FATAL_WARN): Remove; no longer used.
64942         * modules/human (Depends-on): Remove gettext-h.
64943
64944 2007-08-06  Simon Josefsson  <simon@josefsson.org>
64945
64946         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
64947
64948 2007-07-31  Bruno Haible  <bruno@clisp.org>
64949
64950         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
64951         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
64952         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
64953
64954 2007-07-31  Bruno Haible  <bruno@clisp.org>
64955
64956         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
64957         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
64958
64959 2007-07-30  Bruno Haible  <bruno@clisp.org>
64960
64961         * modules/base64 (License): Use the synonymous term "LGPLv2+".
64962         * modules/c-ctype (License): Likewise.
64963         * modules/c-strcase (License): Likewise.
64964         * modules/check-version (License): Likewise.
64965         * modules/iconv (License): Likewise.
64966         * modules/iconv_open (License): Likewise.
64967         * modules/read-file (License): Likewise.
64968         * modules/striconv (License): Likewise.
64969         * modules/strverscmp (License): Likewise.
64970         * modules/vasprintf (License): Likewise.
64971         * modules/crypto/des (License): Likewise.
64972         * modules/crypto/gc (License): Likewise.
64973         * modules/crypto/gc-arcfour (License): Likewise.
64974         * modules/crypto/gc-arctwo (License): Likewise.
64975         * modules/crypto/gc-des (License): Likewise.
64976         * modules/crypto/gc-hmac-md5 (License): Likewise.
64977         * modules/crypto/gc-hmac-sha1 (License): Likewise.
64978         * modules/crypto/gc-md2 (License): Likewise.
64979         * modules/crypto/gc-md4 (License): Likewise.
64980         * modules/crypto/gc-md5 (License): Likewise.
64981         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
64982         * modules/crypto/gc-random (License): Likewise.
64983         * modules/crypto/gc-rijndael (License): Likewise.
64984         * modules/crypto/gc-sha1 (License): Likewise.
64985         * modules/crypto/md2 (License): Likewise.
64986         * modules/crypto/md4 (License): Likewise.
64987
64988 2007-07-30  Jim Meyering  <jim@meyering.net>
64989
64990         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
64991         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
64992         it has valid stat data.  This bug would cause du not to count the
64993         sizes of inaccessible directories.
64994         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
64995         in <http://bugzilla.redhat.com/250077>.
64996
64997 2007-07-25  Peter O'Gorman  <peter@pogma.com>
64998             Bruno Haible  <bruno@clisp.org>
64999
65000         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
65001         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
65002         #include_next, gives a diagnostic about it, but reports no error in
65003         the exit code.
65004         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
65005
65006 2007-07-24  Ben Pfaff  <blp@gnu.org>
65007
65008         Improve name: "count-one-bits" is better than "popcount".
65009         * MODULES.html.sh: Update name.
65010         * lib/popcount.h: Renamed lib/count-one-bits.h.
65011         (popcount): Renamed count_one_bits.
65012         (popcountl): Renamed count_one_bits_l.
65013         (popcountll): Renamed count_one_bits_ll.
65014         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
65015         * modules/popcount: Renamed module/count-one-bits.
65016         * modules/popcount-tests: Renamed module/count-one-bits-tests.
65017         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
65018
65019 2007-07-23  Ben Pfaff  <blp@gnu.org>
65020
65021         * lib/popcount.h (popcount32): Reduce size of constants, to allow
65022         better code generation, and add U to large constants to avoid
65023         warnings, in non-GCC case.
65024         Suggested by Bruno Haible.
65025
65026 2007-07-23  Ben Pfaff  <blp@gnu.org>
65027
65028         * lib/popcount.h: Use verify_true instead of if...abort.
65029         * modules/popcount: Depend on verify module.
65030         Suggested by Jim Meyering.
65031
65032 2007-07-23  Bruno Haible  <bruno@clisp.org>
65033
65034         * gnulib-tool (func_import): Create a .cvsignore file also when the
65035         directory is not yet in CVS but the toplevel directory is. When
65036         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
65037         Reported by Karl Berry.
65038
65039 2007-07-22  Ben Pfaff  <blp@gnu.org>
65040
65041         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
65042         case.
65043         Suggested by Eric Blake.
65044
65045 2007-07-22  Ben Pfaff  <blp@gnu.org>
65046
65047         New module: popcount.
65048         * MODULES.html.sh: Add popcount.
65049         * modules/popcount: New file.
65050         * modules/popcount-tests: New file.
65051         * tests/test-popcount.c: New file.
65052         * lib/popcount.h: New file.
65053         * m4/popcount.m4: New file.
65054
65055 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65056
65057         * build-aux/announce-gen: Update to GPLv3.
65058
65059         * build-aux/config.guess: Update from config.
65060
65061 2007-07-21  Bruno Haible  <bruno@clisp.org>
65062
65063         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
65064         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
65065
65066 2007-07-20  Jim Meyering  <jim@meyering.net>
65067
65068         * check-module: Diagnose a self-dependency.
65069
65070 2007-07-19  Bruno Haible  <bruno@clisp.org>
65071
65072         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
65073         empty.
65074         Reported by Eric Blake.
65075
65076 2007-07-18  Bruno Haible  <bruno@clisp.org>
65077
65078         * gnulib-tool: New options --po-base, --po-domain.
65079         (func_usage): Document them.
65080         (pobase, po_domain): New variables.
65081         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
65082         DEFAULT_TEXT_DOMAIN.
65083         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
65084         (func_import): Consider pobase and po_domain. Create a po/ directory.
65085         (func_create_testdir): Set pobase and po_domain to empty.
65086         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
65087         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
65088
65089 2007-07-18  Bruno Haible  <bruno@clisp.org>
65090
65091         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65092         EXTRA_DIST augmentation for files in build-aux/.
65093
65094 2007-07-16  Bruno Haible  <bruno@clisp.org>
65095
65096         * modules/lseek (License): Use the synonymous term "LGPLv2+".
65097         * modules/getdelim (License): Likewise.
65098
65099 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65100
65101         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
65102         * modules/d-type (License): Likewise.
65103         * modules/extensions (License): Likewise.
65104         * modules/fnmatch (License): Likewise.
65105         * modules/fseeko (License): Likewise.
65106         * modules/getaddrinfo (License): Likewise.
65107         * modules/getline (License): Likewise.
65108         * modules/getlogin_r (License): Likewise.
65109         * modules/getpass (License): Likewise.
65110         * modules/gettimeofday (License): Likewise.
65111         * modules/glob (License): Likewise.
65112         * modules/inet_ntop (License): Likewise.
65113         * modules/malloc (License): Likewise.
65114         * modules/malloca (License): Likewise.
65115         * modules/memmem (License): Likewise.
65116         * modules/mempcpy (License): Likewise.
65117         * modules/memset (License): Likewise.
65118         * modules/minmax (License): Likewise.
65119         * modules/mktime (License): Likewise.
65120         * modules/netinet_in (License): Likewise.
65121         * modules/pathmax (License): Likewise.
65122         * modules/poll (License): Likewise.
65123         * modules/regex (License): Likewise.
65124         * modules/snprintf (License): Likewise.
65125         * modules/stdbool (License): Likewise.
65126         * modules/stdint (License): Likewise.
65127         * modules/stdio (License): Likewise.
65128         * modules/strcase (License): Likewise.
65129         * modules/strcasestr (License): Likewise.
65130         * modules/strdup (License): Likewise.
65131         * modules/string (License): Likewise.
65132         * modules/strndup (License): Likewise.
65133         * modules/strnlen (License): Likewise.
65134         * modules/strpbrk (License): Likewise.
65135         * modules/strptime (License): Likewise.
65136         * modules/strsep (License): Likewise.
65137         * modules/sys_select (License): Likewise.
65138         * modules/sys_socket (License): Likewise.
65139         * modules/sys_stat (License): Likewise.
65140         * modules/sys_time (License): Likewise.
65141         * modules/time (License): Likewise.
65142         * modules/time_r (License): Likewise.
65143         * modules/timegm (License): Likewise.
65144         * modules/unistd (License): Likewise.
65145         * modules/vsnprintf (License): Likewise.
65146         * modules/wctype (License): Likewise.
65147
65148 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65149
65150         * modules/argz (License): LGPLv2+.
65151
65152 2007-07-15  Karl Berry  <karl@gnu.org>
65153
65154         * doc/gnulib.texi: revise node structure per new fdl.texi.
65155
65156 2007-07-14  Bruno Haible  <bruno@clisp.org>
65157
65158         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
65159         the output file.
65160         * lib/uniname/uninames.h: Regenerated.
65161
65162 2007-07-14  Karl Berry  <karl@gnu.org>
65163
65164         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
65165         omitting sectioning and index commands.
65166
65167 2007-07-13  Bruno Haible  <bruno@clisp.org>
65168
65169         New gnulib-tool option --more-symlinks.
65170         * gnulib-tool (func_usage): Document --more-symlinks.
65171         (do_copyrights): New variable.
65172         Recognize option --more-symlinks.
65173         (func_import): Don't add a copyright notice transform to
65174         sed_transform_lib_file if do_copyrights is empty.
65175
65176 2007-07-13  Bruno Haible  <bruno@clisp.org>
65177
65178         * lib/vasnprintf.c (decimal_point_char): Define also if
65179         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
65180         && !NEED_PRINTF_DIRECTIVE_A.
65181         Reported by Clemens Koller <clemens.koller@anagramm.de> via
65182         Gary V. Vaughan <gary@gnu.org>.
65183
65184 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
65185
65186         * lib/inttypes_.h: Undo previous change, since it was fixed
65187         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
65188
65189 2007-07-13  Bruno Haible  <bruno@clisp.org>
65190
65191         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
65192         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
65193
65194 2007-07-13  Jim Meyering  <jim@meyering.net>
65195
65196         df: Don't fail for Tru64's "file-on-file mount".
65197         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
65198         so we fall through and use statfs instead.  Details here:
65199         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
65200         Reported by Albert Chin.
65201
65202 2007-07-13  Bruno Haible  <bruno@clisp.org>
65203
65204         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
65205         * modules/configmake (License): Likewise.
65206         * modules/gettext (License): Likewise.
65207         * modules/gettext-h (License): Likewise.
65208         * modules/include_next (License): Likewise.
65209         * modules/link-warning (License): Likewise.
65210         * modules/localcharset (License): Likewise.
65211         * modules/localename (License): Likewise.
65212         * modules/lock (License): Likewise.
65213         * modules/relocatable-lib-lgpl (License): Likewise.
65214         * modules/size_max (License): Likewise.
65215         * modules/vasnprintf (License): Likewise.
65216         * modules/wchar (License): Likewise.
65217         * modules/xsize (License): Likewise.
65218
65219 2007-07-13  Bruno Haible  <bruno@clisp.org>
65220
65221         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
65222         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
65223
65224 2007-07-12  Bruno Haible  <bruno@clisp.org>
65225
65226         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
65227         in the modules files.
65228
65229 2007-07-11  Karl Berry  <karl@gnu.org>
65230
65231         * MODULES.html.sh (func_module): use
65232          sed -e '\|^'"${includefile}"'$|d'
65233          instead of /.../d, to avoid errors on $includefile's containing /.
65234
65235 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65236
65237         * gnulib-tool (func_import): Avoid duplication of --avoid
65238         statements
65239         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
65240         names to `_' in variable names.
65241
65242 2007-07-10  Eric Blake  <ebb9@byu.net>
65243
65244         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
65245         * NEWS: Document this change.
65246
65247 2007-07-08  Bruno Haible  <bruno@clisp.org>
65248
65249         Update to Unicode 5.0.
65250         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
65251         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
65252         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
65253         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
65254         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
65255         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
65256         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
65257         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
65258         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
65259         U+10A3F, U+1D242..U+1D244.
65260         (nonspacing_table_ind): Update.
65261         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
65262         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
65263
65264 2007-07-08  Bruno Haible  <bruno@clisp.org>
65265
65266         Update to Unicode 5.0.
65267         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
65268         code transform. Extend the name index field of unicode_name_to_code and
65269         unicode_code_to_name from 16 to 24 bits.
65270         * lib/uniname/uniname.c (unicode_character_name,
65271         unicode_name_character): Add the range 0x12xxx to the code transform.
65272         * lib/uniname/uninames.h: Regenerated.
65273         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
65274
65275 2007-07-07  Bruno Haible  <bruno@clisp.org>
65276
65277         * modules/wcwidth-tests: New file.
65278         * tests/test-wcwidth.c: New file.
65279
65280         Work around MacOS X wcwidth() bug.
65281         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
65282         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
65283         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
65284         original wcwidth in non-UTF-8 locales.
65285         * modules/wcwidth (Depends-on): Add localcharset, streq,
65286         uniwidth/width.
65287         * doc/functions/wcwidth.texi: Update.
65288
65289 2007-07-07  Bruno Haible  <bruno@clisp.org>
65290
65291         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
65292         (wcwidth): New declaration.
65293         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
65294         macros.
65295         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
65296         here. Prepare for creating <wchar.h> unconditionally.
65297         * modules/wchar (Depends-on): Add link-warning.
65298         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
65299         REPLACE_WCWIDTH, and GL_LINK_WARNING.
65300         * lib/wcwidth.h: Remove file.
65301         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
65302         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
65303         * modules/wcwidth (Files): Remove lib/wcwidth.h.
65304         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
65305         (Include): Replace wcwidth.h with <wchar.h>.
65306         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
65307         * lib/mbchar.h: Don't include wcwidth.h.
65308         * lib/mbswidth.c: Likewise.
65309         * NEWS: Mention the change.
65310
65311 2007-07-07  Bruno Haible  <bruno@clisp.org>
65312
65313         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
65314         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
65315         definition with an external declaration.
65316         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
65317         defined as a function. Remove AC_C_INLINE requirement.
65318         * modules/wcwidth (Files): Add lib/wcwidth.c.
65319         (Makefile.am): Remove redundant statement.
65320
65321 2007-07-07  Bruno Haible  <bruno@clisp.org>
65322
65323         * MODULES.html.sh (Unicode string functions): Add the new modules.
65324
65325         * tests/uniwidth/test-u32-strwidth.c: New file.
65326         * modules/uniwidth/u32-strwidth-tests: New file.
65327
65328         * lib/uniwidth/u32-strwidth.c: New file.
65329         * modules/uniwidth/u32-strwidth: New file.
65330
65331         * tests/uniwidth/test-u16-strwidth.c: New file.
65332         * modules/uniwidth/u16-strwidth-tests: New file.
65333
65334         * lib/uniwidth/u16-strwidth.c: New file.
65335         * modules/uniwidth/u16-strwidth: New file.
65336
65337         * tests/uniwidth/test-u8-strwidth.c: New file.
65338         * modules/uniwidth/u8-strwidth-tests: New file.
65339
65340         * lib/uniwidth/u8-strwidth.c: New file.
65341         * modules/uniwidth/u8-strwidth: New file.
65342
65343         * tests/uniwidth/test-u32-width.c: New file.
65344         * modules/uniwidth/u32-width-tests: New file.
65345
65346         * lib/uniwidth/u32-width.c: New file.
65347         * modules/uniwidth/u32-width: New file.
65348
65349         * tests/uniwidth/test-u16-width.c: New file.
65350         * modules/uniwidth/u16-width-tests: New file.
65351
65352         * lib/uniwidth/u16-width.c: New file.
65353         * modules/uniwidth/u16-width: New file.
65354
65355         * tests/uniwidth/test-u8-width.c: New file.
65356         * modules/uniwidth/u8-width-tests: New file.
65357
65358         * lib/uniwidth/u8-width.c: New file.
65359         * modules/uniwidth/u8-width: New file.
65360
65361         * tests/uniwidth/test-uc_width.c: New file.
65362         * modules/uniwidth/width-tests: New file.
65363
65364         * lib/uniwidth/width.c: New file, from GNU libiconv.
65365         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
65366         * modules/uniwidth/width: New file.
65367
65368         * lib/uniwidth.h: New file, from GNU libiconv.
65369         * modules/uniwidth/base: New file.
65370
65371 2007-07-07  Bruno Haible  <bruno@clisp.org>
65372
65373         * lib/uniname.h: New file, from GNU gettext.
65374         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
65375         * lib/uniname/uninames.h: New file, from GNU gettext.
65376         * lib/uniname/uniname.c: New file, from GNU gettext.
65377         * tests/uniname/test-uninames.sh: New file.
65378         * tests/uniname/test-uninames.c: New file, from GNU gettext.
65379         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
65380         * modules/uniname/base: New file.
65381         * modules/uniname/uniname: New file.
65382         * modules/uniname/uniname-tests: New file.
65383         * MODULES.html.sh (Unicode string functions): Add the new modules.
65384
65385 2007-07-06  Bruno Haible  <bruno@clisp.org>
65386
65387         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
65388
65389 2007-07-06  Bruno Haible  <bruno@clisp.org>
65390
65391         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
65392         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
65393         includes <cygwin/sys_time.h> which includes <sys/select.h> which
65394         include <sys/time.h>.
65395         Reported by Eric Blake.
65396
65397 2007-07-06  Eric Blake  <ebb9@byu.net>
65398
65399         Fix testing canonicalize on cygwin.
65400         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65401         Revert patch from 2007-06-19.
65402         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
65403         canonicalize module is also in use.
65404         * tests/test-canonicalize.c: New file.
65405         * tests/test-canonicalize.sh: Likewise.
65406         * modules/canonicalize-tests: Likewise.
65407
65408 2007-07-06  Jim Meyering  <jim@meyering.net>
65409
65410         * lib/getugroups.c (getugroups): Detect getgrent failure.
65411         Adjust comment to reflect reality: this function may return -1.
65412
65413 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
65414
65415         * build-aux/bootstrap (TP_URL,get_translations): Update to use
65416         the new TP address.
65417         (usage): Fix typo
65418         (gnulib_mk): New variable.
65419
65420 2007-07-05  Jim Meyering  <jim@meyering.net>
65421
65422         Don't let endgrent clobber errno, no matter how improbable.
65423         * lib/getugroups.c (getugroups): Save and restore errno around
65424         endgrent call.
65425
65426         Close the group DB even when failing with 2^31 or more members.
65427         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
65428
65429 2007-07-04  Jim Meyering  <jim@meyering.net>
65430
65431         * lib/getugroups.h: New file.
65432         * lib/getugroups.c: Include "getugroups.h".
65433         Remove uses of "register" keyword.
65434         Move local variable, "cp", down into scope where used.
65435         Give "username" parameter the "const" attribute.
65436         * modules/getugroups (Files): Add lib/getugroups.h
65437
65438 2007-07-04  Karl Berry  <karl@gnu.org>
65439
65440         * MODULES.html.sh (func_all_modules): Complete rename of
65441         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
65442
65443 2007-07-02  Bruno Haible  <bruno@clisp.org>
65444
65445         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
65446         mode, when inttypes.h comes from gnulib.
65447         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65448
65449 2007-07-02  Simon Josefsson  <simon@josefsson.org>
65450
65451         * NEWS: Mention lgpl module name change.
65452
65453         * modules/lgpl-2.1: Renamed from lgpl.
65454
65455         * NEWS: Mention gpl module name change.
65456
65457         * modules/gpl-3.0: New file, based on gpl-2.0.
65458
65459         * modules/gpl-2.0: Renamed from gpl.
65460
65461         * modules/gpl: Fix filename, doc/gpl.texi is now found at
65462         doc/gpl-2.0.texi.
65463
65464 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
65465
65466         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
65467         #define __STDC_LIMIT_MACROS temporarily while including
65468         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
65469         Problem reported by Joel E. Denny in
65470         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
65471
65472 2007-07-01  Bruno Haible  <bruno@clisp.org>
65473
65474         * lib/unistdio.h: New file.
65475         * lib/unistdio/u-asnprintf.h: New file.
65476         * lib/unistdio/u-asprintf.h: New file.
65477         * lib/unistdio/u-printf-args.c: New file.
65478         * lib/unistdio/u-printf-args.h: New file.
65479         * lib/unistdio/u-printf-parse.h: New file.
65480         * lib/unistdio/u-snprintf.h: New file.
65481         * lib/unistdio/u-sprintf.h: New file.
65482         * lib/unistdio/u-vasprintf.h: New file.
65483         * lib/unistdio/u-vsnprintf.h: New file.
65484         * lib/unistdio/u-vsprintf.h: New file.
65485         * lib/unistdio/ulc-asnprintf.c: New file.
65486         * lib/unistdio/ulc-asprintf.c: New file.
65487         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
65488         * lib/unistdio/ulc-printf-parse.c: New file.
65489         * lib/unistdio/ulc-snprintf.c: New file.
65490         * lib/unistdio/ulc-sprintf.c: New file.
65491         * lib/unistdio/ulc-vasnprintf.c: New file.
65492         * lib/unistdio/ulc-vasprintf.c: New file.
65493         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
65494         * lib/unistdio/ulc-vsnprintf.c: New file.
65495         * lib/unistdio/ulc-vsprintf.c: New file.
65496         * lib/unistdio/u8-asnprintf.c: New file.
65497         * lib/unistdio/u8-asprintf.c: New file.
65498         * lib/unistdio/u8-printf-parse.c: New file.
65499         * lib/unistdio/u8-snprintf.c: New file.
65500         * lib/unistdio/u8-sprintf.c: New file.
65501         * lib/unistdio/u8-vasnprintf.c: New file.
65502         * lib/unistdio/u8-vasprintf.c: New file.
65503         * lib/unistdio/u8-vsnprintf.c: New file.
65504         * lib/unistdio/u8-vsprintf.c: New file.
65505         * lib/unistdio/u8-u8-asnprintf.c: New file.
65506         * lib/unistdio/u8-u8-asprintf.c: New file.
65507         * lib/unistdio/u8-u8-snprintf.c: New file.
65508         * lib/unistdio/u8-u8-sprintf.c: New file.
65509         * lib/unistdio/u8-u8-vasnprintf.c: New file.
65510         * lib/unistdio/u8-u8-vasprintf.c: New file.
65511         * lib/unistdio/u8-u8-vsnprintf.c: New file.
65512         * lib/unistdio/u8-u8-vsprintf.c: New file.
65513         * lib/unistdio/u16-asnprintf.c: New file.
65514         * lib/unistdio/u16-asprintf.c: New file.
65515         * lib/unistdio/u16-printf-parse.c: New file.
65516         * lib/unistdio/u16-snprintf.c: New file.
65517         * lib/unistdio/u16-sprintf.c: New file.
65518         * lib/unistdio/u16-vasnprintf.c: New file.
65519         * lib/unistdio/u16-vasprintf.c: New file.
65520         * lib/unistdio/u16-vsnprintf.c: New file.
65521         * lib/unistdio/u16-vsprintf.c: New file.
65522         * lib/unistdio/u16-u16-asnprintf.c: New file.
65523         * lib/unistdio/u16-u16-asprintf.c: New file.
65524         * lib/unistdio/u16-u16-snprintf.c: New file.
65525         * lib/unistdio/u16-u16-sprintf.c: New file.
65526         * lib/unistdio/u16-u16-vasnprintf.c: New file.
65527         * lib/unistdio/u16-u16-vasprintf.c: New file.
65528         * lib/unistdio/u16-u16-vsnprintf.c: New file.
65529         * lib/unistdio/u16-u16-vsprintf.c: New file.
65530         * lib/unistdio/u32-asnprintf.c: New file.
65531         * lib/unistdio/u32-asprintf.c: New file.
65532         * lib/unistdio/u32-printf-parse.c: New file.
65533         * lib/unistdio/u32-snprintf.c: New file.
65534         * lib/unistdio/u32-sprintf.c: New file.
65535         * lib/unistdio/u32-vasnprintf.c: New file.
65536         * lib/unistdio/u32-vasprintf.c: New file.
65537         * lib/unistdio/u32-vsnprintf.c: New file.
65538         * lib/unistdio/u32-vsprintf.c: New file.
65539         * lib/unistdio/u32-u32-asnprintf.c: New file.
65540         * lib/unistdio/u32-u32-asprintf.c: New file.
65541         * lib/unistdio/u32-u32-snprintf.c: New file.
65542         * lib/unistdio/u32-u32-sprintf.c: New file.
65543         * lib/unistdio/u32-u32-vasnprintf.c: New file.
65544         * lib/unistdio/u32-u32-vasprintf.c: New file.
65545         * lib/unistdio/u32-u32-vsnprintf.c: New file.
65546         * lib/unistdio/u32-u32-vsprintf.c: New file.
65547         * tests/unistdio/test-ulc-asnprintf1.c: New file.
65548         * tests/unistdio/test-ulc-asnprintf1.h: New file.
65549         * tests/unistdio/test-ulc-printf1.h: New file.
65550         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
65551         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
65552         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
65553         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
65554         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
65555         * tests/unistdio/test-ulc-vasprintf1.c: New file.
65556         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
65557         * tests/unistdio/test-ulc-vsprintf1.c: New file.
65558         * tests/unistdio/test-u8-asnprintf1.c: New file.
65559         * tests/unistdio/test-u8-asnprintf1.h: New file.
65560         * tests/unistdio/test-u8-printf1.h: New file.
65561         * tests/unistdio/test-u8-vasnprintf1.c: New file.
65562         * tests/unistdio/test-u8-vasnprintf2.c: New file.
65563         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
65564         * tests/unistdio/test-u8-vasnprintf3.c: New file.
65565         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
65566         * tests/unistdio/test-u8-vasprintf1.c: New file.
65567         * tests/unistdio/test-u8-vsnprintf1.c: New file.
65568         * tests/unistdio/test-u8-vsprintf1.c: New file.
65569         * tests/unistdio/test-u16-asnprintf1.c: New file.
65570         * tests/unistdio/test-u16-asnprintf1.h: New file.
65571         * tests/unistdio/test-u16-printf1.h: New file.
65572         * tests/unistdio/test-u16-vasnprintf1.c: New file.
65573         * tests/unistdio/test-u16-vasnprintf2.c: New file.
65574         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
65575         * tests/unistdio/test-u16-vasnprintf3.c: New file.
65576         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
65577         * tests/unistdio/test-u16-vasprintf1.c: New file.
65578         * tests/unistdio/test-u16-vsnprintf1.c: New file.
65579         * tests/unistdio/test-u16-vsprintf1.c: New file.
65580         * tests/unistdio/test-u32-asnprintf1.c: New file.
65581         * tests/unistdio/test-u32-asnprintf1.h: New file.
65582         * tests/unistdio/test-u32-printf1.h: New file.
65583         * tests/unistdio/test-u32-vasnprintf1.c: New file.
65584         * tests/unistdio/test-u32-vasnprintf2.c: New file.
65585         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
65586         * tests/unistdio/test-u32-vasnprintf3.c: New file.
65587         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
65588         * tests/unistdio/test-u32-vasprintf1.c: New file.
65589         * tests/unistdio/test-u32-vsnprintf1.c: New file.
65590         * tests/unistdio/test-u32-vsprintf1.c: New file.
65591         * modules/unistdio/base: New file.
65592         * modules/unistdio/u-printf-args: New file.
65593         * modules/unistdio/ulc-asnprintf: New file.
65594         * modules/unistdio/ulc-asprintf: New file.
65595         * modules/unistdio/ulc-fprintf: New file.
65596         * modules/unistdio/ulc-printf-parse: New file.
65597         * modules/unistdio/ulc-snprintf: New file.
65598         * modules/unistdio/ulc-sprintf: New file.
65599         * modules/unistdio/ulc-vasnprintf: New file.
65600         * modules/unistdio/ulc-vasprintf: New file.
65601         * modules/unistdio/ulc-vfprintf: New file.
65602         * modules/unistdio/ulc-vsnprintf: New file.
65603         * modules/unistdio/ulc-vsprintf: New file.
65604         * modules/unistdio/u8-asnprintf: New file.
65605         * modules/unistdio/u8-asprintf: New file.
65606         * modules/unistdio/u8-printf-parse: New file.
65607         * modules/unistdio/u8-snprintf: New file.
65608         * modules/unistdio/u8-sprintf: New file.
65609         * modules/unistdio/u8-vasnprintf: New file.
65610         * modules/unistdio/u8-vasprintf: New file.
65611         * modules/unistdio/u8-vsnprintf: New file.
65612         * modules/unistdio/u8-vsprintf: New file.
65613         * modules/unistdio/u8-u8-asnprintf: New file.
65614         * modules/unistdio/u8-u8-asprintf: New file.
65615         * modules/unistdio/u8-u8-snprintf: New file.
65616         * modules/unistdio/u8-u8-sprintf: New file.
65617         * modules/unistdio/u8-u8-vasnprintf: New file.
65618         * modules/unistdio/u8-u8-vasprintf: New file.
65619         * modules/unistdio/u8-u8-vsnprintf: New file.
65620         * modules/unistdio/u8-u8-vsprintf: New file.
65621         * modules/unistdio/u16-asnprintf: New file.
65622         * modules/unistdio/u16-asprintf: New file.
65623         * modules/unistdio/u16-printf-parse: New file.
65624         * modules/unistdio/u16-snprintf: New file.
65625         * modules/unistdio/u16-sprintf: New file.
65626         * modules/unistdio/u16-vasnprintf: New file.
65627         * modules/unistdio/u16-vasprintf: New file.
65628         * modules/unistdio/u16-vsnprintf: New file.
65629         * modules/unistdio/u16-vsprintf: New file.
65630         * modules/unistdio/u16-u16-asnprintf: New file.
65631         * modules/unistdio/u16-u16-asprintf: New file.
65632         * modules/unistdio/u16-u16-snprintf: New file.
65633         * modules/unistdio/u16-u16-sprintf: New file.
65634         * modules/unistdio/u16-u16-vasnprintf: New file.
65635         * modules/unistdio/u16-u16-vasprintf: New file.
65636         * modules/unistdio/u16-u16-vsnprintf: New file.
65637         * modules/unistdio/u16-u16-vsprintf: New file.
65638         * modules/unistdio/u32-asnprintf: New file.
65639         * modules/unistdio/u32-asprintf: New file.
65640         * modules/unistdio/u32-printf-parse: New file.
65641         * modules/unistdio/u32-snprintf: New file.
65642         * modules/unistdio/u32-sprintf: New file.
65643         * modules/unistdio/u32-vasnprintf: New file.
65644         * modules/unistdio/u32-vasprintf: New file.
65645         * modules/unistdio/u32-vsnprintf: New file.
65646         * modules/unistdio/u32-vsprintf: New file.
65647         * modules/unistdio/u32-u32-asnprintf: New file.
65648         * modules/unistdio/u32-u32-asprintf: New file.
65649         * modules/unistdio/u32-u32-snprintf: New file.
65650         * modules/unistdio/u32-u32-sprintf: New file.
65651         * modules/unistdio/u32-u32-vasnprintf: New file.
65652         * modules/unistdio/u32-u32-vasprintf: New file.
65653         * modules/unistdio/u32-u32-vsnprintf: New file.
65654         * modules/unistdio/u32-u32-vsprintf: New file.
65655         * modules/unistdio/ulc-asnprintf-tests: New file.
65656         * modules/unistdio/ulc-vasnprintf-tests: New file.
65657         * modules/unistdio/ulc-vasprintf-tests: New file.
65658         * modules/unistdio/ulc-vsnprintf-tests: New file.
65659         * modules/unistdio/ulc-vsprintf-tests: New file.
65660         * modules/unistdio/u8-asnprintf-tests: New file.
65661         * modules/unistdio/u8-vasnprintf-tests: New file.
65662         * modules/unistdio/u8-vasprintf-tests: New file.
65663         * modules/unistdio/u8-vsnprintf-tests: New file.
65664         * modules/unistdio/u8-vsprintf-tests: New file.
65665         * modules/unistdio/u16-asnprintf-tests: New file.
65666         * modules/unistdio/u16-vasnprintf-tests: New file.
65667         * modules/unistdio/u16-vasprintf-tests: New file.
65668         * modules/unistdio/u16-vsnprintf-tests: New file.
65669         * modules/unistdio/u16-vsprintf-tests: New file.
65670         * modules/unistdio/u32-asnprintf-tests: New file.
65671         * modules/unistdio/u32-vasnprintf-tests: New file.
65672         * modules/unistdio/u32-vasprintf-tests: New file.
65673         * modules/unistdio/u32-vsnprintf-tests: New file.
65674         * modules/unistdio/u32-vsprintf-tests: New file.
65675         * MODULES.html.sh (Unicode string functions): Add the new modules.
65676
65677 2007-07-01  Bruno Haible  <bruno@clisp.org>
65678
65679         * lib/sprintf.c (sprintf): Limit the available length estimation,
65680         to avoid address wraparound.
65681         * lib/vsprintf.c (vsprintf): Likewise.
65682         * modules/sprintf-posix (Dependencies): Add stdint.
65683         * modules/vsprintf-posix (Dependencies): Likewise.
65684
65685 2007-07-01  Bruno Haible  <bruno@clisp.org>
65686
65687         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
65688         Windows PATH as well. Conservative double-quoting. Comments.
65689
65690 2007-07-01  Bruno Haible  <bruno@clisp.org>
65691             Eric Blake  <ebb9@byu.net>
65692             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65693
65694         * gnulib-tool (self_abspathname): Fix algorithm to cope with
65695         empty components in $PATH, denoting '.'.
65696
65697 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65698
65699         * gnulib-tool: Fix indentation.
65700         (func_create_megatestdir): Likewise.
65701         Report by Bruno Haible.
65702
65703 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65704
65705         Sync from Automake.
65706         * build-aux/gnupload: Fix shell portability issues with for loops.
65707         Report by Karl Berry.
65708
65709 2007-06-29  Simon Josefsson  <simon@josefsson.org>
65710
65711         * build-aux/maint.mk (POURL): Use translationproject.org.
65712
65713 2007-06-27  Simon Josefsson  <simon@josefsson.org>
65714             Bruno Haible  <bruno@clisp.org>
65715
65716         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
65717         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
65718         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
65719         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
65720         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
65721
65722 2007-06-27  Bruno Haible  <bruno@clisp.org>
65723
65724         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
65725         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
65726
65727 2007-06-26  Karl Berry  <karl@gnu.org>
65728
65729         * MODULES.html.sh: remove xreadlink-with-size.
65730
65731 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65732
65733         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
65734         method that I hope also handles the double-include problem noted
65735         by Bruno Haible in
65736         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
65737
65738 2007-06-23  Bruno Haible  <bruno@clisp.org>
65739
65740         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65741         Don't let the 'mostlyclean' target fail if the last subdirectory could
65742         not be removed.
65743         Reported by Karl Berry.
65744
65745 2007-06-23  Bruno Haible  <bruno@clisp.org>
65746
65747         * gnulib-tool (echo): Add a speedier workaround for ksh.
65748         * tests/test-echo.sh: Likewise.
65749
65750 2007-06-23  Bruno Haible  <bruno@clisp.org>
65751
65752         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
65753         * tests/test-echo.sh: Likewise.
65754
65755 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65756
65757         * gnulib-tool (IFS): Initialize early, so we don't set it to
65758         empty later.
65759         (self_abspathname): Rewrite algorithm to set it, reindent.
65760         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
65761         (func_create_megatestdir): Merge some sed scripts.
65762
65763 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65764
65765         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
65766         exposed by Sun Studio 11 cc on Solaris 8.
65767
65768 2007-06-22  Bruno Haible  <bruno@clisp.org>
65769
65770         * gnulib-tool (echo): Ensure the echo primitive does not interpret
65771         backslashes.
65772         * tests/test-echo.sh: New file.
65773
65774 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65775
65776         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
65777         simplify `sed_replace_build_aux' scripts, they are portable but
65778         echoing them with `echo' is not.
65779         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
65780
65781 2007-06-21  Karl Berry  <karl@gnu.org>
65782
65783         * config/srclist.txt: guess we can't handle the licenses via
65784         srclist at the moment.
65785
65786 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65787
65788         * MODULES.html.sh: Add include_next.
65789         * modules/include_next: New file.
65790
65791 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65792
65793         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
65794         INCLUDE_NEXT.
65795         (gl_CHECK_NEXT_HEADERS): New macro.
65796         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
65797         the obsolescent gl_ABSOLUTE_HEADER.
65798         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
65799         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
65800         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
65801         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
65802         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65803         * m4/math_h.m4 (gl_MATH_H): Likewise.
65804         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
65805         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
65806         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
65807         * m4/stdint.m4 (gl_STDINT_H): Likewise.
65808         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
65809         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
65810         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
65811         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
65812         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
65813         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
65814         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
65815         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
65816         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
65817         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
65818         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65819         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65820         * m4/inttypes.m4 (gl_INTTYPES_H): Define
65821         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
65822         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
65823         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
65824         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
65825         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
65826         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
65827         * lib/float_.h: Likewise.
65828         * lib/inttypes_.h: Likewise.
65829         * lib/math_.h: Likewise.
65830         * lib/search_.h: Likewise.
65831         * lib/signal_.h: Likewise.
65832         * lib/stdint_.h: Likewise.
65833         * lib/stdio_.h: Likewise.
65834         * lib/stdlib_.h: Likewise.
65835         * lib/string_.h: Likewise.
65836         * lib/sys_stat_.h: Likewise.
65837         * lib/sys_time_.h: Likewise.
65838         * lib/time_.h: Likewise.
65839         * lib/unistd_.h: Likewise.
65840         * lib/wchar_.h: Likewise.
65841         * lib/wctype_.h: Likewise.
65842         * lib/dirent_.h: Likewise.
65843         * lib/iconv_.h: Likewise.
65844         * lib/locale_.h: Likewise.
65845         * lib/netinet_in_.h: Likewise.
65846         * lib/sys_select_.h: Likewise.
65847         * lib/sys_socket_.h: Likewise.
65848         * lib/sysexits_.h: Likewise.
65849         * modules/fcntl (Depends-on): Depend on include_next, not
65850         absolute_header.
65851         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
65852         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
65853         * modules/fchdir: Likewise.
65854         * modules/float: Likewise.
65855         * modules/iconv_open: Likewise.
65856         * modules/inttypes: Likewise.
65857         * modules/locale: Likewise.
65858         * modules/math: Likewise.
65859         * modules/netinet_in: Likewise.
65860         * modules/search: Likewise.
65861         * modules/signal: Likewise.
65862         * modules/stdint: Likewise.
65863         * modules/stdio: Likewise.
65864         * modules/stdlib: Likewise.
65865         * modules/string: Likewise.
65866         * modules/sys_select: Likewise.
65867         * modules/sys_socket: Likewise.
65868         * modules/sys_stat: Likewise.
65869         * modules/sys_time: Likewise.
65870         * modules/sysexits: Likewise.
65871         * modules/time: Likewise.
65872         * modules/unistd: Likewise.
65873         * modules/wchar: Likewise.
65874         * modules/wctype: Likewise.
65875         * modules/sys_stat: Change maintainer to "all".
65876         * modules/unistd: Likewise.
65877
65878 2007-06-20  Karl Berry  <karl@gnu.org>
65879
65880         * config/srclist.txt: track www changes in license files.
65881
65882 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
65883
65884         * build-aux/bootstrap: Remove stray dot.
65885         Make sure build_aux settings are honored when linking
65886         gnulib_extra_files.
65887
65888 2007-06-19  Eric Blake  <ebb9@byu.net>
65889
65890         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65891         Allow compilation on cygwin.
65892
65893 2007-06-19  Jim Meyering  <jim@meyering.net>
65894
65895         xreadlink-with-size: Remove module.  No longer used.
65896         Ex-callers now use xreadlink or mreadlink-with-size.
65897         * modules/xreadlink-with-size: Remove module.
65898         * lib/xreadlink-with-size.c: Remove file.
65899         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
65900         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
65901         just before the function definition *is* accurate.
65902
65903         Eliminate one way canonicalize_filename_mode could exit.
65904         * lib/canonicalize.c (canonicalize_filename_mode):
65905         Use mreadlink_with_size, not xreadlink_with_size.
65906
65907 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
65908
65909         Detect porting problems to FreeBSD/arm, which has time_t wider than
65910         long int.  Original problem reported for GNU diff by Xin Li in
65911         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
65912         * modules/getdate (Depends-on): Add intprops, verify.
65913         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
65914         is an integer type no wider than long int.
65915
65916 2007-06-18  Jim Meyering  <jim@meyering.net>
65917
65918         New module: mreadlink-with-size.
65919         * MODULES.html.sh: Add mreadlink-with-size.
65920         * modules/mreadlink-with-size: New module
65921         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
65922         not xreadlink-with-size.
65923         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
65924
65925 2007-06-16  Bruno Haible  <bruno@clisp.org>
65926
65927         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
65928         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
65929         Reported by Gary V. Vaughan <gary@gnu.org>.
65930
65931 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
65932
65933         Revamp lchown so that it lives in unistd.h where it belongs.
65934         * lib/lchown.h: Remove.
65935         * lib/dirchownmod.c: Don't include lib/lchown.h.
65936         * lib/fchownat.c: Likewise.
65937         * lib/openat.c: Likewise.
65938         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
65939         does not follow symlinks.
65940         (EOPNOTSUPP): Define if not defined.
65941         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
65942         is defined to 0.
65943         (lchown): New decl.
65944         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
65945         Do not check for lchown decl.
65946         Set REPLACE_LCHOWN.
65947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
65948         REPLACE_LCHOWN.
65949         * modules/chown: Make it clear it follows symlinks.
65950         * modules/lchown: Make it clear it doesn't follow symlinks.
65951         (Files): Remove lib/lchown.h
65952         (Depends-on): Add unistd.
65953         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
65954         (Include): Include <unistd.h>, not "lchown.h".
65955         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
65956         REPLACE_LCHOWN.
65957
65958 2007-06-15  Jim Meyering  <jim@meyering.net>
65959
65960         Change license (GPL to LGPL) of fsusage and dependents.
65961         * modules/fsusage (License): Change to LGPL.
65962         * modules/full-read (License): Likewise.
65963         * modules/full-write (License): Likewise.
65964         * modules/safe-read (License): Likewise.
65965         * modules/safe-write (License): Likewise.
65966
65967 2007-06-14  Ben Pfaff  <blp@gnu.org>
65968
65969         Missing part of allocsa -> malloca transition.
65970         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
65971         gl_MALLOCA.
65972
65973 2007-06-12  Bruno Haible  <bruno@clisp.org>
65974
65975         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
65976         to ia64, x86_64, i386.
65977         Reported by Eric Blake.
65978
65979 2007-06-12  Bruno Haible  <bruno@clisp.org>
65980
65981         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
65982         cross-compiling to x86_64.
65983
65984 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
65985
65986         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
65987         glitch reported by Ralf Wildenhues in
65988         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
65989
65990         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
65991         Vin Shelton.
65992
65993 2007-06-11  Bruno Haible  <bruno@clisp.org>
65994
65995         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
65996         replacement string.
65997         Reported by Eric Blake.
65998
65999 2007-06-10  Bruno Haible  <bruno@clisp.org>
66000
66001         Prepare vasnprintf code for use with Unicode strings.
66002         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
66003         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
66004         TYPE_U32_STRING.
66005         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
66006         a_u32_string variants.
66007         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66008         * lib/printf-args.c: Don't include config.h and the specification
66009         header if PRINTF_FETCHARGS is already defined.
66010         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66011         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
66012         TYPE_U16_STRING, TYPE_U32_STRING.
66013         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
66014         u16_directive, u16_directives, u32_directive, u32_directives): New
66015         types.
66016         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
66017         New declarations.
66018         * lib/printf-parse.c: Don't include config.h and the specification
66019         header if PRINTF_PARSE is already defined. Eliminate the set of
66020         parameters for WIDE_CHAR_VERSION; the user of this file must provide
66021         them now. Include c-ctype.h.
66022         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
66023         directive and CHAR_T_ONLY_ASCII.
66024         * lib/vasnprintf.c: Don't include config.h and the specification header
66025         if VASNPRINTF is already defined.
66026         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
66027         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
66028         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
66029         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
66030         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
66031         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
66032         code accordingly.
66033         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
66034         pad_ourselves also in this case, with the 'c' and 's' directives, and
66035         with a different notion of "width".
66036         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
66037
66038 2007-06-10  Bruno Haible  <bruno@clisp.org>
66039
66040         * modules/unistr/u32-mbsnlen: New file.
66041         * lib/unistr/u32-mbsnlen.c: New file.
66042
66043         * modules/unistr/u16-mbsnlen: New file.
66044         * lib/unistr/u16-mbsnlen.c: New file.
66045
66046         * modules/unistr/u8-mbsnlen: New file.
66047         * lib/unistr/u8-mbsnlen.c: New file.
66048
66049         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
66050         declarations.
66051
66052 2007-06-10  Bruno Haible  <bruno@clisp.org>
66053
66054         * lib/string_.h (mbsnlen): New declaration.
66055         * lib/mbsnlen.c: New file.
66056         * m4/mbsnlen.m4: New file.
66057         * modules/mbsnlen: New file.
66058         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
66059         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
66060         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
66061
66062 2007-06-10  Bruno Haible  <bruno@clisp.org>
66063
66064         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
66065
66066 2007-06-10  Bruno Haible  <bruno@clisp.org>
66067
66068         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
66069         * lib/mbuiter.h: Likewise.
66070
66071 2007-06-10  Bruno Haible  <bruno@clisp.org>
66072
66073         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
66074         declaration.
66075
66076 2007-06-10  Karl Berry  <karl@gnu.org>
66077
66078         * config/srclist.txt: remove gettext entries, Bruno prefers
66079         to update individually.
66080
66081 2007-06-10  Bruno Haible  <bruno@clisp.org>
66082
66083         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
66084         'maxlen'. Ensure only length + width bytes are allocated, not
66085         length + 1 + width.
66086
66087 2007-06-09  Bruno Haible  <bruno@clisp.org>
66088
66089         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
66090         (CHAR_T): Remove macro.
66091         (VASNPRINTF): Update.
66092
66093 2007-06-09  Bruno Haible  <bruno@clisp.org>
66094
66095         * MODULES.html.sh (Unicode string functions): Add the new modules.
66096
66097         * modules/uniconv/u32-conv-to-enc: New file.
66098         * lib/uniconv/u32-conv-to-enc.c: New file.
66099         * modules/uniconv/u32-conv-to-enc-tests: New file.
66100         * tests/uniconv/test-u32-conv-to-enc.c: New file.
66101
66102         * modules/uniconv/u16-conv-to-enc: New file.
66103         * lib/uniconv/u16-conv-to-enc.c: New file.
66104         * lib/uniconv/u-conv-to-enc.h: New file.
66105         * modules/uniconv/u16-conv-to-enc-tests: New file.
66106         * tests/uniconv/test-u16-conv-to-enc.c: New file.
66107
66108         * modules/uniconv/u8-conv-to-enc: New file.
66109         * lib/uniconv/u8-conv-to-enc.c: New file.
66110         * modules/uniconv/u8-conv-to-enc-tests: New file.
66111         * tests/uniconv/test-u8-conv-to-enc.c: New file.
66112
66113         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66114         u32_conv_to_encoding): New declarations.
66115
66116 2007-06-09  Bruno Haible  <bruno@clisp.org>
66117
66118         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
66119
66120 2007-06-09  Bruno Haible  <bruno@clisp.org>
66121
66122         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
66123         * modules/malloca: Renamed from modules/allocsa, updated.
66124         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
66125         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
66126         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
66127         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
66128         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
66129         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
66130         * modules/xmalloca: Renamed from modules/xallocsa, updated.
66131         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
66132         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
66133         * modules/c-strcasestr (Depends-on): Update.
66134         * lib/c-strcasestr.c: Update.
66135         * modules/c-strstr (Depends-on): Update.
66136         * lib/c-strstr.c: Update.
66137         * modules/canonicalize-lgpl (Depends-on): Update.
66138         * lib/canonicalize-lgpl.c: Update.
66139         * modules/clean-temp (Depends-on): Update.
66140         * lib/clean-temp.c: Update.
66141         * modules/csharpcomp (Depends-on): Update.
66142         * lib/csharpcomp.c: Update.
66143         * modules/csharpexec (Depends-on): Update.
66144         * lib/csharpexec.c: Update.
66145         * modules/javacomp (Depends-on): Update.
66146         * lib/javacomp.c: Update.
66147         * modules/javaexec (Depends-on): Update.
66148         * lib/javaexec.c: Update.
66149         * modules/mbscasestr (Depends-on): Update.
66150         * lib/mbscasestr.c: Update.
66151         * modules/mbsstr (Depends-on): Update.
66152         * lib/mbsstr.c: Update.
66153         * modules/setenv (Depends-on): Update.
66154         * lib/setenv.c: Update.
66155         * modules/strcasestr (Depends-on): Update.
66156         * lib/strcasestr.c: Update.
66157         * modules/striconveha (Depends-on): Update.
66158         * lib/striconveha.c: Update.
66159         * modules/relocatable-prog-wrapper (Files): Update.
66160         * lib/relocwrapper.c: Update.
66161         * build-aux/install-reloc: Update.
66162         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
66163
66164 2007-06-08  Bruno Haible  <bruno@clisp.org>
66165
66166         Port to uClibc.
66167         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
66168         * lib/fpurge.c (fpurge): Likewise.
66169         * lib/freading.c (freading): Likewise.
66170         * lib/fseeko.c (rpl_fseeko): Likewise.
66171         * lib/fseterr.c (fseterr): Likewise.
66172         * lib/fwriting.c (fwriting): Likewise.
66173         * tests/test-fflush.c (main): Avoid a failure on uClibc.
66174
66175 2007-06-08  Bruno Haible  <bruno@clisp.org>
66176
66177         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
66178         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
66179         * modules/gettext (Files): Add m4/intlmacosx.m4.
66180
66181 2007-06-07  Bruno Haible  <bruno@clisp.org>
66182
66183         * modules/localename-tests: New file.
66184         * tests/test-localename.c: New file.
66185
66186         New module 'localename'.
66187         * lib/localename.h: New file.
66188         * lib/localename.c: New file, from GNU gettext.
66189         * m4/localename.m4: New file.
66190         * modules/localename: New file.
66191
66192 2007-06-07  Bruno Haible  <bruno@clisp.org>
66193
66194         Work around the lack of <wchar.h> on some builds of uClibc.
66195         * doc/headers/wchar.texi: Update.
66196         * lib/wchar_.h: Include <wchar.h> only if it exists.
66197         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
66198         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
66199         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
66200         doesn't exist.
66201         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
66202         * modules/mbfile (Depends-on): Add wchar.
66203         * modules/mbiter (Depends-on): Likewise.
66204         * modules/mbuiter (Depends-on): Likewise.
66205         Reported by Simon Josefsson.
66206
66207 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
66208
66209         Work around problem reported by Steven M. Schweda in
66210         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
66211         Tru64 5.1B with the Compaq compiler environment installed declares
66212         an 'isblank' function but does not define it in the C library.
66213         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
66214         * lib/regex_internal.h (isblank): Likewise.
66215         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
66216         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66217
66218 2007-06-05  Bruno Haible  <bruno@clisp.org>
66219
66220         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
66221         ia64.
66222         * modules/printf-safe: New file.
66223         * modules/fprintf-posix (Depends-on): Add printf-safe.
66224         * modules/printf-posix (Depends-on): Likewise.
66225         * modules/snprintf-posix (Depends-on): Likewise.
66226         * modules/sprintf-posix (Depends-on): Likewise.
66227         * modules/vasnprintf-posix (Depends-on): Likewise.
66228         * modules/vasprintf-posix (Depends-on): Likewise.
66229         * modules/vfprintf-posix (Depends-on): Likewise.
66230         * modules/vprintf-posix (Depends-on): Likewise.
66231         * modules/vsnprintf-posix (Depends-on): Likewise.
66232         * modules/vsprintf-posix (Depends-on): Likewise.
66233         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
66234         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
66235         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
66236         "no" on i386, x86_64, ia64.
66237         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
66238         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66239         on i386, x86_64, ia64.
66240         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
66241         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66242         on i386, x86_64, ia64.
66243         * tests/test-vasnprintf-posix.c: Include float.h.
66244         (LDBL80_WORDS): New macro.
66245         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66246         on i386, x86_64, ia64.
66247         * tests/test-vasprintf-posix.c: Include float.h.
66248         (LDBL80_WORDS): New macro.
66249         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66250         on i386, x86_64, ia64.
66251         * tests/test-snprintf-posix.c: Include float.h.
66252         * tests/test-sprintf-posix.c: Likewise.
66253         * tests/test-vsnprintf-posix.c: Likewise.
66254         * tests/test-vsprintf-posix.c: Likewise.
66255
66256 2007-06-05  Bruno Haible  <bruno@clisp.org>
66257
66258         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
66259         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
66260         non-IEEE numbers on i386, x86_64, ia64.
66261         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
66262         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
66263         * tests/test-isnanl.h: Include float.h.
66264         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
66265
66266 2007-06-05  Bruno Haible  <bruno@clisp.org>
66267
66268         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
66269         also the %a / %A. Handle the %a / %A code before this extra handling.
66270
66271 2007-06-05  Bruno Haible  <bruno@clisp.org>
66272
66273         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
66274         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
66275
66276 2007-06-05  Bruno Haible  <bruno@clisp.org>
66277
66278         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
66279         typo in variable name.
66280
66281 2007-06-05  Eric Blake  <ebb9@byu.net>
66282
66283         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
66284         Reported by Simon Josefsson.
66285
66286 2007-06-04  Bruno Haible  <bruno@clisp.org>
66287
66288         Avoid test failures on some PowerPC platforms.
66289         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
66290         Define differently for PowerPC.
66291         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
66292         Reported by Gary V. Vaughan <gary@gnu.org>.
66293
66294 2007-06-02  Bruno Haible  <bruno@clisp.org>
66295
66296         Fix test-stdint failure on FreeBSD/ia64.
66297         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
66298         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
66299         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
66300         * doc/headers/stdint.texi: Update.
66301
66302 2007-06-01  Bruno Haible  <bruno@clisp.org>
66303
66304         * tests/test-binary-io.c (main): Pass a third argument to open().
66305         Reported by Gary V. Vaughan <gary@gnu.org>.
66306
66307 2007-06-01  Bruno Haible  <bruno@clisp.org>
66308
66309         * doc/functions/frexpl.texi: Update for mingw.
66310
66311 2007-06-01  Bruno Haible  <bruno@clisp.org>
66312
66313         * tests/test-lseek.c (main): Disable test of errno for invalid third
66314         argument.
66315         * doc/functions/lseek.texi: Update.
66316         Reported by Gary V. Vaughan <gary@gnu.org>.
66317
66318 2007-05-28  Bruno Haible  <bruno@clisp.org>
66319
66320         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
66321
66322 2007-05-31  Eric Blake  <ebb9@byu.net>
66323
66324         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
66325         cross compiling.
66326
66327 2007-05-30  Eric Blake  <ebb9@byu.net>
66328         and Bruno Haible  <bruno@clisp.org>
66329
66330         Work around mingw test failures exposed by m4-1.4.9b.
66331         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
66332         * tests/test-unistd.c: Disable uid_t and git_t tests for the
66333         moment.
66334
66335 2007-05-30  Bruno Haible  <bruno@clisp.org>
66336
66337         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
66338         assuming that they are closed. Needed on HP-UX 11.
66339
66340 2007-05-29  Bruno Haible  <bruno@clisp.org>
66341
66342         Fix a problem with #include_next.
66343         * lib/dirent_.h: Split the double-inclusion guard.
66344         * lib/fcntl_.h: Likewise.
66345         * lib/float_.h: Likewise.
66346         * lib/iconv_.h: Likewise.
66347         * lib/inttypes_.h: Likewise.
66348         * lib/locale_.h: Likewise.
66349         * lib/math_.h: Likewise.
66350         * lib/netinet_in_.h: Likewise.
66351         * lib/search_.h: Likewise.
66352         * lib/signal_.h: Likewise.
66353         * lib/stdint_.h: Likewise.
66354         * lib/stdio_.h: Likewise.
66355         * lib/stdlib_.h: Likewise.
66356         * lib/string_.h: Likewise.
66357         * lib/sys_select_.h: Likewise.
66358         * lib/sys_socket_.h: Likewise.
66359         * lib/sys_stat_.h: Likewise.
66360         * lib/sys_time_.h: Likewise.
66361         * lib/sysexits_.h: Likewise.
66362         * lib/time_.h: Likewise.
66363         * lib/unistd_.h: Likewise.
66364         * lib/wchar_.h: Likewise.
66365         * lib/wctype_.h: Likewise.
66366
66367 2007-05-29  Bruno Haible  <bruno@clisp.org>
66368
66369         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
66370         for the moment.
66371
66372 2007-05-29  Bruno Haible  <bruno@clisp.org>
66373
66374         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
66375         invocation.
66376         Reported by Eric Blake.
66377
66378 2007-05-29  Bruno Haible  <bruno@clisp.org>
66379
66380         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
66381         compiling case.
66382
66383 2007-05-29  Eric Blake  <ebb9@byu.net>
66384             Bruno Haible  <bruno@clisp.org>
66385
66386         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
66387         cross compiles.
66388
66389 2007-05-28  Eric Blake  <ebb9@byu.net>
66390
66391         * modules/closein-tests (test_closein_LDADD): Support test on
66392         cygwin with libtool.
66393
66394 2007-05-28  Bruno Haible  <bruno@clisp.org>
66395
66396         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
66397         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66398         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66399         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66400         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66401         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66402         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66403         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66404         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66405
66406 2007-05-28  Eric Blake  <ebb9@byu.net>
66407
66408         Unconditionally include <config.h> in unit tests.
66409         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
66410         * tests/test-allocsa.c, tests/test-arcfour.c,
66411         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
66412         tests/test-array_list.c, tests/test-array_oset.c,
66413         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
66414         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
66415         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
66416         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
66417         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
66418         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
66419         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
66420         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
66421         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
66422         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
66423         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
66424         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
66425         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
66426         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
66427         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
66428         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
66429         test-md5.c, test-memmem.c, test-printf-posix.c,
66430         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
66431         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
66432         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
66433         test-strcasestr.c, test-striconv.c, test-striconveh.c,
66434         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
66435         test-vasnprintf-posix2.c, test-vasnprintf.c,
66436         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
66437         test-vfprintf-posix.c, test-vprintf-posix.c,
66438         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
66439         test-xvasprintf.c: Likewise.
66440
66441 2007-05-28  Bruno Haible  <bruno@clisp.org>
66442
66443         * gnulib-tool (func_import): Remember the --with-tests command-line
66444         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
66445         Reported by Eric Blake.
66446
66447 2007-05-28  Bruno Haible  <bruno@clisp.org>
66448
66449         * modules/ftell-tests: New file.
66450         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
66451         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
66452
66453         * lib/ftell.c: New file.
66454         * modules/ftell: New file.
66455         * m4/ftell.m4: New file.
66456         * doc/functions/ftell.texi: Update.
66457         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
66458         REPLACE_FTELL.
66459         * lib/stdio_.h (rpl_ftell): New declaration.
66460         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
66461         REPLACE_FTELL.
66462
66463 2007-05-28  Eric Blake  <ebb9@byu.net>
66464
66465         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
66466
66467 2007-05-28  Bruno Haible  <bruno@clisp.org>
66468
66469         * modules/fseek-tests: New file.
66470         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
66471         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
66472
66473         * lib/fseek.c: New file.
66474         * modules/fseek: New file.
66475         * m4/fseek.m4: New file.
66476         * doc/functions/fseek.texi: Update.
66477         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
66478         REPLACE_FSEEK.
66479         * lib/stdio_.h (rpl_fseek): New declaration.
66480         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
66481         REPLACE_FSEEK.
66482
66483 2007-05-28  Bruno Haible  <bruno@clisp.org>
66484
66485         * lib/stdio_.h (fflush): More comments.
66486
66487 2007-05-28  Bruno Haible  <bruno@clisp.org>
66488
66489         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
66490         runtime test.
66491
66492 2007-05-28  Eric Blake  <ebb9@byu.net>
66493
66494         Improve lseek module.
66495         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
66496         * lib/unistd_.h (lseek): Scale back link warning message.
66497         * tests/test-lseek.c: Beef up test.
66498         * tests/test-lseek.sh: Exercise more facets of lseek.
66499         Reported by Bruno Haible.
66500
66501 2007-05-28  Bruno Haible  <bruno@clisp.org>
66502
66503         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
66504         to define.
66505
66506 2007-05-27  Bruno Haible  <bruno@clisp.org>
66507
66508         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
66509
66510 2007-05-27  Bruno Haible  <bruno@clisp.org>
66511
66512         * modules/openmp: New file.
66513         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
66514         Noah Misch.
66515
66516 2007-05-26  Bruno Haible  <bruno@clisp.org>
66517
66518         * modules/chdir-long (Depends-on): Add fchdir.
66519         * modules/chdir-safer (Depends-on): Likewise.
66520         * modules/fts (Depends-on): Likewise.
66521         * modules/fts-lgpl (Depends-on): Likewise.
66522         * modules/openat (Depends-on): Likewise.
66523         * modules/savewd (Depends-on): Likewise.
66524
66525 2007-05-24  Eric Blake  <ebb9@byu.net>
66526
66527         Fix lseek on mingw.
66528         * modules/lseek: New module.
66529         * m4/lseek.m4: New file.
66530         * lib/lseek.c: New file.
66531         * modules/lseek-tests: New file.
66532         * tests/test-lseek.c: New file.
66533         * tests/test-lseek.sh: New file.
66534         * MODULES.html.sh: Document lseek module.
66535         * modules/fflush (Depends-on): Add lseek, fseeko.
66536         * modules/fseeko (Depends-on): Likewise.
66537         * modules/ftello (Depends-on): Likewise.
66538         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
66539         broken.
66540         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
66541         broken.
66542         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
66543         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
66544         * lib/ftello.c (rpl_ftello): Likewise.
66545         * tests/test-fseeko.c (main): Test this.
66546         * tests/test-fseeko.sh: Likewise.
66547         * tests/test-ftello.c (main): Likewise.
66548         * tests/test-ftello.sh: Likewise.
66549         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
66550         implies replacing fseek.
66551         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
66552         HAVE_FTELLO.
66553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
66554         * modules/unistd (Makefile.am): Likewise.
66555         * lib/unistd_.h (lseek): Declare a replacement.
66556         * doc/functions/lseek.texi (lseek): Document this fix.
66557         * doc/functions/fseek.texi (fseek): Likewise.
66558         * doc/functions/ftell.texi (ftell): Likewise.
66559
66560 2007-05-24  Bruno Haible  <bruno@clisp.org>
66561
66562         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
66563         in the printed representation of a NaN.
66564         * tests/test-vasprintf-posix.c (test_function): Likewise.
66565         * tests/test-snprintf-posix.h (test_function): Likewise.
66566         * tests/test-sprintf-posix.h (test_function): Likewise.
66567         Reported by Eric Blake.
66568
66569 2007-05-23  Eric Blake  <ebb9@byu.net>
66570
66571         Fix fseeko/ftello on cygwin 1.5.24.
66572         * doc/functions/fseeko.texi (fseeko): Document the fix.
66573         * doc/functions/ftello.texi (ftello): Document the fix.
66574         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
66575         * doc/functions/stdout.text (stdout): New file.
66576         * doc/functions/stderr.text (stderr): New file.
66577         * doc/gnulib.texi (Function Substitutes): Use new files.
66578         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
66579         prior to 1.7.0.
66580         * tests/test-ftello.c (main): Likewise for ftello.
66581         * tests/test-fseeko.sh: New file.
66582         * tests/test-ftello.sh: New file.
66583         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
66584         with seekable stdin.
66585         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
66586         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
66587         (gl_REPLACE_FSEEKO): New macro.
66588         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
66589         * modules/fseeko (Files): Distribute fseeko.c.
66590         * modules/ftello (Files): Distribute ftello.c.
66591         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
66592         mode.
66593         * lib/ftello.c (rpl_ftello): New file.
66594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
66595         fseeko, ftello.
66596         (gl_STDIN_LARGE_OFFSET): New macro.
66597         * modules/stdio (Makefile.am): Perform the replacement.
66598         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
66599
66600 2007-05-23  Bruno Haible  <bruno@clisp.org>
66601
66602         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
66603         GNULIB_POSIXCHECK is defined.
66604
66605 2007-05-21  Bruno Haible  <bruno@clisp.org>
66606
66607         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
66608         Check also the output for NaN arguments. When cross-compiling, guess
66609         no on IRIX.
66610         * lib/vasnprintf.c: Update comments.
66611         * tests/test-vasnprintf-posix.c (strisnan): New function.
66612         (test_function): Use it.
66613         * tests/test-vasprintf-posix.c (strisnan): New function.
66614         (test_function): Use it.
66615         * tests/test-snprintf-posix.h (strisnan): New function.
66616         (test_function): Use it.
66617         * tests/test-sprintf-posix.h (strisnan): New function.
66618         (test_function): Use it.
66619         Reported by Eric Blake.
66620
66621 2007-05-20  Bruno Haible  <bruno@clisp.org>
66622
66623         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
66624         numbers that fails on BeOS.
66625         * doc/functions/frexpl.texi: Update.
66626
66627 2007-05-20  Jim Meyering  <jim@meyering.net>
66628
66629         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
66630         forced upon us by glibc-2.6.
66631
66632 2007-05-20  Bruno Haible  <bruno@clisp.org>
66633
66634         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
66635         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
66636         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
66637         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
66638         NEED_PRINTF_INFINITE.
66639         (is_infinitel): New function.
66640         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
66641         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
66642         gl_PREREQ_VASNPRINTF_INFINITE.
66643         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
66644         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66645         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
66646         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
66647         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
66648         gl_PREREQ_VASNPRINTF_INFINITE.
66649         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66650         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66651         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66652         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66653         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66654         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66655         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66656         * doc/functions/fprintf.texi: Update.
66657         * doc/functions/printf.texi: Update.
66658         * doc/functions/snprintf.texi: Update.
66659         * doc/functions/sprintf.texi: Update.
66660         * doc/functions/vfprintf.texi: Update.
66661         * doc/functions/vprintf.texi: Update.
66662         * doc/functions/vsnprintf.texi: Update.
66663         * doc/functions/vsprintf.texi: Update.
66664
66665 2007-05-20  Bruno Haible  <bruno@clisp.org>
66666
66667         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
66668         was not found in libc.
66669         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66670
66671 2007-05-20  Bruno Haible  <bruno@clisp.org>
66672
66673         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66674         printed as "-nan" instead of "nan".
66675         * tests/test-vasprintf-posix.c (test_function): Likewise.
66676         * tests/test-snprintf-posix.h (test_function): Likewise.
66677         * tests/test-sprintf-posix.h (test_function): Likewise.
66678         Needed for HP-UX 11.
66679
66680 2007-05-20  Jim Meyering  <jim@meyering.net>
66681
66682         Fix buggy test for the fchownat-deref bug.
66683         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
66684         symlink required for the run-test.  Without it, this test would
66685         always declare that fchownat doesn't work, and client code would
66686         unnecessarily use the replacement function with fixed libc.
66687         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
66688         Reported by Greg Schafer.
66689
66690 2007-05-19  Bruno Haible  <bruno@clisp.org>
66691
66692         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
66693         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
66694         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
66695         Needed for IRIX 6.5 and Solaris 2.5.1.
66696
66697 2007-05-19  Bruno Haible  <bruno@clisp.org>
66698
66699         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
66700         (test_function): Skip tests involving -0.0 on platforms where
66701         -0.0 = 0.0.
66702         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
66703         (test_function): Skip tests involving -0.0 on platforms where
66704         -0.0 = 0.0.
66705         * tests/test-snprintf-posix.h (have_minus_zero): New function.
66706         (test_function): Skip tests involving -0.0 on platforms where
66707         -0.0 = 0.0.
66708         * tests/test-sprintf-posix.h (have_minus_zero): New function.
66709         (test_function): Skip tests involving -0.0 on platforms where
66710         -0.0 = 0.0.
66711         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
66712         tests.
66713         * tests/test-printf-posix.h (test_function): Likewise.
66714         * tests/test-printf-posix.output: Remove all -0.0 related results.
66715         Needed for IRIX 6.5.
66716
66717 2007-05-19  Bruno Haible  <bruno@clisp.org>
66718
66719         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66720         printed as "nan0x7fffffff" instead of "nan".
66721         * tests/test-vasprintf-posix.c (test_function): Likewise.
66722         * tests/test-snprintf-posix.h (test_function): Likewise.
66723         * tests/test-sprintf-posix.h (test_function): Likewise.
66724         * tests/test-fprintf-posix.h (NaN): Remove macro.
66725         (test_function): Remove all NaN related tests.
66726         * tests/test-printf-posix.h (NaN): Remove macro.
66727         (test_function): Remove all NaN related tests.
66728         * tests/test-printf-posix.output: Remove all NaN related results.
66729         Needed for IRIX 6.5.
66730
66731 2007-05-19  Bruno Haible  <bruno@clisp.org>
66732
66733         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
66734         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66735
66736 2007-05-19  Bruno Haible  <bruno@clisp.org>
66737
66738         * lib/float_.h: New file.
66739         * m4/float_h.m4: New file.
66740         * modules/float: New file.
66741         * modules/isnanl (Dependencies): Add float.
66742         * modules/isnanl-nolibm (Dependencies): Likewise.
66743         * modules/mathl (Dependencies): Likewise.
66744         * modules/printf-frexpl (Dependencies): Likewise.
66745         * modules/signbit (Dependencies): Likewise.
66746         * modules/vasnprintf (Dependencies): Likewise.
66747         * doc/headers/float.texi: Update.
66748
66749 2007-05-19  Jim Meyering  <jim@meyering.net>
66750
66751         * lib/utimens.c (gl_futimens): Rename from futimens,
66752         now that glibc-2.6 declares futimens.
66753         * lib/utimens.h: Likewise.
66754
66755 2007-05-19  Bruno Haible  <bruno@clisp.org>
66756
66757         Avoid test failures on mingw.
66758         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
66759         * tests/test-printf-posix.sh: Likewise.
66760         * tests/test-vfprintf-posix.sh: Likewise.
66761         * tests/test-vprintf-posix.sh: Likewise.
66762
66763 2007-05-19  Bruno Haible  <bruno@clisp.org>
66764
66765         Fix *printf result for NaN, Inf, -0.0 on mingw.
66766         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
66767         * lib/vasnprintf.c: Include math.h and isnan.h.
66768         (is_infinite_or_zero): New function.
66769         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
66770         values in the %f, %F, %e, %E, %g, %G directives.
66771         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
66772         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66773         gl_PRINTF_INFINITE and test its result. Invoke
66774         gl_PREREQ_VASNPRINTF_INFINITE.
66775         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66776         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66777         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66778         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66779         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66780         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66781         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66782         * doc/functions/fprintf.texi: Update.
66783         * doc/functions/printf.texi: Update.
66784         * doc/functions/snprintf.texi: Update.
66785         * doc/functions/sprintf.texi: Update.
66786         * doc/functions/vfprintf.texi: Update.
66787         * doc/functions/vprintf.texi: Update.
66788         * doc/functions/vsnprintf.texi: Update.
66789         * doc/functions/vsprintf.texi: Update.
66790
66791 2007-05-19  Bruno Haible  <bruno@clisp.org>
66792
66793         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
66794         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
66795         Instead of multiplying with 10^k, set extra_zeroes to k.
66796         (scale10_round_long_double): Remove function.
66797
66798 2007-05-18  Bruno Haible  <bruno@clisp.org>
66799
66800         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
66801         introduced on 2007-05-06.
66802
66803 2007-05-18  Bruno Haible  <bruno@clisp.org>
66804
66805         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
66806         %g directives.
66807         * tests/test-vasprintf-posix.c (test_function): Likewise.
66808         * tests/test-snprintf-posix.h (test_function): Likewise.
66809         * tests/test-sprintf-posix.h (test_function): Likewise.
66810
66811 2007-05-18  Bruno Haible  <bruno@clisp.org>
66812
66813         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
66814         (strmatch): New function.
66815         (test_function): Test the %f directive on numbers of various exponents.
66816         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
66817         (strmatch): New function.
66818         (test_function): Test the %f directive on numbers of various exponents.
66819         * tests/test-snprintf-posix.h (strmatch): New function.
66820         (test_function): Test the %f directive on numbers of various exponents.
66821         * tests/test-sprintf-posix.h (strmatch): New function.
66822         (test_function): Test the %f directive on numbers of various exponents.
66823         * tests/test-snprintf-posix.c (SIZEOF): New macro.
66824         * tests/test-sprintf-posix.c (SIZEOF): New macro.
66825         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
66826         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
66827
66828 2007-05-18  Bruno Haible  <bruno@clisp.org>
66829
66830         Add support for 'long double' number output.
66831         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
66832         * lib/vasnprintf.c: Include math.h and float+.h.
66833         (mp_limb_t): New type.
66834         (GMP_LIMB_BITS): New macro.
66835         (mp_twolimb_t): New type.
66836         (GMP_TWOLIMB_BITS): New macro.
66837         (mpn_t): New type.
66838         (multiply, divide, convert_to_decimal, decode_long_double,
66839         scale10_round_long_double, scale10_round_decimal_long_double,
66840         floorlog10l): New functions.
66841         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
66842         for the %f, %F, %e, %E, %g, %G directives.
66843         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
66844         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66845         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
66846         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
66847         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66848         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66849         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66850         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66851         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66852         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66853         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66854         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
66855         * modules/snprintf-posix (Depends-on): Likewise.
66856         * modules/sprintf-posix (Depends-on): Likewise.
66857         * modules/vasnprintf-posix (Depends-on): Likewise.
66858         * modules/vasprintf-posix (Depends-on): Likewise.
66859         * modules/vfprintf-posix (Depends-on): Likewise.
66860         * modules/vsnprintf-posix (Depends-on): Likewise.
66861         * modules/vsprintf-posix (Depends-on): Likewise.
66862         * modules/vasnprintf (Files): Add lib/float+.h.
66863         * doc/functions/fprintf.texi: Update.
66864         * doc/functions/printf.texi: Update.
66865         * doc/functions/snprintf.texi: Update.
66866         * doc/functions/sprintf.texi: Update.
66867         * doc/functions/vfprintf.texi: Update.
66868         * doc/functions/vprintf.texi: Update.
66869         * doc/functions/vsnprintf.texi: Update.
66870         * doc/functions/vsprintf.texi: Update.
66871
66872 2007-05-18  Bruno Haible  <bruno@clisp.org>
66873
66874         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
66875
66876 2007-05-18  Bruno Haible  <bruno@clisp.org>
66877
66878         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
66879         for printing 64-bit integers. Needed for mingw.
66880
66881 2007-05-18  Bruno Haible  <bruno@clisp.org>
66882
66883         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66884         gl_FUNC_FREXPL_WORKS.
66885         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
66886
66887 2007-05-18  Bruno Haible  <bruno@clisp.org>
66888
66889         * modules/frexpl-nolibm-tests: New file.
66890
66891         * modules/frexpl-nolibm: New file.
66892         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
66893
66894 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66895
66896         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
66897         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66898         GCC 4.2, which otherwise issues a lot of warnings.
66899         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
66900         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
66901         Likewise.
66902         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
66903         * modules/iconv_open (iconv.h): Likewise.
66904         * modules/locale (locale.h): Likewise.
66905         * modules/netinet_in (netinet/in.h): Likewise.
66906         * modules/sys_select (sys_select.h): Likewise.
66907         * modules/sys_socket (sys/socket.h): Likewise.
66908         * modules/sys_stat (sys/stat.h): Likewise.
66909         * modules/sysexits (sysexits.h): Likewise.
66910         * modules/unistd (unistd.h): Likewise.
66911
66912 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66913
66914         * modules/closein-tests (Makefile.am): Distribute
66915         `test-closein.sh'.
66916
66917 2007-05-17  Bruno Haible  <bruno@clisp.org>
66918
66919         * tests/test-printf-posix.output: Renamed from
66920         tests/test-fprintf-posix.out.
66921         * modules/fprintf-posix-tests: Update.
66922         * modules/printf-posix-tests: Update.
66923         * modules/vfprintf-posix-tests: Update.
66924         * modules/vprintf-posix-tests: Update.
66925         * tests/test-fprintf-posix.sh: Update.
66926         * tests/test-printf-posix.sh: Update.
66927         * tests/test-vfprintf-posix.sh: Update.
66928         * tests/test-vprintf-posix.sh: Update.
66929         Reported by Ralf Wildenhues.
66930
66931 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66932
66933         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
66934         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66935         GCC 4.2, which otherwise issues a lot of warnings.
66936         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
66937         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
66938         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
66939         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
66940         it should no longer be needed.
66941         * lib/string_.h: Likewise.
66942         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
66943         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
66944         * modules/inttypes (inttypes.h): Likewise.
66945         * modules/math (math.h): Likewise.
66946         * modules/search (search.h): Likewise.
66947         * modules/signal (signal.h): Likewise.
66948         * modules/stdint (stdint.h): Likewise.
66949         * modules/stdio (stdio.h): Likewise.
66950         * modules/stdlib (stdlib.h): Likewise.
66951         * modules/string (string.h): Likewise.
66952         * modules/sys_time (sys/time.h): Likewise.
66953         * modules/time (time.h): Likewise.
66954         * modules/wchar (wchar.h): Likewise.
66955         * modules/wctype (wtype.h): Likewise.
66956
66957 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66958
66959         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
66960
66961 2007-05-13  Bruno Haible  <bruno@clisp.org>
66962
66963         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
66964         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66965         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
66966         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66967         (gl_PREREQ_STRTOK_R): Don't require it here.
66968
66969 2007-05-13  Bruno Haible  <bruno@clisp.org>
66970
66971         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
66972         when used in C++ mode.
66973
66974 2007-05-12  Bruno Haible  <bruno@clisp.org>
66975
66976         * lib/linebuffer.h: Tweak doc.
66977         * lib/linebuffer.c: Likewise.
66978
66979 2007-05-12  James Youngman  <jay@gnu.org>
66980
66981         * lib/linebuffer.c (readlinebuffer_delim): New function,
66982         like readlinebuffer, but use a caller-specified delimiter.
66983         (readlinebuffer): Just call readlinebuffer_delim with '\n'
66984         as the delimiter.
66985         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
66986
66987 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66988
66989         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
66990         * modules/openat (Files): Remove openat-die.c.
66991         (Depends-on): Add openat-die.
66992         * modules/openat-die: New module.
66993
66994 2007-05-06  Bruno Haible  <bruno@clisp.org>
66995
66996         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
66997         Update with info about Cygwin.
66998         * doc/functions/fprintf.texi: Update.
66999         * doc/functions/printf.texi: Update.
67000         * doc/functions/snprintf.texi: Update.
67001         * doc/functions/sprintf.texi: Update.
67002         * doc/functions/vfprintf.texi: Update.
67003         * doc/functions/vprintf.texi: Update.
67004         * doc/functions/vsnprintf.texi: Update.
67005         * doc/functions/vsprintf.texi: Update.
67006         Reported by Eric Blake.
67007
67008 2007-05-06  Bruno Haible  <bruno@clisp.org>
67009
67010         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
67011         padding ourselves for the floating-point directives.
67012         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
67013         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
67014         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67015         gl_PRINTF_FLAG_ZERO and test its result. Invoke
67016         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
67017         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67018         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67019         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67020         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67021         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67022         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67023         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67024         * tests/test-snprintf-posix.h (test_function): Also check the width
67025         and some flags in the %f directive.
67026         * tests/test-sprintf-posix.h (test_function): Likewise.
67027         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67028         * tests/test-vasprintf-posix.c (test_function): Likewise.
67029         * doc/functions/fprintf.texi: Update.
67030         * doc/functions/printf.texi: Update.
67031         * doc/functions/snprintf.texi: Update.
67032         * doc/functions/sprintf.texi: Update.
67033         * doc/functions/vfprintf.texi: Update.
67034         * doc/functions/vprintf.texi: Update.
67035         * doc/functions/vsnprintf.texi: Update.
67036         * doc/functions/vsprintf.texi: Update.
67037
67038 2007-05-06  Bruno Haible  <bruno@clisp.org>
67039
67040         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
67041         pass the ' flag character to sprintf or snprintf.
67042         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
67043         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
67044         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67045         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
67046         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
67047         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67048         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67049         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67050         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67051         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67052         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67053         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67054         * tests/test-snprintf-posix.h (test_function): Also check the grouping
67055         flag.
67056         * tests/test-sprintf-posix.h (test_function): Likewise.
67057         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67058         * tests/test-vasprintf-posix.c (test_function): Likewise.
67059         * doc/functions/fprintf.texi: Update.
67060         * doc/functions/printf.texi: Update.
67061         * doc/functions/snprintf.texi: Update.
67062         * doc/functions/sprintf.texi: Update.
67063         * doc/functions/vfprintf.texi: Update.
67064         * doc/functions/vprintf.texi: Update.
67065         * doc/functions/vsnprintf.texi: Update.
67066         * doc/functions/vsprintf.texi: Update.
67067
67068 2007-05-01  Bruno Haible  <bruno@clisp.org>
67069
67070         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
67071
67072 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
67073
67074         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
67075         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
67076
67077 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67078
67079         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
67080         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
67081         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
67082
67083 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
67084
67085         * lib/argp-help.c (struct hol_entry): New member `ord'.
67086         (HOL_ENTRY_PTRCMP): Use ord for comparison
67087         (hol_sort): Initialize ord.
67088
67089 2007-05-01  Bruno Haible  <bruno@clisp.org>
67090
67091         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
67092         Reported by Eric Blake.
67093         * doc/gnulib.texi (Function Substitutes): Update.
67094
67095 2007-05-01  Bruno Haible  <bruno@clisp.org>
67096
67097         * doc/functions.texi: Remove file, now redundant through
67098         doc/functions/*.texi.
67099
67100 2007-05-01  Bruno Haible  <bruno@clisp.org>
67101
67102         * modules/argp (Depends-on): Add sleep.
67103
67104 2007-05-01  Bruno Haible  <bruno@clisp.org>
67105
67106         * modules/sleep-tests: New file.
67107         * tests/test-sleep.c: New file.
67108
67109         * modules/sleep: New file.
67110         * lib/sleep.c: New file.
67111         * m4/sleep.m4: New file.
67112         * lib/unistd_.h (sleep): New declaration.
67113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
67114         HAVE_SLEEP.
67115         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
67116         * doc/functions/sleep.texi: Document the sleep module.
67117
67118 2007-05-01  Bruno Haible  <bruno@clisp.org>
67119
67120         * lib/sigprocmask.h: Remove file.
67121         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
67122         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
67123         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
67124         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
67125         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
67126         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
67127         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
67128         HAVE_SIGSET_T as a shell variable.
67129         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
67130         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
67131         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
67132         (Depends-on): Add signal. Remove verify.
67133         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
67134         (Include): Mention <signal.h> instead of sigprocmask.h.
67135         * NEWS: Mention the change.
67136         * lib/fatal-signal.c: Don't include sigprocmask.h.
67137
67138 2007-05-01  Bruno Haible  <bruno@clisp.org>
67139
67140         * modules/signal: New file.
67141         * lib/signal_.h: New file.
67142         * m4/signal_h.m4: New file.
67143
67144 2007-05-01  Bruno Haible  <bruno@clisp.org>
67145
67146         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
67147         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
67148         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
67149         HAVE_WCTYPE_CTMP_BUG into wctype.h.
67150
67151 2007-05-01  Bruno Haible  <bruno@clisp.org>
67152
67153         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
67154         configure time.
67155         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
67156         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
67157         * modules/sys_stat (Makefile.am): Substitute their values into
67158         sys/stat.h.
67159
67160 2007-05-01  Bruno Haible  <bruno@clisp.org>
67161
67162         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
67163         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
67164         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
67165
67166 2007-05-01  Bruno Haible  <bruno@clisp.org>
67167
67168         * doc/header/assert.texi: Undo last change: don't mention the gnulib
67169         'assert' module here.
67170
67171 2007-05-01  Bruno Haible  <bruno@clisp.org>
67172
67173         * doc/functions/*.texi: New files.
67174         * doc/functions/google-ranking.txt: New file.
67175         * doc/gnulib.texi (Function Substitutes): New chapter.
67176         (ctime, inet_ntoa): Remove sections.
67177         * doc/ctime.texi: Remove file.
67178         * doc/inet_ntoa.texi: Remove file.
67179         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
67180         dependencies.
67181         (%.info): New rule, specifying a --reference-limit.
67182
67183 2007-05-01  Bruno Haible  <bruno@clisp.org>
67184
67185         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
67186
67187 2007-05-01  Bruno Haible  <bruno@clisp.org>
67188
67189         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
67190         the portability of 'mkdir' to mingw systems.
67191
67192 2007-05-01  Bruno Haible  <bruno@clisp.org>
67193
67194         * doc/headers/google-ranking.txt: New file.
67195
67196 2007-04-30  Eric Blake  <ebb9@byu.net>
67197
67198         Prefer fseeko to fseek.
67199         * modules/getpass (Depends-on): Add fseeko.
67200         * lib/getpass.c (getpass): Use fseeko, not fseek.
67201
67202 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
67203
67204         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
67205         assumes the sorting is stable, while most qsort implementations
67206         are not.  Use argument addresses to ensure they never compare as
67207         equal.
67208
67209         * tests/test-argp-2.sh (usage-indent test): Fix output
67210         (func_compare): Restore diff options
67211         * tests/test-argp.c: Restore #include "progname.h"
67212
67213 2007-04-29  Bruno Haible  <bruno@clisp.org>
67214
67215         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
67216         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67217         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
67218         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67219         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
67220         (configure.ac): Define CHECK_SNPRINTF_POSIX.
67221         (TESTS, check_PROGRAMS): Add test-snprintf.
67222         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
67223         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
67224         (TESTS, check_PROGRAMS): Add test-vsnprintf.
67225         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
67226         assertions that fail on HP-UX, OSF/1, or IRIX.
67227         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
67228
67229 2007-04-29  Bruno Haible  <bruno@clisp.org>
67230
67231         * MODULES.html.sh (posix_functions): Remove 'contents'.
67232
67233 2007-04-29  Karl Berry  <karl@gnu.org>
67234
67235         * config/srclist.txt (gendocs_template_min): new entry.
67236
67237 2007-04-29  Bruno Haible  <bruno@clisp.org>
67238
67239         Work around fpurge bug on BSD systems.
67240         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
67241         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
67242         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
67243         fpurge to rpl_fpurge if the system already has this function.
67244         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
67245         the case where the system already has this function. Correct invariants
67246         on BSD systems.
67247         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
67248         BSD systems.
67249
67250 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
67251
67252         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
67253         proposed by Sven Verdoolaege.
67254
67255         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
67256         options.
67257         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
67258         (usage and help tests): Update
67259
67260 2007-04-29  Bruno Haible  <bruno@clisp.org>
67261
67262         * tests/test-fflush.c (main): Use a file of size 17, not 10.
67263         Print more information in case of failure. Disable a test on BeOS.
67264
67265 2007-04-29  Bruno Haible  <bruno@clisp.org>
67266
67267         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
67268         This helps debugging on systems on which no gdb is available.
67269
67270 2007-04-29  Bruno Haible  <bruno@clisp.org>
67271
67272         * lib/freading.h: Improve comments.
67273         * lib/fwriting.h: Likewise.
67274         * tests/test-freading.c (main): Don't check freading immediately after
67275         repositioning. Needed for glibc.
67276
67277 2007-04-29  Bruno Haible  <bruno@clisp.org>
67278
67279         * lib/freading.c (freading): Trivial simplification.
67280
67281 2007-04-28  Bruno Haible  <bruno@clisp.org>
67282
67283         * tests/test-fwriting.c (main): Also test the interaction between
67284         fflush and fwriting.
67285         * modules/fwriting-tests (Depends-on): Add fflush.
67286
67287         * tests/test-freading.c (main): Also test the interaction between
67288         fflush and freading.
67289         * modules/freading-tests (Depends-on): Add fflush.
67290
67291 2007-04-28  Bruno Haible  <bruno@clisp.org>
67292
67293         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
67294         fseeko and ftello.
67295         Suggested by Eric Blake.
67296
67297 2007-04-28  Jim Meyering  <jim@meyering.net>
67298
67299         Avoid false-negative in gl_STDINT_H's C99 conformance test.
67300         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
67301         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
67302
67303 2007-04-27  Eric Blake  <ebb9@byu.net>
67304
67305         * doc/headers/assert.texi (assert.h): Document assert module use.
67306
67307 2007-04-27  Bruno Haible  <bruno@clisp.org>
67308
67309         * doc/headers/*.texi: New files.
67310         * doc/gnulib.texi (Header File Substitutes): New chapter.
67311         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
67312         dependencies.
67313         (standards.info ,standards.html, standards.dvi): Update dependencies.
67314         (mostlyclean, clean): New targets.
67315
67316 2007-04-27  Bruno Haible  <bruno@clisp.org>
67317
67318         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
67319         * modules/sysexits (Files, Makefile.am): Update.
67320
67321         * lib/sys_socket_.h: Renamed from lib/socket_.h.
67322         * modules/sys_socket (Files, Makefile.am): Update.
67323
67324         * lib/sys_stat_.h: Renamed from lib/stat_.h.
67325         * modules/sys_stat (Files, Makefile.am): Update.
67326
67327 2007-04-27  Eric Blake  <ebb9@byu.net>
67328
67329         * lib/freading.h: Improve comments.
67330         * lib/fwriting.h: Likewise.
67331         * lib/fflush.c: Likewise.
67332
67333         Fix closein for mingw.
67334         * modules/closein-tests: Add tests for closein.
67335         * tests/test-closein.c: New file.
67336         * tests/test-closein.sh: Likewise.
67337         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
67338         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
67339
67340 2007-04-27  Bruno Haible  <bruno@clisp.org>
67341
67342         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
67343         version is < 6.
67344         * lib/math_.h [__DECC]: Likewise.
67345         * lib/stdio_.h [__DECC]: Likewise.
67346         * lib/stdlib_.h [__DECC]: Likewise.
67347         * lib/string_.h [__DECC]: Likewise.
67348         * lib/time_.h [__DECC]: Likewise.
67349         * lib/wchar_.h [__DECC]: Likewise.
67350         * lib/wctype_.h [__DECC]: Likewise.
67351
67352 2007-04-27  Bruno Haible  <bruno@clisp.org>
67353
67354         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
67355
67356 2007-04-27  Bruno Haible  <bruno@clisp.org>
67357
67358         * lib/fflush.c: Add comments.
67359         * modules/fpurge-tests (Depends-on): Add fflush.
67360         * modules/freadable-tests (Depends-on): Likewise.
67361         * modules/fwritable-tests (Depends-on): Likewise.
67362
67363 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
67364
67365         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
67366         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
67367         Report by Bruno Haible <bruno@clisp.org>.
67368
67369 2007-04-26  Eric Blake  <ebb9@byu.net>
67370
67371         Fix fflush on mingw.
67372         * modules/fflush (Depends-on): Add freading.
67373         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
67374         but unread data.
67375
67376 2007-04-26  Eric Blake  <ebb9@byu.net>
67377         and Bruno Haible  <bruno@clisp.org>
67378
67379         Implement freading and fwriting.
67380         * lib/freading.c: New file.
67381         * lib/freading.h: Likewise.
67382         * m4/freading.m4: Likewise.
67383         * modules/freading: Likewise.
67384         * modules/freading-tests: Likewise.
67385         * tests/test-freading.c: Likewise.
67386         * lib/fwriting.c: New file.
67387         * lib/fwriting.h: Likewise.
67388         * m4/fwriting.m4: Likewise.
67389         * modules/fwriting: Likewise.
67390         * modules/fwriting-tests: Likewise.
67391         * tests/test-fwriting.c: Likewise.
67392         * MODULES.html.sh (File stream based Input/Output): Mention them.
67393
67394 2007-04-26  Bruno Haible  <bruno@clisp.org>
67395
67396         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
67397         'long' when we assume it.
67398         Suggested by Eric Blake.
67399
67400 2007-04-26  Bruno Haible  <bruno@clisp.org>
67401
67402         Ensure fseeko, ftello are declared on glibc systems.
67403         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
67404         * modules/fseeko (configure.ac-early): Likewise.
67405         * modules/ftello (configure.ac-early): Likewise.
67406         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
67407         AC_FUNC_FSEEKO for this.
67408         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
67409         (gl_CHECK_FSEEKO): Remove macro.
67410
67411 2007-04-26  Bruno Haible  <bruno@clisp.org>
67412
67413         * tests/test-fflush.c (main): Also check the ftell result after
67414         fflush and fseek/fseeko.
67415         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
67416         file descriptor position cache in the stream.
67417         * lib/fseeko.c (rpl_fseeko): Likewise.
67418
67419 2007-04-26  Bruno Haible  <bruno@clisp.org>
67420
67421         * modules/fflush-tests (Depends-on): Add fseeko.
67422
67423 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
67424             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67425
67426         * lib/argz_.h: ensure error_t definition is obtained in same
67427         mechanism system argz.h would have.
67428         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
67429         argz facilities are known bad.  Err on the side of caution if
67430         cross-compiling.
67431
67432 2007-04-25  Eric Blake  <ebb9@byu.net>
67433
67434         * lib/fpurge.c (includes): Use stdlib.h for free.
67435         * tests/test-fflush.c (main): Also test fflush-fseeko.
67436
67437 2007-04-25  Bruno Haible  <bruno@clisp.org>
67438
67439         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
67440         * lib/fseeko.c: New file.
67441         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
67442         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
67443         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
67444         gl_FUNC_FSEEKO.
67445         (gl_FUNC_FSEEKO): Invoke it.
67446         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
67447         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
67448         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
67449
67450 2007-04-25  Bruno Haible  <bruno@clisp.org>
67451
67452         * modules/fflush (Depends-on): Add ftello.
67453
67454 2007-04-25  Bruno Haible  <bruno@clisp.org>
67455
67456         * modules/ftello-tests: New file.
67457         * tests/test-ftello.c: New file.
67458
67459         * modules/ftello: New file.
67460         * m4/ftello.m4: New file.
67461         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
67462         HAVE_FTELLO.
67463         * lib/stdio_.h (ftello): New declaration.
67464         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
67465         HAVE_FTELLO.
67466
67467 2007-04-25  Bruno Haible  <bruno@clisp.org>
67468
67469         * modules/fseeko-tests: New file.
67470         * tests/test-fseeko.c: New file.
67471
67472         * modules/fseeko: New file.
67473         * m4/fseeko.m4: New file.
67474         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
67475         HAVE_FSEEKO.
67476         * lib/stdio_.h (fseeko): New declaration.
67477         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
67478         HAVE_FSEEKO.
67479
67480 2007-04-25  Bruno Haible  <bruno@clisp.org>
67481
67482         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
67483
67484 2007-04-25  Bruno Haible  <bruno@clisp.org>
67485
67486         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
67487         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
67488         * tests/test-unistd.c: Likewise.
67489         * tests/test-fcntl.c: Likewise.
67490
67491 2007-04-23  Eric Blake  <ebb9@byu.net>
67492
67493         * lib/fflush.c: Fix missing include.
67494         Reported by Bruno Haible.
67495
67496 2007-04-23  Bruno Haible  <bruno@clisp.org>
67497
67498         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
67499         Reported by Eric Blake.
67500
67501 2007-04-23  Bruno Haible  <bruno@clisp.org>
67502
67503         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
67504
67505 2007-04-23  Bruno Haible  <bruno@clisp.org>
67506
67507         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
67508
67509 2007-04-23  Bruno Haible  <bruno@clisp.org>
67510
67511         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
67512         Needed on HP-UX 11.
67513
67514 2007-04-16  Eric Blake  <ebb9@byu.net>
67515
67516         Make fflush rely on fpurge.
67517         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
67518         open coding all variants.
67519         * modules/fflush (Depends-on): Add fpurge and unistd.
67520         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
67521         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
67522
67523         Fix --with-tests compilation on cygwin.
67524         * modules/argmatch-tests (Makefile.am): List gnulib library first
67525         in LDADD.
67526         * modules/argp-tests (Makefile.am): Likewise.
67527         * modules/array-list-tests (Makefile.am): Likewise.
67528         * modules/array-oset-tests (Makefile.am): Likewise.
67529         * modules/avltree-list-tests (Makefile.am): Likewise.
67530         * modules/avltree-oset-tests (Makefile.am): Likewise.
67531         * modules/avltreehash-list-tests (Makefile.am): Likewise.
67532         * modules/carray-list-tests (Makefile.am): Likewise.
67533         * modules/dirname-tests (Makefile.am): Likewise.
67534         * modules/frexp-tests (Makefile.am): Likewise.
67535         * modules/isnanl-tests (Makefile.am): Likewise.
67536         * modules/linked-list-tests (Makefile.am): Likewise.
67537         * modules/linkedhash-list-tests (Makefile.am): Likewise.
67538         * modules/lock-tests (Makefile.am): Likewise.
67539         * modules/rbtree-list-tests (Makefile.am): Likewise.
67540         * modules/rbtree-oset-tests (Makefile.am): Likewise.
67541         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
67542         * modules/tls-tests (Makefile.am): Likewise.
67543         * modules/tsearch-tests (Makefile.am): Likewise.
67544         * modules/xvasprintf-tests (Makefile.am): Likewise.
67545
67546         Fix fpurge for cygwin.
67547         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
67548         value.
67549         * modules/fpurge-tests (Depends-on): Clean up trash.
67550
67551 2007-04-16  Simon Josefsson  <simon@josefsson.org>
67552
67553         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
67554
67555         * m4/autobuild.m4: Re-indent.
67556
67557 2007-04-13  Bruno Haible  <bruno@clisp.org>
67558
67559         * modules/fpurge-tests: New file.
67560         * tests/test-fpurge.c: New file.
67561
67562         * modules/fpurge: New file.
67563         * lib/fpurge.h: New file.
67564         * lib/fpurge.c: New file.
67565         * m4/fpurge.m4: New file.
67566
67567 2007-04-13  Bruno Haible  <bruno@clisp.org>
67568
67569         * modules/fbufmode-tests: New file.
67570         * tests/test-fbufmode.c: New file.
67571
67572         * modules/fbufmode: New file.
67573         * lib/fbufmode.h: New file.
67574         * lib/fbufmode.c: New file.
67575         * m4/fbufmode.m4: New file.
67576
67577 2007-04-13  Bruno Haible  <bruno@clisp.org>
67578
67579         * modules/fwritable-tests: New file.
67580         * tests/test-fwritable.c: New file.
67581
67582         * modules/fwritable: New file.
67583         * lib/fwritable.h: New file.
67584         * lib/fwritable.c: New file.
67585         * m4/fwritable.m4: New file.
67586
67587 2007-04-13  Bruno Haible  <bruno@clisp.org>
67588
67589         * modules/freadable-tests: New file.
67590         * tests/test-freadable.c: New file.
67591
67592         * modules/freadable: New file.
67593         * lib/freadable.h: New file.
67594         * lib/freadable.c: New file.
67595         * m4/freadable.m4: New file.
67596
67597 2007-04-13  Bruno Haible  <bruno@clisp.org>
67598
67599         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
67600         MOSTLYCLEANFILES.
67601
67602 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67603
67604         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
67605         gzip bootstrap.conf to avoid dragging in i18n machinery.
67606         (gnulib_tool_option): Use it.
67607
67608 2007-04-13  Bruno Haible  <bruno@clisp.org>
67609
67610         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
67611         %F directives.
67612         * tests/test-vasprintf-posix.c (test_function): Likewise.
67613         * tests/test-snprintf-posix.h (test_function): Likewise.
67614         * tests/test-sprintf-posix.h (test_function): Likewise.
67615         * tests/test-fprintf-posix.h (test_function): Likewise.
67616         * tests/test-printf-posix.h (test_function): Likewise.
67617         * tests/test-fprintf-posix.out: Likewise.
67618
67619 2007-04-13  Bruno Haible  <bruno@clisp.org>
67620
67621         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
67622         * modules/tls-tests (configure.ac): Likewise.
67623         Reported by Arto C. Nirkko <anirkko@insel.ch>.
67624
67625 2007-04-13  Bruno Haible  <bruno@clisp.org>
67626
67627         * lib/tls.c (glthread_tls_get): Fix return type.
67628         Patch by Arto C. Nirkko <anirkko@insel.ch>.
67629
67630 2007-04-12  Eric Blake  <ebb9@byu.net>
67631
67632         * modules/gettime (Depends-on): Remove gettime.
67633         Reported by Dmitry V. Levin.
67634
67635 2007-04-12  Bruno Haible  <bruno@clisp.org>
67636
67637         * modules/fflush (Include): Mention <stdio.h>.
67638         * modules/strtoimax (Include): Mention <inttypes.h>.
67639         * modules/strtoumax (Include): Likewise.
67640
67641 2007-04-12  Eric Blake  <ebb9@byu.net>
67642
67643         * .cvsignore: New file.
67644         * .gitignore: Likewise.
67645
67646 2007-04-12  Bruno Haible  <bruno@clisp.org>
67647
67648         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
67649         not before, since $(LDADD) often contains libgnu.a.
67650         * modules/striconv-tests (test_striconv_LDADD): Likewise.
67651         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
67652         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
67653         Needed on Cygwin.
67654
67655 2007-04-12  Eric Blake  <ebb9@byu.net>
67656
67657         Work around glibc's failure to flush stdin on fclose.
67658         * lib/closein.c (close_stdin): Flush stdin before closing.
67659
67660         Work around glibc's failure to reset seekable stdin on exit.
67661         * modules/closein: New module.
67662         * lib/closein.c: New file.
67663         * lib/closein.h: Likewise.
67664         * m4/closein.m4: Likewise.
67665         * MODULES.html.sh (File stream based Input/Output): Document it.
67666
67667 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67668
67669         * gnulib-tool: Rename generated 'autobuild' script to
67670         'do-autobuild' in --create-megatestdir output.
67671
67672         * doc/gnulib.texi (Build robot for gnulib): Fix.
67673
67674 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67675
67676         * modules/sysexits (Depends-on): Add absolute-header.
67677
67678 2007-04-12  Eric Blake  <ebb9@byu.net>
67679
67680         No need to preserve errno on success.
67681         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
67682         Reported by Bruno Haible.
67683
67684 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67685
67686         * MODULES.html.sh (Support for maintaining and releasing
67687         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
67688
67689 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67690
67691         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
67692
67693 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67694
67695         * modules/autobuild: New module.
67696
67697         * m4/autobuild.m4: New file.
67698
67699 2007-04-11  Bruno Haible  <bruno@clisp.org>
67700
67701         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
67702         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
67703         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
67704         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
67705         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67706         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67707         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67708         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67709         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67710         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67711         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_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/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_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/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_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/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_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/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_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/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_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         Reported by Eric Blake.
67730
67731 2007-04-11  Bruno Haible  <bruno@clisp.org>
67732
67733         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
67734
67735 2007-04-10  Bruno Haible  <bruno@clisp.org>
67736
67737         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
67738         for NaN and Infinity. Needed on FreeBSD 6.1.
67739         * tests/test-vasnprintf-posix.c (test_function): Undo last change
67740         regarding results for "%010a" of Infinity and NaN.
67741         * tests/test-vasprintf-posix.c (test_function): Likewise.
67742         * tests/test-snprintf-posix.h (test_function): Likewise.
67743         * tests/test-sprintf-posix.h (test_function): Likewise.
67744         * tests/test-fprintf-posix.h (test_function): Likewise.
67745         * tests/test-printf-posix.h (test_function): Likewise.
67746         * tests/test-fprintf-posix.out: Likewise.
67747
67748 2007-04-10  Bruno Haible  <bruno@clisp.org>
67749
67750         * modules/locale-tests: New file.
67751         * tests/test-locale.c: New file.
67752
67753         * modules/locale: New file.
67754         * lib/locale_.h: New file.
67755         * m4/locale_h.m4: New file.
67756
67757 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
67758             Bruno Haible  <bruno@clisp.org>
67759
67760         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
67761         be determined, test for availability of the copysignf, copysign,
67762         copysignl functions.
67763         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
67764         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
67765         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
67766
67767 2007-04-09  Eric Blake  <ebb9@byu.net>
67768
67769         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
67770         * modules/stdio (Makefile.am): Support fflush.
67771         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67772         * modules/fflush: New file.
67773         * lib/fflush.c: Likewise.
67774         * m4/fflush.m4: Likewise.
67775         * modules/fflush-tests: New test.
67776         * tests/test-fflush.c: Likewise.
67777         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
67778
67779 2007-04-06  Bruno Haible  <bruno@clisp.org>
67780
67781         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
67782         (VASNPRINTF): Use signbit for faster determination whether to print a
67783         minus sign.
67784         * modules/vasnprintf (Files): Remove lib/float+.h.
67785         * modules/fprintf-posix (Depends-on): Add signbit.
67786         * modules/snprintf-posix (Depends-on): Likewise.
67787         * modules/sprintf-posix (Depends-on): Likewise.
67788         * modules/vasnprintf-posix (Depends-on): Likewise.
67789         * modules/vasprintf-posix (Depends-on): Likewise.
67790         * modules/vfprintf-posix (Depends-on): Likewise.
67791         * modules/vsnprintf-posix (Depends-on): Likewise.
67792         * modules/vsprintf-posix (Depends-on): Likewise.
67793
67794 2007-04-06  Bruno Haible  <bruno@clisp.org>
67795
67796         * tests/test-frexp.c (main): Test also the sign bit of zero results.
67797         * tests/test-frexpl.c (main): Likewise.
67798         * tests/test-ldexpl.c (main): Likewise.
67799         * modules/frexp-tests (Depends-on): Add signbit.
67800         * modules/frexpl-tests (Depdends-on): Likewise.
67801         * modules/ldexpl-tests (Depdends-on): Likewise.
67802
67803 2007-04-06  Bruno Haible  <bruno@clisp.org>
67804
67805         * modules/signbit-tests: New file.
67806         * tests/test-signbit.c: New file.
67807
67808         * modules/signbit: New file.
67809         * lib/signbitf.c: New file.
67810         * lib/signbitd.c: New file.
67811         * lib/signbitl.c: New file.
67812         * m4/signbit.m4: New file.
67813         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
67814         (signbit): New macro.
67815         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
67816         REPLACE_SIGNBIT.
67817         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
67818         REPLACE_FREXPL into math.h.
67819
67820 2007-04-06  Bruno Haible  <bruno@clisp.org>
67821
67822         * modules/isnanf-nolibm-tests: New file.
67823         * tests/test-isnanf.c: New file.
67824
67825         * modules/isnanf-nolibm: New file.
67826         * lib/isnanf.h: New file.
67827         * lib/isnanf.c: New file.
67828         * lib/isnan.c: Consider the USE_FLOAT macro.
67829         * m4/isnanf.m4: New file.
67830
67831 2007-04-06  Bruno Haible  <bruno@clisp.org>
67832
67833         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
67834         (Link): New section.
67835
67836         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
67837
67838 2007-04-06  Bruno Haible  <bruno@clisp.org>
67839
67840         Assume the 'long double' type.
67841         * m4/longdouble.m4: Remove file.
67842         * config/srclist.txt: Don't mention longdouble.m4.
67843         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
67844         * lib/float+.h: Likewise.
67845         * lib/frexp.c: Likewise.
67846         * lib/printf-args.h: Likewise.
67847         * lib/printf-args.c: Likewise.
67848         * lib/printf-frexp.c: Likewise.
67849         * lib/printf-parse.c: Likewise.
67850         * lib/vasnprintf.c: Likewise.
67851         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
67852         * m4/intl.m4: Likewise.
67853         * m4/isnanl.m4: Likewise.
67854         * m4/printf.m4: Likewise.
67855         * m4/printf-frexpl.m4: Likewise.
67856         * m4/vasnprintf.m4: Likewise.
67857         * modules/allocsa (Files): Remove m4/longdouble.m4.
67858         * modules/gettext (Files): Likewise.
67859         * modules/relocatable-prog-wrapper (Files): Likewise.
67860         * modules/vasnprintf (Files): Likewise.
67861         * modules/isnanl (Files): Likewise.
67862         (Include): Simplify.
67863         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
67864         (Include): Simplify.
67865         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
67866         (Include): Simplify.
67867         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
67868         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67869         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
67870         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67871         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67872         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67873         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
67874         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67875         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67876         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67877         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
67878         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67879         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
67880         * tests/test-isnanl.c: Likewise.
67881         * tests/test-snprintf-posix.h: Likewise.
67882         * tests/test-sprintf-posix.h: Likewise.
67883         * tests/test-vasnprintf-posix.c: Likewise.
67884         * tests/test-vasnprintf-posix2.c: Likewise.
67885         * tests/test-vasprintf-posix.c: Likewise.
67886
67887 2007-04-06  Bruno Haible  <bruno@clisp.org>
67888
67889         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
67890         * lib/math_.h [__DECC]: Include the overridden include file through
67891         #include_next, outside the double-inclusion guard.
67892         * lib/stdio_.h [__DECC]: Likewise.
67893         * lib/stdlib_.h [__DECC]: Likewise.
67894         * lib/string_.h [__DECC]: Likewise.
67895         * lib/time_.h [__DECC]: Likewise.
67896         * lib/wchar_.h [__DECC]: Likewise.
67897         * lib/wctype_.h [__DECC]: Likewise.
67898         * lib/inttypes_.h [__DECC]: Likewise.
67899         Reported by Albert Chin <china@thewrittenword.com> in
67900         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
67901
67902 2007-04-04  Eric Blake  <ebb9@byu.net>
67903
67904         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
67905         1.5.x.
67906
67907 2007-04-04  Bruno Haible  <bruno@clisp.org>
67908
67909         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
67910         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
67911
67912 2007-04-04  Bruno Haible  <bruno@clisp.org>
67913
67914         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
67915         results for "%010a" of Infinity and NaN.
67916         * tests/test-vasprintf-posix.c (test_function): Likewise.
67917         * tests/test-snprintf-posix.h (test_function): Likewise.
67918         * tests/test-sprintf-posix.h (test_function): Likewise.
67919         * tests/test-fprintf-posix.h (test_function): Remove these tests.
67920         * tests/test-printf-posix.h (test_function): Likewise.
67921         * tests/test-fprintf-posix.out: Update.
67922         Needed for FreeBSD 6.1.
67923
67924 2007-04-04  Bruno Haible  <bruno@clisp.org>
67925
67926         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
67927         directly used by the gnulib modules nor by gnulib-tool.
67928
67929 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67930
67931         * DEPENDENCIES: Give overall description of version dependency
67932         desirability.  Use more-typical names for apps.
67933         Add shell, coreutils, diffutils, grep, tar, gzip.
67934
67935 2007-04-04  Simon Josefsson  <simon@josefsson.org>
67936
67937         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
67938
67939 2007-04-04  Karl Berry  <karl@gnu.org>
67940
67941         * MODULES.html.sh (func_module): missing '.
67942
67943 2007-04-03  Bruno Haible  <bruno@clisp.org>
67944
67945         * modules/argmatch-tests (Makefile.am): New variable
67946         test_argmatch_LDADD.
67947         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
67948         * modules/array-list-tests (Makefile.am): New variable
67949         test_array_list_LDADD.
67950         * modules/array-oset-tests (Makefile.am): New variable
67951         test_array_oset_LDADD.
67952         * modules/avltree-list-tests (Makefile.am): New variable
67953         test_avltree_list_LDADD.
67954         * modules/avltree-oset-tests (Makefile.am): New variable
67955         test_avltree_oset_LDADD.
67956         * modules/avltreehash-list-tests (Makefile.am): New variable
67957         test_avltreehash_list_LDADD.
67958         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
67959         test_canonicalize_lgpl_LDADD.
67960         * modules/carray-list-tests (Makefile.am): New variable
67961         test_carray_list_LDADD.
67962         * modules/dirname-tests (Makefile.am): New variable
67963         test_dirname_LDADD.
67964         * modules/linked-list-tests (Makefile.am): New variable
67965         test_linked_list_LDADD.
67966         * modules/linkedhash-list-tests (Makefile.am): New variable
67967         test_linkedhash_list_LDADD.
67968         * modules/rbtree-list-tests (Makefile.am): New variable
67969         test_rbtree_list_LDADD.
67970         * modules/rbtree-oset-tests (Makefile.am): New variable
67971         test_rbtree_oset_LDADD.
67972         * modules/rbtreehash-list-tests (Makefile.am): New variable
67973         test_rbtreehash_list_LDADD.
67974         * modules/xvasprintf-tests (Makefile.am): New variable
67975         test_xvasprintf_LDADD.
67976         Reported by Eric Blake.
67977
67978 2007-04-03  Eric Blake  <ebb9@byu.net>
67979
67980         * DEPENDENCIES: Weaken m4 requirements.
67981
67982 2007-04-03  Bruno Haible  <bruno@clisp.org>
67983
67984         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
67985         * modules/isnanl-tests (configure.ac): Likewise.
67986
67987 2007-04-03  Ben Pfaff  <blp@gnu.org>
67988
67989         * modules/iconv_open: Add $(srcdir)/ to source directory
67990         references in Makefile fragments that call gperf, to fix VPATH
67991         builds.
67992
67993 2007-04-03  Bruno Haible  <bruno@clisp.org>
67994
67995         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
67996         * lib/ldexpl.c: Undo last change.
67997
67998 2007-04-03  Bruno Haible  <bruno@clisp.org>
67999
68000         * modules/printf-frexpl (Depends-on): Undo last change.
68001         (Files): Add m4/ldexpl.m4.
68002
68003 2007-04-03  Bruno Haible  <bruno@clisp.org>
68004
68005         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
68006         * modules/isnanl (Link): New section.
68007
68008         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
68009         * modules/frexp (Link): New section.
68010
68011         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
68012         * modules/frexpl (Link): New section.
68013
68014         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
68015         * modules/ldexpl (Link): New section.
68016
68017 2007-04-03  Bruno Haible  <bruno@clisp.org>
68018
68019         * modules/TEMPLATE-EXTENDED: New file.
68020         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
68021
68022 2007-04-03  Bruno Haible  <bruno@clisp.org>
68023
68024         * DEPENDENCIES: New file.
68025         Suggested by Simon Josefsson.
68026
68027 2007-04-03  Bruno Haible  <bruno@clisp.org>
68028
68029         * doc/gnulib.texi: Escape @.
68030
68031 2007-04-03  James Youngman  <jay@gnu.org>
68032         and Paul Eggert  <eggert@cs.ucla.edu>
68033
68034         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
68035         birthtime on all systems that have birthtime, not just those which
68036         use st_birthtimensec rather than st_birthtim.  Putting zero in
68037         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
68038         that the birth time is not available for files on an NFS mount.
68039
68040 2007-04-03  Simon Josefsson  <simon@josefsson.org>
68041
68042         * modules/memxor: Move back from crypto/, suggested by Bruno.
68043         * modules/crypto/hmac-sha1: Fix memxor dependency.
68044
68045         * modules/crypto/gc: Moved from ../.
68046
68047 2007-04-02  Eric Blake  <ebb9@byu.net>
68048
68049         * lib/ldexpl.c (includes): Avoid libm.
68050
68051         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
68052
68053 2007-04-02  Bruno Haible  <bruno@clisp.org>
68054
68055         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
68056         on IRIX.
68057
68058 2007-04-02  Bruno Haible  <bruno@clisp.org>
68059
68060         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
68061         x86 or x86_64 platforms running MacOS X.
68062         Reported by Ryan Schmidt <@ryandesign.com>.
68063
68064 2007-04-02  Bruno Haible  <bruno@clisp.org>
68065
68066         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
68067         i386.
68068
68069 2007-04-01  Simon Josefsson  <simon@josefsson.org>
68070
68071         * modules/crypto/arcfour: Moved from ../.
68072         * modules/crypto/arcfour-tests: Moved from ../.
68073         * modules/crypto/arctwo: Moved from ../.
68074         * modules/crypto/arctwo-tests: Moved from ../.
68075         * modules/crypto/des: Moved from ../.
68076         * modules/crypto/des-tests: Moved from ../.
68077         * modules/crypto/gc-arcfour: Moved from ../.
68078         * modules/crypto/gc-arcfour-tests: Moved from ../.
68079         * modules/crypto/gc-arctwo: Moved from ../.
68080         * modules/crypto/gc-arctwo-tests: Moved from ../.
68081         * modules/crypto/gc-des: Moved from ../.
68082         * modules/crypto/gc-des-tests: Moved from ../.
68083         * modules/crypto/gc-hmac-md5: Moved from ../.
68084         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
68085         * modules/crypto/gc-hmac-sha1: Moved from ../.
68086         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
68087         * modules/crypto/gc-md2: Moved from ../.
68088         * modules/crypto/gc-md2-tests: Moved from ../.
68089         * modules/crypto/gc-md4: Moved from ../.
68090         * modules/crypto/gc-md4-tests: Moved from ../.
68091         * modules/crypto/gc-md5: Moved from ../.
68092         * modules/crypto/gc-md5-tests: Moved from ../.
68093         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
68094         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
68095         * modules/crypto/gc-random: Moved from ../.
68096         * modules/crypto/gc-rijndael: Moved from ../.
68097         * modules/crypto/gc-rijndael-tests: Moved from ../.
68098         * modules/crypto/gc-sha1: Moved from ../.
68099         * modules/crypto/gc-sha1-tests: Moved from ../.
68100         * modules/crypto/gc-tests: Moved from ../.
68101         * modules/crypto/hmac-md5: Moved from ../.
68102         * modules/crypto/hmac-md5-tests: Moved from ../.
68103         * modules/crypto/hmac-sha1: Moved from ../.
68104         * modules/crypto/hmac-sha1-tests: Moved from ../.
68105         * modules/crypto/md2: Moved from ../.
68106         * modules/crypto/md2-tests: Moved from ../.
68107         * modules/crypto/md4: Moved from ../.
68108         * modules/crypto/md4-tests: Moved from ../.
68109         * modules/crypto/md5: Moved from ../.
68110         * modules/crypto/md5-tests: Moved from ../.
68111         * modules/crypto/memxor: Moved from ../.
68112         * modules/crypto/rijndael: Moved from ../.
68113         * modules/crypto/rijndael-tests: Moved from ../.
68114         * modules/crypto/sha1: Moved from ../.
68115
68116 2007-03-30  James Youngman  <jay@gnu.org>
68117
68118         * tests/test-stat-time.c (prepare_test): use chmod() rather than
68119         rename() to change the ctime of a file (because ctime is unaffected
68120         by rename on jfs2 on AIX 5.1).
68121         (main): Start by doing cleanup, in case a previous run failed leaving
68122         test files behind.
68123
68124 2007-03-31  Bruno Haible  <bruno@clisp.org>
68125
68126         Support old proprietary implementations of iconv.
68127         * modules/iconv_open: New file.
68128         * lib/iconv_.h: New file.
68129         * m4/iconv_h.m4: New file.
68130         * lib/iconv_open.c: New file.
68131         * lib/iconv_open-aix.gperf: New file.
68132         * lib/iconv_open-hpux.gperf: New file.
68133         * lib/iconv_open-irix.gperf: New file.
68134         * lib/iconv_open-osf.gperf: New file.
68135         * m4/iconv_open.m4: New file.
68136         * modules/linebreak (Depends-on): Add iconv_open.
68137         * modules/striconv (Depends-on): Likewise.
68138         * modules/striconveh (Depends-on): Likewise.
68139         * modules/unicodeio (Depends-on): Likewise.
68140         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
68141         (iconv_t)(-1).
68142         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
68143         conversion if cd is (iconv_t)(-1).
68144         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
68145         is not possible.
68146
68147 2007-03-31  Bruno Haible  <bruno@clisp.org>
68148
68149         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68150         work on Solaris either. Protect also second use of "autodetect_jp".
68151
68152 2007-03-31  Bruno Haible  <bruno@clisp.org>
68153
68154         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
68155         the function is not present.
68156
68157 2007-03-31  Bruno Haible  <bruno@clisp.org>
68158
68159         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
68160         the function is not present.
68161
68162 2007-03-31  Bruno Haible  <bruno@clisp.org>
68163
68164         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
68165         a bug in HP-UX iconv_open().
68166
68167 2007-03-31  Bruno Haible  <bruno@clisp.org>
68168
68169         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
68170         (Mathematics <math.h>): New section, add fpieee.
68171         (Input/output <stdio.h>): Add fseterr.
68172         (Mathematics <math.h>): New section, add printf-frexp.
68173         (Container data structures): Add sublist.
68174         (Core language properties): Add fpucw, inline.
68175         (Functions for greatest-width integer types <inttypes.h>): Add
68176         imaxabs, imaxdiv, inttypes.
68177         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
68178         isnanl-nolibm, ldexp.
68179         (Mathematics <math.h>): New section, add printf-frexpl.
68180         (Support for systems lacking POSIX:2001): Add fprintf-posix,
68181         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
68182         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
68183         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
68184         (Unicode string functions): Add unistr/u*-mbtoucr.
68185         (Java): Add javacomp-script, javaexec-script.
68186         (C#): Add csharpcomp-script, csharpexec-script.
68187         (Support for building libraries and executables): Add havelib,
68188         relocatable-*.
68189         (Support for maintaining and releasing projects): Renamed from
68190         'Support for maintaining and release projects'. Add announce-gen.
68191
68192 2007-03-31  Bruno Haible  <bruno@clisp.org>
68193
68194         * README: Talk primarily about git.
68195         (git and CVS): Renamed from CVS.
68196         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
68197         gnulib is available through git.
68198         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
68199
68200 2007-03-30  Bruno Haible  <bruno@clisp.org>
68201
68202         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
68203         * lib/poll_.h: Likewise.
68204         * lib/stat_.h: Likewise.
68205         * lib/sys_time_.h: Likewise.
68206         * lib/sysexit_.h: Likewise.
68207         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
68208         * lib/stdbool_.h: Likewise.
68209         * lib/byteswap_.h: Add double-inclusion guard.
68210
68211 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
68212
68213         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
68214
68215 2007-03-30  Karl Berry  <karl@gnu.org>
68216
68217         * config/srclist-update: double space after USA in the license
68218         substitution, since that's how it's usually (?) written.
68219
68220 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68221
68222         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
68223         reported by Bruno Haible.
68224
68225 2007-03-29  Bruno Haible  <bruno@clisp.org>
68226
68227         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
68228         a bug in AIX iconv().
68229
68230 2007-03-29  Bruno Haible  <bruno@clisp.org>
68231
68232         * modules/ldexpl-tests: New file.
68233         * tests/test-ldexpl.c: New file.
68234
68235 2007-03-29  Bruno Haible  <bruno@clisp.org>
68236
68237         * lib/ldexpl.c: Include fpucw.h.
68238         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
68239         multiplication.
68240         * modules/ldexpl (Depends-on): Add fpucw.
68241
68242 2007-03-29  Bruno Haible  <bruno@clisp.org>
68243
68244         * modules/ldexpl: New file.
68245         * m4/ldexpl.m4: New file.
68246         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
68247         set.
68248         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
68249         REPLACE_LDEXPL.
68250         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
68251         REPLACE_LDEXPL.
68252         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68253         gl_FUNC_LDEXPL_WORKS.
68254         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
68255         * modules/mathl (Files): Remove lib/ldexpl.c.
68256         (Depends-on): Add ldexpl.
68257
68258 2007-03-29  Bruno Haible  <bruno@clisp.org>
68259
68260         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
68261
68262 2007-03-29  Bruno Haible  <bruno@clisp.org>
68263
68264         * tests/test-striconveh.c (main): Don't assume that a direct conversion
68265         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
68266         and possibly also HP-UX.
68267         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68268         work on AIX, IRIX, HP-UX, OSF/1.
68269         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
68270         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
68271         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
68272         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
68273         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
68274         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
68275
68276 2007-03-29  Bruno Haible  <bruno@clisp.org>
68277
68278         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
68279
68280 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68281
68282         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
68283         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
68284
68285 2007-03-29  Eric Blake  <ebb9@byu.net>
68286
68287         * lib/acl-internal.h: Remove redundant include.
68288         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
68289         Cygwin when a file is locked.
68290
68291 2007-03-29  Bruno Haible  <bruno@clisp.org>
68292
68293         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
68294         file.
68295         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
68296
68297 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68298
68299         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
68300         try to remove a parent directory if the child couldn't be removed
68301         (except for the first rmdir, which could fail because the child
68302         doesn't exist).  Problem reported by Jeff Blaine in
68303         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
68304
68305 2007-03-28  Bruno Haible  <bruno@clisp.org>
68306
68307         * lib/striconveh.c (utf8conv_carefully): New function.
68308         (mem_cd_iconveh_internal): Invoke it.
68309
68310 2007-03-28  Bruno Haible  <bruno@clisp.org>
68311
68312         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
68313         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
68314         input.
68315         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
68316         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
68317         unistr/u8-uctomb.
68318
68319 2007-03-28  Bruno Haible  <bruno@clisp.org>
68320
68321         * modules/unistr/u8-mbtoucr: New file.
68322         * lib/unistr/u8-mbtoucr.c: New file.
68323         * modules/unistr/u16-mbtoucr: New file.
68324         * lib/unistr/u16-mbtoucr.c: New file.
68325         * modules/unistr/u16-mbtoucr: New file.
68326         * lib/unistr/u16-mbtoucr.c: New file.
68327         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
68328
68329 2007-03-27  Simon Josefsson  <simon@josefsson.org>
68330             Bruno Haible  <bruno@clisp.org>
68331
68332         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
68333         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
68334         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
68335
68336         * m4/stdio_h.m4: Add stubs for vasprintf too.
68337
68338         * modules/stdio: Support vasprintf in sed command.
68339
68340         * modules/vasprintf: Depend on stdio for prototypes.  Remove
68341         vasprintf.h.  Add stdio module indicator.
68342
68343         * lib/stdio_.h: Declare asprintf and vasprintf, based on
68344         vasprintf.h.
68345
68346         * lib/vasprintf.h: File removed.
68347
68348         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
68349         * lib/vasprintf.c: Ditto.
68350         * lib/xvasprintf.c: Ditto.
68351         * tests/test-vasprintf-posix.c: Ditto.
68352         * tests/test-vasprintf.c: Ditto.
68353
68354 2007-03-27  Bruno Haible  <bruno@clisp.org>
68355
68356         Make vasnprintf multithread-safe.
68357         * lib/vasnprintf.c (decimal_point_char): New function.
68358         (VASNPRINTF): Use it.
68359         Suggested by Simon Josefsson.
68360
68361 2007-03-27  Eric Blake  <ebb9@byu.net>
68362
68363         Support sub-second birthtime on cygwin.
68364         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
68365         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
68366         (get_stat_birthtime): Also work with st_birthtim.
68367
68368 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68369
68370         * lib/stat-time.h (USE_BIRTHTIME): Remove.
68371         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
68372         (get_stat_birthtime_ns): Do not try to use "spare" fields.
68373         (get_stat_birthtime_ns): Simplify compile-time tests.
68374         (get_stat_birthtime): Change the API to look like
68375         get_stat_mtime etc., except return a negative tv_nsec on error.
68376         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
68377         Don't check for "spare" fields.
68378         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
68379         or for struct stat.st_birthtime, as these tests aren't used.
68380         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
68381
68382 2007-03-27  Bruno Haible  <bruno@clisp.org>
68383
68384         * lib/stat-time.h: Include <sys/stat.h>.
68385
68386 2007-03-27  James Youngman  <jay@gnu.org>
68387
68388         * lib/stat-time.h (get_stat_birthtime): New function for
68389           retrieving st_birthtime as provided by UFS2 (hence *BSD).
68390         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
68391           and its variants.
68392         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
68393         * modules/stat-time-test: New file.
68394         * tests/test-stat-time.c: New test, devised by Bruno Haible.
68395
68396 2007-03-26  Bruno Haible  <bruno@clisp.org>
68397
68398         Better support of signalling NaNs.
68399         * lib/atanl.c: Include isnanl.h.
68400         (atanl): Perform test for NaN at the beginning of the function and
68401         through a call to isnanl.
68402         * lib/cosl.c: Include isnanl.h.
68403         (cosl): Perform test for NaN at the beginning of the function and
68404         through a call to isnanl.
68405         * lib/ldexpl.c: Include isnanl.h.
68406         (ldexpl): Perform test for NaN through a call to isnanl.
68407         * lib/logl.c: Include isnanl.h.
68408         (logl): Perform test for NaN at the beginning of the function and
68409         through a call to isnanl.
68410         * lib/sinl.c: Include isnanl.h.
68411         (sinl): Perform test for NaN at the beginning of the function and
68412         through a call to isnanl.
68413         * lib/sqrtl.c: Include isnanl.h.
68414         (sqrtl): Perform test for NaN at the beginning of the function and
68415         through a call to isnanl.
68416         * lib/tanl.c: Include isnanl.h.
68417         (tanl): Perform test for NaN at the beginning of the function and
68418         through a call to isnanl.
68419         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
68420         * modules/mathl (Depends-on): Add isnanl.
68421
68422 2007-03-26  Eric Blake  <ebb9@byu.net>
68423
68424         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
68425         regression in logic sense of previous patch.
68426
68427 2007-03-26  Bruno Haible  <bruno@clisp.org>
68428
68429         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
68430         unportable shell command "if ! ...".
68431         Reported by Ralf Wildenhues.
68432
68433 2007-03-25  Bruno Haible  <bruno@clisp.org>
68434
68435         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
68436         <sysexits.h> file, and only add EX_CONFIG.
68437         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
68438         absolute file name and whether it is sufficient. Substitute also
68439         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
68440         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
68441         ABSOLUTE_SYSEXITS_H into sysexits.h.
68442
68443 2007-03-25  Bruno Haible  <bruno@clisp.org>
68444
68445         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
68446         hints is NULL.
68447
68448 2007-03-25  Bruno Haible  <bruno@clisp.org>
68449
68450         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
68451         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
68452
68453 2007-03-25  Bruno Haible  <bruno@clisp.org>
68454
68455         * lib/vasnprintf.c: Include langinfo.h.
68456         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
68457         multithread-safe.
68458         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
68459         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
68460         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68461         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68462         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68463         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68464         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68465         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
68466         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68467         Reported by Simon Josefsson.
68468
68469 2007-03-25  Bruno Haible  <bruno@clisp.org>
68470
68471         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
68472         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
68473         * modules/vasnprintf (Depends-on): Add stdint.
68474
68475 2007-03-25  Bruno Haible  <bruno@clisp.org>
68476
68477         * modules/fpieee: New file.
68478         * m4/fpieee.m4: New file.
68479         * modules/isnan-nolibm (Depends-on): Add fpieee.
68480         * modules/isnanl-nolibm (Depends-on): Add fpieee.
68481         * modules/isnanl (Depends-on): Add fpieee.
68482
68483 2007-03-25  Bruno Haible  <bruno@clisp.org>
68484
68485         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
68486
68487 2007-03-25  Bruno Haible  <bruno@clisp.org>
68488
68489         Avoid test failures on IRIX 6.5.
68490         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
68491         (main): Use it.
68492         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
68493         macros.
68494         (main): Use them.
68495
68496 2007-03-25  Bruno Haible  <bruno@clisp.org>
68497
68498         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
68499         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
68500         exists but doesn't work.
68501         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
68502         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
68503         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
68504         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
68505         math.h.
68506
68507 2007-03-25  Bruno Haible  <bruno@clisp.org>
68508
68509         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
68510         returns inf. Needed on IRIX 6.5.
68511
68512 2007-03-25  Bruno Haible  <bruno@clisp.org>
68513
68514         * tests/test-frexpl.c: Include isnanl-nolibm.h.
68515         (main): Use isnanl instead of x != x idiom.
68516         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
68517
68518         * tests/test-frexp.c: Include isnan.h.
68519         (main): Use isnan instead of x != x idiom.
68520         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
68521
68522 2007-03-25  Bruno Haible  <bruno@clisp.org>
68523
68524         * tests/test-frexp.c (NaN): New function/macro.
68525         (main): Use it instead of 0.0 / 0.0.
68526         * tests/test-isnan.c (NaN): New function/macro.
68527         (main): Use it instead of 0.0 / 0.0.
68528         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
68529         (test_function): Use it instead of 0.0 / 0.0.
68530         * tests/test-vasprintf-posix.c (NaN): New function/macro.
68531         (test_function): Use it instead of 0.0 / 0.0.
68532         * tests/test-snprintf-posix.h (NaN): New function/macro.
68533         (test_function): Use it instead of 0.0 / 0.0.
68534         * tests/test-sprintf-posix.h (NaN): New function/macro.
68535         (test_function): Use it instead of 0.0 / 0.0.
68536         * tests/test-fprintf-posix.h (NaN): New function/macro.
68537         (test_function): Use it instead of 0.0 / 0.0.
68538         * tests/test-printf-posix.h (NaN): New function/macro.
68539         (test_function): Use it instead of 0.0 / 0.0.
68540
68541         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
68542
68543 2007-03-25  Bruno Haible  <bruno@clisp.org>
68544
68545         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
68546
68547 2007-03-25  Bruno Haible  <bruno@clisp.org>
68548
68549         * lib/regexec.c (merge_state_with_log): Make static.
68550
68551 2007-03-25  Bruno Haible  <bruno@clisp.org>
68552
68553         * lib/trigl.c (kernel_rem_pio2): Make static.
68554
68555 2007-03-25  Bruno Haible  <bruno@clisp.org>
68556
68557         * lib/sincosl.c (sincosl_table): Make static.
68558
68559 2007-03-25  Bruno Haible  <bruno@clisp.org>
68560
68561         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
68562         if the compiler does not support C99.
68563
68564 2007-03-25  Bruno Haible  <bruno@clisp.org>
68565
68566         * modules/time (Makefile.am): Ensure all rule action lines start with a
68567         tab.
68568
68569 2007-03-24  Bruno Haible  <bruno@clisp.org>
68570
68571         * modules/tsearch-tests: New file.
68572         * tests/test-tsearch.sh: New file.
68573         * tests/test-tsearch.c: New file, mostly copied from glibc.
68574
68575         * modules/search-tests: New file.
68576         * tests/test-search.c: New file.
68577
68578         * modules/search: New file.
68579         * lib/search_.h: New file, incorporating lib/tsearch.h.
68580         * m4/search_h.m4: New file.
68581         * lib/tsearch.h: Remove file.
68582         * lib/tsearch.c: Include search.h instead of tsearch.h.
68583         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
68584         HAVE_TSEARCH.
68585         * modules/tsearch (Files): Remove lib/tsearch.h.
68586         (Depends-on): Add search.
68587         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
68588         (Include): Change tsearch.h into search.h.
68589
68590 2007-03-24  Bruno Haible  <bruno@clisp.org>
68591
68592         * modules/fpucw: New file.
68593         * lib/fpucw.h: New file.
68594         * lib/frexp.c: Include fpucw.h.
68595         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68596         (FUNC): Use them.
68597         * lib/printf-frexp.c: Include fpucw.h.
68598         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68599         (FUNC): Use them.
68600         * lib/vasnprintf.c: Include fpucw.h.
68601         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
68602         'long double' calculations.
68603         * tests/test-frexpl.c: Include fpucw.h.
68604         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68605         * tests/test-printf-frexpl.c: Include fpucw.h.
68606         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68607         * modules/frexpl (Depends-on): Add fpucw.
68608         * modules/printf-frexpl (Depends-on): Likewise.
68609         * modules/fprintf-posix (Depends-on): Likewise.
68610         * modules/snprintf-posix (Depends-on): Likewise.
68611         * modules/sprintf-posix (Depends-on): Likewise.
68612         * modules/vasnprintf-posix (Depends-on): Likewise.
68613         * modules/vasprintf-posix (Depends-on): Likewise.
68614         * modules/vfprintf-posix (Depends-on): Likewise.
68615         * modules/vsnprintf-posix (Depends-on): Likewise.
68616         * modules/vsprintf-posix (Depends-on): Likewise.
68617         * modules/frexpl-tests (Depends-on): Likewise.
68618         * modules/printf-frexpl-tests (Depends-on): Likewise.
68619
68620 2007-03-24  Bruno Haible  <bruno@clisp.org>
68621
68622         * lib/float+.h: New file.
68623         * lib/isnan.c: Include float+.h.
68624         (SIZE): New macro.
68625         (FUNC): Compare only SIZE bytes of the value.
68626         * lib/vasnprintf.c: Include float+.h.
68627         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
68628         SIZEOF_LDBL or SIZEOF_DBL bytes.
68629         * modules/isnan-nolibm (Files): Add lib/float+.h.
68630         * modules/isnanl-nolibm (Files): Add lib/float+.h.
68631         * modules/isnanl (Files): Add lib/float+.h.
68632         * modules/vasnprintf (Files): Add lib/float+.h.
68633
68634 2007-03-24  Bruno Haible  <bruno@clisp.org>
68635
68636         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
68637         include isnanl-nolibm.h.
68638
68639 2007-03-24  Bruno Haible  <bruno@clisp.org>
68640
68641         * tests/test-read-file.c (main): Don't produce spurious output for
68642         expected situations. Make the test fail if it encountered unexpected
68643         results.
68644
68645 2007-03-24  Bruno Haible  <bruno@clisp.org>
68646
68647         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
68648         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
68649
68650 2007-03-24  Bruno Haible  <bruno@clisp.org>
68651
68652         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
68653
68654 2007-03-24  Bruno Haible  <bruno@clisp.org>
68655
68656         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
68657         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
68658
68659         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
68660         * modules/utf8-ucs4: Turn into a symbolic link to module
68661         unistr/u8-mbtouc.
68662
68663         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
68664         utf8-ucs4-unsafe.
68665         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
68666         unistr/u8-mbtouc-unsafe.
68667
68668         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
68669         * modules/utf16-ucs4: Turn into a symbolic link to module
68670         unistr/u16-mbtouc.
68671
68672         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
68673         utf16-ucs4-unsafe.
68674         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
68675         unistr/u16-mbtouc-unsafe.
68676
68677         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
68678         * modules/ucs4-utf8: Turn into a symbolic link to module
68679         unistr/u8-ubtomb.
68680
68681         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
68682         * modules/ucs4-utf16: Turn into a symbolic link to module
68683         unistr/u16-ubtomb.
68684
68685 2007-03-24  Bruno Haible  <bruno@clisp.org>
68686
68687         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
68688         Enable the function only if HAVE_INLINE.
68689         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
68690         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68691         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
68692         Enable the function only if HAVE_INLINE.
68693         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
68694         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68695         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
68696         Enable the function only if HAVE_INLINE.
68697         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
68698         Enable the function only if HAVE_INLINE.
68699         * modules/utf8-ucs4: Update.
68700         * modules/utf8-ucs4-unsafe: Update.
68701         * modules/utf16-ucs4: Update.
68702         * modules/utf16-ucs4-unsafe: Update.
68703         * modules/ucs4-utf8: Update.
68704         * modules/ucs4-utf16: Update.
68705
68706 2007-03-24  Bruno Haible  <bruno@clisp.org>
68707
68708         * lib/utf8-ucs4.h: Remove file.
68709         * lib/utf8-ucs4-unsafe.h: Remove file.
68710         * lib/utf16-ucs4.h: Remove file.
68711         * lib/utf16-ucs4-unsafe.h: Remove file.
68712         * lib/ucs4-utf8.h: Remove file.
68713         * lib/ucs4-utf16.h: Remove file.
68714         * lib/unistr.h: Include their previous contents.
68715         * m4/utf-ucs4.m4: Remove file.
68716         * m4/ucs4-utf.m4: Remove file.
68717         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
68718         (Depends-on): Add unistr/base.
68719         (configure.ac): Remove gl_UTF_UCS4.
68720         (Makefile.am): Update.
68721         (Include): Change to unistr.h.
68722         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
68723         (Depends-on): Add unistr/base.
68724         (configure.ac): Remove gl_UTF_UCS4.
68725         (Makefile.am): Update.
68726         (Include): Change to unistr.h.
68727         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
68728         (Depends-on): Add unistr/base.
68729         (configure.ac): Remove gl_UTF_UCS4.
68730         (Makefile.am): Update.
68731         (Include): Change to unistr.h.
68732         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
68733         (Depends-on): Add unistr/base.
68734         (configure.ac): Remove gl_UTF_UCS4.
68735         (Makefile.am): Update.
68736         (Include): Change to unistr.h.
68737         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
68738         (Depends-on): Add unistr/base.
68739         (configure.ac): Remove gl_UCS4_UTF.
68740         (Makefile.am): Update.
68741         (Include): Change to unistr.h.
68742         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
68743         (Depends-on): Add unistr/base.
68744         (configure.ac): Remove gl_UCS4_UTF.
68745         (Makefile.am): Update.
68746         (Include): Change to unistr.h.
68747         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
68748         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
68749         utf8-ucs4-unsafe.h.
68750         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
68751         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
68752         utf16-ucs4-unsafe.h.
68753         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
68754         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
68755         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
68756         * lib/unistr/u8-strchr.c: Likewise.
68757         * lib/unistr/u8-strrchr.c: Likewise.
68758         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
68759         * lib/unistr/u16-strchr.c: Likewise.
68760         * lib/unistr/u16-strrchr.c: Likewise.
68761         * lib/striconveh.c: Update.
68762         * lib/linebreak.c: Update.
68763
68764 2007-03-24  Bruno Haible  <bruno@clisp.org>
68765
68766         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
68767         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
68768
68769 2007-03-22  Bruno Haible  <bruno@clisp.org>
68770
68771         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
68772
68773 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68774
68775         * MODULES.html.sh (File system functions): New module write-any-file.
68776         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
68777         * m4/write-any-file.m4: New files.
68778
68779 2007-03-23  Eric Blake  <ebb9@byu.net>
68780
68781         * gnulib-tool: Rearrange space-tab sequences, since some editors
68782         like to eat them.
68783
68784 2007-03-23  Eric Blake  <ebb9@byu.net>
68785
68786         * lib/version-etc.c (version_etc_va): Update license wording to
68787         be more concise.  Recommended by Richard Stallman.
68788
68789 2007-03-22  Bruno Haible  <bruno@clisp.org>
68790
68791         * lib/poll.c (MSG_PEEK): New fallback definition.
68792
68793 2007-03-22  Bruno Haible  <bruno@clisp.org>
68794
68795         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
68796         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
68797         (main): Update.
68798         Fixes a compilation error on BeOS.
68799
68800 2007-03-22  Bruno Haible  <bruno@clisp.org>
68801
68802         * modules/frexpl-tests: New file.
68803         * tests/test-frexpl.c: New file.
68804
68805         * modules/frexpl: New file.
68806         * m4/frexpl.m4: New file.
68807         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
68808         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
68809         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
68810         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
68811         (Depends-on): Add frexpl. Remove isnanl-nolibm.
68812         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
68813
68814 2007-03-22  Bruno Haible  <bruno@clisp.org>
68815
68816         * lib/frexpl.c: Share code with lib/frexp.c.
68817         * modules/mathl (Files): Add lib/frexp.c.
68818         (Depends-on): Add isnanl-nolibm.
68819
68820 2007-03-22  Bruno Haible  <bruno@clisp.org>
68821
68822         * modules/printf-frexp (Files): Add m4/frexp.m4.
68823         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
68824         only if the found frexp function actually works.
68825
68826 2007-03-22  Bruno Haible  <bruno@clisp.org>
68827
68828         * lib/frexp.c: Remove older implementation that uses divisions.
68829
68830 2007-03-21  Bruno Haible  <bruno@clisp.org>
68831
68832         * modules/frexp-tests: New file.
68833         * tests/test-frexp.c: New file.
68834
68835         * modules/frexp: New file.
68836         * lib/frexp.c: New file.
68837         * m4/frexp.m4: New file.
68838         * lib/math_.h (frexp): New declaration.
68839         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
68840         REPLACE_FREXP.
68841         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
68842
68843 2007-03-21  Bruno Haible  <bruno@clisp.org>
68844
68845         * modules/isnanl-tests: New file.
68846         * tests/test-isnanl.c: New file.
68847
68848         * modules/isnanl: New file.
68849         * lib/isnanl.h: New file.
68850         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
68851         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
68852         gl_FUNC_ISNANL_WORKS.
68853         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
68854         New macros.
68855
68856 2007-03-21  Bruno Haible  <bruno@clisp.org>
68857
68858         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
68859         lib/isnanl.h.
68860         (Include): Update.
68861         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
68862         * lib/vasnprintf.c: Update.
68863         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
68864         tests/test-isnanl.h, remove tests/test-isnanl.c.
68865         (Makefile.am): Update.
68866         * tests/test-isnanl-nolibm.c: New file.
68867         * tests/test-isnanl.h: New file.
68868         * tests/test-isnanl.c: Remove file.
68869
68870 2007-03-21  Jim Meyering  <jim@meyering.net>
68871
68872         When trying to open ".", treat ESTALE like EACCES.
68873         * lib/savewd.c (savewd_save): Resort to forking not just upon
68874         failure with EACCES, but also when errno is ESTALE.
68875
68876 2007-03-20  Bruno Haible  <bruno@clisp.org>
68877
68878         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
68879         Needed on AIX 5.1. Reported by Matthew Woehlke.
68880
68881 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68882
68883         Suggestions by Bruno Haible:
68884         * lib/acl-internal.h: Include "gettext.h" rather than rolling
68885         our own.
68886         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
68887         * modules/acl (Depends-on): Add gettext.
68888
68889 2007-03-19  Bruno Haible  <bruno@clisp.org>
68890
68891         * modules/iconvme: Remove file.
68892         * lib/iconvme.h: Remove file.
68893         * lib/iconvme.c: Remove file.
68894         * m4/iconvme.m4: Remove file.
68895
68896 2007-03-19  Bruno Haible  <bruno@clisp.org>
68897
68898         * doc/relocatable-maint.texi: Break long shell script line.
68899         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68900
68901 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68902
68903         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
68904         handle file_has_acl.
68905         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
68906         * lib/acl.c: Move header inclusions and related macro defns into
68907         lib/acl-internal.h.
68908         (S_ISLNK): Remove defn, since that's now done for us.
68909         (file_has_acl): Move to lib/file-has-acl.c.
68910         Call acl_trivial if available.  This is the crucial part of the fix.
68911         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
68912         shared within the library.  Rewrite a bit, partly to make it compatible
68913         with the GNU coding style.
68914         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
68915         Remove unnecessary double-quotes.
68916         Don't test for acl_to_text; the build will catch that.
68917         Replace acl_entries if it doesn't exist and it is needed.
68918         Check for -lsec and acl_trivial (as used on Solaris 10).
68919         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
68920         lib/file-has-acl.c.
68921         (Depends-on): Add sys_stat, for S_ISLNK.
68922
68923 2007-03-19  Ben Pfaff  <blp@gnu.org>
68924
68925         * doc/gnulib.texi: Fix typos.
68926         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68927
68928 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68929
68930         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
68931         If size is zero here, buf must be zero.
68932
68933 2007-03-19  Simon Josefsson  <simon@josefsson.org>
68934
68935         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
68936         <bruno@clisp.org>.
68937
68938 2007-03-18  Bruno Haible  <bruno@clisp.org>
68939
68940         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
68941         Suggested by Eric Blake.
68942
68943 2007-03-18  Ben Pfaff  <blp@gnu.org>
68944
68945         * doc/relocatable.texi: Recommend using as prefix a directory
68946         that does not exist and will never be created.  Based on
68947         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
68948         and others.
68949
68950 2007-03-17  Bruno Haible  <bruno@clisp.org>
68951
68952         * lib/fchownat.c: Include lchown.h.
68953
68954 2007-03-17  Bruno Haible  <bruno@clisp.org>
68955
68956         Fix endless loop when the given allocated size was > INT_MAX.
68957         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
68958         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
68959         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
68960         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
68961         * lib/sprintf.c (sprintf): Likewise.
68962
68963 2007-03-17  Bruno Haible  <bruno@clisp.org>
68964
68965         * tests/test-argp-2.sh (func_compare): Output a context diff.
68966
68967 2007-03-17  Bruno Haible  <bruno@clisp.org>
68968
68969         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
68970         locale's decimal-point character.
68971
68972 2007-03-17  Bruno Haible  <bruno@clisp.org>
68973
68974         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
68975         before comparing it. Needed because on some platforms (e.g. x86) a
68976         'long double' occupies less bytes than sizeof (long double).
68977
68978 2007-03-17  Bruno Haible  <bruno@clisp.org>
68979
68980         * tests/test-crc.c (main): Make printf statements 64-bit clean.
68981         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
68982         * tests/test-getaddrinfo.c (simple): Likewise.
68983         * tests/test-read-file.c (main): Likewise.
68984
68985 2007-03-17  Bruno Haible  <bruno@clisp.org>
68986
68987         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
68988
68989 2007-03-17  Bruno Haible  <bruno@clisp.org>
68990
68991         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
68992         unused variable.
68993
68994 2007-03-17  Bruno Haible  <bruno@clisp.org>
68995
68996         * tests/test-c-strcasecmp.c: Include c-strcase.h.
68997         * tests/test-c-strncasecmp.c: Likewise.
68998
68999 2007-03-17  Bruno Haible  <bruno@clisp.org>
69000
69001         * modules/stdlib (Depends-on): Add unistd.
69002         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
69003         Needed for MacOS X 10.3.
69004
69005 2007-03-17  Bruno Haible  <bruno@clisp.org>
69006
69007         * lib/unistr/u-strdup.h: Include <stdlib.h>.
69008
69009 2007-03-17  Bruno Haible  <bruno@clisp.org>
69010
69011         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
69012
69013 2007-03-17  Bruno Haible  <bruno@clisp.org>
69014
69015         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
69016         to reflect files copied from gnulib (with or without modifications).
69017         Suggested by Jim Meyering.
69018
69019 2007-03-17  Eric Blake  <ebb9@byu.net>
69020
69021         * NEWS: Document stdlib change from 2007-02-18.
69022
69023 2007-03-17  Jim Meyering  <jim@meyering.net>
69024
69025         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
69026         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
69027         someone uses a name containing shell meta-characters.
69028         Reported by Alfred M. Szmidt.
69029
69030         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
69031
69032 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69033
69034         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
69035         and copy gettext configuration files only if configure.ac contains
69036         a use of AM_GNU_GETTEXT_VERSION.
69037
69038 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69039
69040         * build-aux/bootstrap (gnulib_name): New variable.
69041         (gnulib_tool_options): Use it.
69042
69043 2007-03-13  Simon Josefsson  <simon@josefsson.org>
69044
69045         * tests/test-des.c: Use new namespace.
69046
69047 2007-03-15  Bruno Haible  <bruno@clisp.org>
69048
69049         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
69050         Reported by James Youngman <jay@gnu.org>.
69051
69052 2007-03-15  Bruno Haible  <bruno@clisp.org>
69053
69054         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
69055         declared prototype. Needed with cc on OSF/1 5.1.
69056
69057 2007-03-15  Bruno Haible  <bruno@clisp.org>
69058
69059         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
69060         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
69061         (struct gl_list_implementation): Add dispose_fn argument to the
69062         'create_empty', 'create' methods.
69063         (struct gl_list_impl_base): Add field 'dispose_fn'.
69064         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
69065         argument.
69066         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
69067         dispose_fn argument.
69068         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
69069         dispose_fn on the dropped values.
69070         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
69071         dispose_fn argument.
69072         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
69073         dropped values.
69074         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
69075         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69076         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
69077         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69078         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
69079         argument.
69080         (gl_tree_list_free): Call dispose_fn on the dropped values.
69081         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
69082         the dropped values.
69083         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69084         Add dispose_fn argument.
69085         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
69086         Call dispose_fn on the dropped values.
69087         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
69088         Add dispose_fn argument.
69089         (gl_sublist_create): Initialize the 'dispose_fn' field.
69090         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
69091         * tests/test-array_list.c (main): Update.
69092         * tests/test-carray_list.c (main): Update.
69093         * tests/test-avltree_list.c (main): Update.
69094         * tests/test-rbtree_list.c (main): Update.
69095         * tests/test-avltreehash_list.c (main): Update.
69096         * tests/test-rbtreehash_list.c (main): Update.
69097         * tests/test-linked_list.c (main): Update.
69098         * tests/test-linkedhash_list.c (main): Update.
69099         * tests/test-array_oset.c (main): Update.
69100
69101 2007-03-15  Bruno Haible  <bruno@clisp.org>
69102
69103         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
69104         (gl_oset_create_empty): Add dispose_fn argument.
69105         (struct gl_oset_implementation): Add dispose_fn argument to
69106         'create_empty' method.
69107         (struct gl_oset_impl_base): Add dispose_fn field.
69108         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
69109         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
69110         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
69111         values.
69112         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
69113         (gl_tree_oset_free): Call dispose_fn on the dropped values.
69114         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69115         dropped value.
69116         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69117         dropped value.
69118         * tests/test-array_oset.c (main): Update.
69119         * tests/test-avltree_oset.c (main): Update.
69120         * tests/test-rbtree_oset.c (main): Update.
69121         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
69122
69123 2007-03-13  Bruno Haible  <bruno@clisp.org>
69124
69125         * tests/test-stdbool.c (i): Update after last patch.
69126
69127 2007-03-12  Bruno Haible  <bruno@clisp.org>
69128
69129         * lib/quotearg.c: Include <wctype.h> early, before the definition of
69130         the iswprint macro. Needed on Solaris 2.5.1.
69131
69132 2007-03-12  Bruno Haible  <bruno@clisp.org>
69133
69134         * tests/test-printf-frexp.c (main): Declare x as volatile.
69135
69136 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69137
69138         * doc/gnulib.texi (Build robot for gnulib): New section.
69139
69140 2007-03-12  Jim Meyering  <jim@meyering.net>
69141
69142         * build-aux/bootstrap: New file.
69143         * build-aux/bootstrap.conf: New file, from coreutils.
69144
69145 2007-03-11  Bruno Haible  <bruno@clisp.org>
69146
69147         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
69148
69149 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69150
69151         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
69152         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
69153         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
69154
69155 2007-03-11  Bruno Haible  <bruno@clisp.org>
69156
69157         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
69158         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
69159
69160 2007-03-11  Bruno Haible  <bruno@clisp.org>
69161
69162         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
69163         formula. Needed for SunPRO C 5.0.
69164
69165 2007-03-11  Bruno Haible  <bruno@clisp.org>
69166
69167         * modules/long-options (Depends-on): Add getopt.
69168
69169 2007-03-11  Bruno Haible  <bruno@clisp.org>
69170
69171         * modules/modechange (Depends-on): Add stdbool.
69172
69173 2007-03-11  Bruno Haible  <bruno@clisp.org>
69174
69175         * modules/i-ring (Depends-on): Add stdbool.
69176
69177 2007-03-11  Bruno Haible  <bruno@clisp.org>
69178
69179         * modules/gc-des (Depends-on): Add stdbool.
69180
69181 2007-03-11  Bruno Haible  <bruno@clisp.org>
69182
69183         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
69184
69185 2007-03-11  Bruno Haible  <bruno@clisp.org>
69186
69187         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
69188
69189 2007-03-11  Bruno Haible  <bruno@clisp.org>
69190
69191         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
69192
69193 2007-03-11  Bruno Haible  <bruno@clisp.org>
69194
69195         * lib/vasnprintf.c (sprintf): Undefine.
69196
69197 2007-03-11  Bruno Haible  <bruno@clisp.org>
69198
69199         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
69200         initializers in SunPRO C and Compaq C compilers.
69201
69202 2007-03-11  Bruno Haible  <bruno@clisp.org>
69203
69204         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
69205         decrementing code ANSI C compliant.
69206
69207 2007-03-11  Bruno Haible  <bruno@clisp.org>
69208
69209         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
69210         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
69211
69212 2007-03-11  Bruno Haible  <bruno@clisp.org>
69213
69214         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
69215         <stdbool.h> substitute doesn't pass.
69216
69217 2007-03-11  Bruno Haible  <bruno@clisp.org>
69218
69219         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
69220
69221 2007-03-11  Bruno Haible  <bruno@clisp.org>
69222
69223         * gnulib-tool (func_create_megatestdir): Create also an autobuild
69224         script, for submission to autobuild.josefsson.org.
69225
69226 2007-03-10  Bruno Haible  <bruno@clisp.org>
69227
69228         * modules/canonicalize-lgpl-tests: New file.
69229         * tests/test-canonicalize-lgpl.sh: New file.
69230         * tests/test-canonicalize-lgpl.c: New file.
69231
69232         * modules/c-strcase-tests: New file.
69233         * tests/test-c-strcase.sh: New file.
69234         * tests/test-c-strcasecmp.c: New file.
69235         * tests/test-c-strncasecmp.c: New file.
69236
69237         * modules/atexit-tests: New file.
69238         * tests/test-atexit.sh: New file.
69239         * tests/test-atexit.c: New file.
69240
69241 2007-03-10  Bruno Haible  <bruno@clisp.org>
69242
69243         * tests/test-binary-io.sh: Use temporary filenames that are not so
69244         likely to clash with those of other tests (in a parallel make).
69245         * tests/test-binary-io.c: Likewise.
69246
69247 2007-03-10  Bruno Haible  <bruno@clisp.org>
69248
69249         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
69250         fallback; use #error instead.
69251         Suggested by Simon Josefsson.
69252
69253 2007-03-10  Bruno Haible  <bruno@clisp.org>
69254
69255         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
69256         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
69257         first and the last.
69258
69259 2007-03-10  Bruno Haible  <bruno@clisp.org>
69260
69261         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
69262
69263 2007-03-10  Bruno Haible  <bruno@clisp.org>
69264
69265         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
69266         "make distcheck".
69267         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
69268         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
69269         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
69270
69271 2007-03-10  Bruno Haible  <bruno@clisp.org>
69272
69273         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
69274         variable.
69275         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
69276         variable.
69277
69278 2007-03-09  Eric Blake  <ebb9@byu.net>
69279         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
69280
69281         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
69282         types are not being provided by gnulib.
69283         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
69284         types are supported.
69285
69286 2007-03-10  Bruno Haible  <bruno@clisp.org>
69287
69288         * lib/stdio_.h (__attribute__): New macro.
69289         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
69290         vsprintf): Specify __attribute__ __format__ for GCC.
69291         Suggested by Eric Blake.
69292
69293 2007-03-09  Bruno Haible  <bruno@clisp.org>
69294
69295         * modules/printf-posix-tests: New file.
69296         * tests/test-printf-posix.sh: New file.
69297         * tests/test-printf-posix.c: New file.
69298
69299         * modules/printf-posix: New file.
69300         * lib/printf.c: New file.
69301         * m4/printf-posix-rpl.m4: New file.
69302         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
69303         REPLACE_PRINTF.
69304         * lib/stdio_.h (printf): New declaration.
69305         (format, __format__, ____printf____, ____scanf____, ____strftime____,
69306         ____strfmon____): New macros.
69307         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
69308         REPLACE_PRINTF.
69309
69310 2007-03-09  Bruno Haible  <bruno@clisp.org>
69311
69312         * tests/test-vasnprintf-posix2.sh: New file.
69313         * tests/test-vasnprintf-posix2.c: New file.
69314         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
69315         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69316         (Makefile.am): Activate test-vasnprintf-posix2.sh.
69317
69318         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
69319         a locale dependent decimal point, rather than always '.'.
69320
69321 2007-03-09  Eric Blake  <ebb9@byu.net>
69322
69323         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
69324         spite of platforms like Tandem/NSK that define it to -1.
69325
69326 2007-03-08  Bruno Haible  <bruno@clisp.org>
69327
69328         * modules/vprintf-posix-tests: New file.
69329         * tests/test-vprintf-posix.sh: New file.
69330         * tests/test-vprintf-posix.c: New file.
69331         * tests/test-printf-posix.h: New file.
69332
69333         * modules/vprintf-posix: New file.
69334         * lib/vprintf.c: New file.
69335         * m4/vprintf-posix.m4: New file.
69336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
69337         REPLACE_VPRINTF.
69338         * lib/stdio_.h (vprintf): New declaration.
69339         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
69340         REPLACE_VPRINTF.
69341
69342 2007-03-08  Bruno Haible  <bruno@clisp.org>
69343
69344         * modules/fprintf-posix-tests: New file.
69345         * tests/test-fprintf-posix.sh: New file.
69346         * tests/test-fprintf-posix.c: New file.
69347
69348         * modules/fprintf-posix: New file.
69349         * lib/fprintf.c: New file.
69350         * m4/fprintf-posix.m4: New file.
69351         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
69352         REPLACE_FPRINTF.
69353         * lib/stdio_.h (fprintf): New declaration.
69354         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
69355         REPLACE_FPRINTF.
69356
69357 2007-03-08  Bruno Haible  <bruno@clisp.org>
69358
69359         * modules/vfprintf-posix-tests: New file.
69360         * tests/test-vfprintf-posix.sh: New file.
69361         * tests/test-vfprintf-posix.c: New file.
69362         * tests/test-fprintf-posix.h: New file.
69363         * tests/test-fprintf-posix.out: New file.
69364
69365         * modules/vfprintf-posix: New file.
69366         * lib/vfprintf.c: New file.
69367         * m4/vfprintf-posix.m4: New file.
69368         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
69369         REPLACE_VFPRINTF.
69370         * lib/stdio_.h (vfprintf): New declaration.
69371         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
69372         REPLACE_VFPRINTF.
69373
69374 2007-03-08  Bruno Haible  <bruno@clisp.org>
69375
69376         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
69377
69378 2007-03-08  Bruno Haible  <bruno@clisp.org>
69379
69380         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
69381         instead of 'expr' invocations.
69382         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69383         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69384         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69385         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69386         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69387         Suggested by Paul Eggert.
69388
69389 2007-03-08  Bruno Haible  <bruno@clisp.org>
69390
69391         * modules/fseterr-tests: New file.
69392         * tests/test-fseterr.c: New file.
69393
69394         * modules/fseterr: New file.
69395         * lib/fseterr.h: New file.
69396         * lib/fseterr.c: New file.
69397
69398 2007-03-08  Bruno Haible  <bruno@clisp.org>
69399
69400         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
69401         * lib/getopt_.h: Likewise.
69402         * lib/mbswidth.h: Likewise.
69403         * lib/setenv.h: Likewise.
69404         * lib/vasnprintf.h: Likewise.
69405         * lib/vasprintf.h: Likewise.
69406         * lib/verror.h: Likewise.
69407         * lib/xsetenv.h: Likewise.
69408         * lib/xvasprintf.h: Likewise.
69409
69410 2007-03-08  Jim Meyering  <jim@meyering.net>
69411
69412         * users.txt: Add parted.
69413
69414         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
69415
69416 2007-03-07  Bruno Haible  <bruno@clisp.org>
69417
69418         * m4/printf.m4: Make the shell script snippets copy&pastable.
69419
69420 2007-03-02  Bruno Haible  <bruno@clisp.org>
69421
69422         * lib/netinet_in_.h: New file.
69423         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
69424         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
69425         * modules/netinet_in (Files): Add lib/netinet_in_.h.
69426         (Depends-on): Add absolute-header.
69427         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
69428         into netinet/in.h.
69429
69430 2007-03-03  Bruno Haible  <bruno@clisp.org>
69431
69432         * lib/sys_select_.h: New file.
69433         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
69434         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
69435         * modules/sys_select (Files): Add lib/sys_select_.h.
69436         (Depends-on): Add absolute-header.
69437         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
69438         into sys/select.h.
69439
69440 2007-03-02  Bruno Haible  <bruno@clisp.org>
69441
69442         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
69443         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
69444         values.
69445         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
69446         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
69447         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
69448         * modules/sys_socket (Depends-on): Add absolute-header.
69449         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
69450         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
69451         (Include): Remove requirement of inclusion of <sys/types.h>.
69452
69453 2007-03-02  Bruno Haible  <bruno@clisp.org>
69454
69455         * lib/byteswap_.h (bswap_32): Fix formula.
69456
69457 2007-03-06  Bruno Haible  <bruno@clisp.org>
69458
69459         * modules/sprintf-posix-tests: New file.
69460         * tests/test-sprintf-posix.c: New file.
69461
69462         * modules/sprintf-posix: New file.
69463         * lib/sprintf.c: New file.
69464         * m4/sprintf-posix.m4: New file.
69465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
69466         REPLACE_SPRINTF.
69467         * lib/stdio_.h (sprintf): New declaration.
69468         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
69469         REPLACE_SPRINTF.
69470
69471 2007-03-06  Bruno Haible  <bruno@clisp.org>
69472
69473         * modules/vsprintf-posix-tests: New file.
69474         * tests/test-vsprintf-posix.c: New file.
69475         * tests/test-sprintf-posix.h: New file.
69476
69477         * modules/vsprintf-posix: New file.
69478         * lib/vsprintf.c: New file.
69479         * m4/vsprintf-posix.m4: New file.
69480         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
69481         REPLACE_VSPRINTF.
69482         * lib/stdio_.h (vsprintf): New declaration.
69483         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
69484         REPLACE_VSPRINTF.
69485
69486 2007-03-06  Bruno Haible  <bruno@clisp.org>
69487
69488         * modules/vsnprintf (Depend-on): Remove minmax.
69489
69490 2007-03-06  Bruno Haible  <bruno@clisp.org>
69491
69492         * modules/snprintf-posix-tests: New file.
69493         * tests/test-snprintf-posix.c: New file.
69494
69495         * modules/snprintf-posix: New file.
69496         * m4/snprintf-posix.m4: New file.
69497         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
69498         gl_FUNC_SNPRINTF.
69499         (gl_FUNC_SNPRINTF): Invoke it.
69500         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
69501         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
69502         is set.
69503         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
69504
69505 2007-03-06  Bruno Haible  <bruno@clisp.org>
69506
69507         * modules/vsnprintf-posix-tests: New file.
69508         * tests/test-vsnprintf-posix.c: New file.
69509         * tests/test-snprintf-posix.h: New file.
69510
69511         * modules/vsnprintf-posix: New file.
69512         * m4/vsnprintf-posix.m4: New file.
69513         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
69514         gl_FUNC_VSNPRINTF.
69515         (gl_FUNC_VSNPRINTF): Invoke it.
69516         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
69517         * lib/stdio_.h (vsnprintf): Define as a replacement if
69518         REPLACE_VSNPRINTF is set.
69519         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
69520
69521 2007-03-06  Bruno Haible  <bruno@clisp.org>
69522
69523         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
69524         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
69525
69526 2007-03-06  Bruno Haible  <bruno@clisp.org>
69527
69528         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
69529         (asinl): Declare also if HAVE_DECL_ASINL is set.
69530         (atanl): Declare also if HAVE_DECL_ATANL is set.
69531         (ceill): Declare also if HAVE_DECL_CEILL is set.
69532         (cosl): Declare also if HAVE_DECL_COSL is set.
69533         (expl): Declare also if HAVE_DECL_EXPL is set.
69534         (floorl): Declare also if HAVE_DECL_FLOORL is set.
69535         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
69536         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
69537         (logl): Declare also if HAVE_DECL_LOGL is set.
69538         (sinl): Declare also if HAVE_DECL_SINL is set.
69539         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
69540         (tanl): Declare also if HAVE_DECL_TANL is set.
69541         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
69542         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
69543         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
69544         declaration of frexpl, ldexpl.
69545         * modules/printf-frexpl (Depends-on): Add math.
69546         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
69547
69548 2007-03-05  Bruno Haible  <bruno@clisp.org>
69549
69550         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
69551         frexpl and ldexpl are declared.
69552         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
69553
69554 2007-03-05  Bruno Haible  <bruno@clisp.org>
69555
69556         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
69557         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
69558
69559 2007-03-05  Bruno Haible  <bruno@clisp.org>
69560
69561         * lib/stdio_.h: Include <stddef.h>.
69562
69563 2007-03-05  Bruno Haible  <bruno@clisp.org>
69564
69565         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
69566
69567 2007-03-05  Bruno Haible  <bruno@clisp.org>
69568
69569         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
69570         NetBSD 4, from Ralf Wildenhues.
69571
69572 2007-03-04  Bruno Haible  <bruno@clisp.org>
69573
69574         * lib/vasprintf.h: Update #if logic for the case when the functions
69575         exist but are overridden.
69576
69577 2007-03-04  Bruno Haible  <bruno@clisp.org>
69578
69579         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
69580         implementations: glibc-2.4 and MacOS X 10.3.
69581         * tests/test-vasnprintf-posix.c (test_function): Test also the case
69582         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
69583         * tests/test-vasprintf-posix.c (test_function): Likewise.
69584
69585 2007-03-04  Bruno Haible  <bruno@clisp.org>
69586
69587         * modules/vasprintf-posix-tests: New file.
69588         * tests/test-vasprintf-posix.c: New file.
69589
69590         * modules/vasprintf-posix: New file.
69591         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
69592         defined.
69593         * m4/vasprintf-posix.m4: New file.
69594         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
69595         gl_FUNC_VASPRINTF.
69596         (gl_FUNC_VASPRINTF): Invoke it.
69597         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
69598         here.
69599         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
69600
69601 2007-03-04  Bruno Haible  <bruno@clisp.org>
69602
69603         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
69604         REPLACE_GETTIMEOFDAY.
69605         * modules/sys_time (Makefile.am): Likewise.
69606         * m4/sys_time_h.m4: Likewise.
69607         * m4/gettimeofday.m4: Likewise.
69608
69609 2007-03-04  Bruno Haible  <bruno@clisp.org>
69610
69611         * modules/vasnprintf-posix-tests: New file.
69612         * tests/test-vasnprintf-posix.c: New file.
69613
69614         * modules/vasnprintf-posix: New file.
69615         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
69616         printf-frexpl.h.
69617         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
69618         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
69619         REPLACE_VASNPRINTF is defined.
69620         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
69621         gl_FUNC_VASNPRINTF.
69622         (gl_FUNC_VASNPRINTF): Invoke it.
69623         * m4/vasnprintf-posix.m4: New file.
69624         * m4/printf.m4: New file.
69625
69626 2007-03-04  Bruno Haible  <bruno@clisp.org>
69627
69628         Compile progreloc.c only if --enable-relocatable is specified.
69629         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
69630         if --enable-relocatable was specified.
69631         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
69632         lib_SOURCES.
69633
69634 2007-03-04  Jim Meyering  <jim@meyering.net>
69635
69636         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
69637         Use it consistently, rather than enumerating errno constants.
69638
69639 2007-03-04  Bruno Haible  <bruno@clisp.org>
69640
69641         * modules/xvasprintf-tests: New file.
69642         * tests/test-xvasprintf.c: New file.
69643
69644         * modules/vasprintf-tests: New file.
69645         * tests/test-vasprintf.c: New file.
69646
69647         * modules/vasnprintf-tests: New file.
69648         * tests/test-vasnprintf.c: New file.
69649
69650         * modules/vsnprintf-tests: New file.
69651         * tests/test-vsnprintf.c: New file.
69652
69653         * modules/snprintf-tests: New file.
69654         * tests/test-snprintf.c: New file.
69655
69656 2007-03-04  Bruno Haible  <bruno@clisp.org>
69657
69658         Compile relocatable.c only if --enable-relocatable is specified.
69659         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
69660         gl_RELOCATABLE_LIBRARY.
69661         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
69662         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
69663         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
69664         gl_RELOCATABLE_LIBRARY.
69665         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
69666         (Makefile.am): Remove lib_SOURCES.
69667         * modules/relocatable-lib-lgpl (configure.ac): Invoke
69668         gl_RELOCATABLE_LIBRARY.
69669         (Makefile.am): Remove lib_SOURCES.
69670         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
69671         always.
69672         * modules/relocatable-prog-wrapper (configure.ac): Invoke
69673         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
69674
69675 2007-03-04  Bruno Haible  <bruno@clisp.org>
69676
69677         * modules/argmatch-tests: New file.
69678         * tests/test-argmatch.c: New file.
69679
69680         * tests/test-allocsa.c (main): Halve the number of loop runs.
69681
69682         * modules/alloca-opt-tests: New file.
69683         * tests/test-alloca-opt.c: New file.
69684
69685 2007-03-04  Jim Meyering  <jim@meyering.net>
69686
69687         Work around difference between Linux ACLs and Solaris 10 ZFS.
69688         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
69689         for EINVAL.
69690
69691 2007-03-03  Bruno Haible  <bruno@clisp.org>
69692
69693         * modules/relocatable-prog (Depends-on): Add back progreloc's
69694         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
69695
69696 2007-03-03  Bruno Haible  <bruno@clisp.org>
69697
69698         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
69699         * modules/relocatable-lib: New file.
69700
69701 2007-03-03  Bruno Haible  <bruno@clisp.org>
69702
69703         * modules/relocatable-prog: Renamed from modules/relocatable.
69704         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
69705
69706 2007-03-03  Bruno Haible  <bruno@clisp.org>
69707
69708         * modules/relocatable-script (Files): Add doc/relocatable.texi,
69709         m4/relocatable-lib.m4.
69710         (Depends-on): Remove 'relocatable'.
69711         (configure.ac): Add gl_RELOCATABLE_NOP.
69712
69713 2007-03-03  Bruno Haible  <bruno@clisp.org>
69714
69715         * modules/relocatable-prog-wrapper: New file.
69716         * modules/relocatable (Depends-on): Add it. Remove all other
69717         dependencies except progname.
69718         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
69719
69720         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
69721         (gl_FUNC_STRERROR): Nop.
69722         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
69723
69724         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
69725         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
69726
69727         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
69728         (gl_FUNC_READLINK): Update.
69729
69730         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
69731
69732 2007-03-03  Bruno Haible  <bruno@clisp.org>
69733
69734         * lib/xreadlink.c: Include <unistd.h> unconditionally.
69735         * modules/xreadlink (Depends-on): Add unistd.
69736         * modules/xreadlink-with-size (Depends-on): Likewise.
69737
69738 2007-03-03  Bruno Haible  <bruno@clisp.org>
69739
69740         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
69741         extracted from gt_FUNC_SETENV.
69742         (gt_FUNC_SETENV): Remove macro.
69743         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
69744         remove gt_FUNC_SETENV.
69745
69746 2007-03-03  Bruno Haible  <bruno@clisp.org>
69747
69748         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
69749         ENABLE_RELOCATABLE here.
69750         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
69751
69752 2007-03-03  Bruno Haible  <bruno@clisp.org>
69753
69754         * modules/rbtreehash-list-tests (Depends-on): Add progname.
69755         * tests/test-rbtreehash_list.c: Include progname.h.
69756         (main): Call set_program_name.
69757
69758         * modules/rbtree-oset-tests (Depends-on): Add progname.
69759         * tests/test-rbtree_oset.c: Include progname.h.
69760         (main): Call set_program_name.
69761
69762         * modules/rbtree-list-tests (Depends-on): Add progname.
69763         * tests/test-rbtree_list.c: Include progname.h.
69764         (main): Call set_program_name.
69765
69766         * modules/linked-list-tests (Depends-on): Add progname.
69767         * tests/test-linked_list.c: Include progname.h.
69768         (main): Call set_program_name.
69769
69770 2007-03-03  Bruno Haible  <bruno@clisp.org>
69771
69772         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
69773         All uses of __restrict changed to _Restrict_.
69774         * lib/glob_.h (__restrict): Remove macro.
69775
69776 2007-03-02  Bruno Haible  <bruno@clisp.org>
69777
69778         * modules/gettext (configure.ac): Require gettext infrastructure
69779         from version 0.16.1.
69780
69781 2007-03-02  Bruno Haible  <bruno@clisp.org>
69782
69783         * modules/linkedhash-list-tests (Depends-on): Add progname.
69784         * tests/test-linkedhash_list.c: Include progname.h.
69785         (main): Call set_program_name.
69786
69787         * modules/carray-list-tests (Depends-on): Add progname.
69788         * tests/test-carray_list.c: Include progname.h.
69789         (main): Call set_program_name.
69790
69791         * modules/avltreehash-list-tests (Depends-on): Add progname.
69792         * tests/test-avltreehash_list.c: Include progname.h.
69793         (main): Call set_program_name.
69794
69795         * modules/avltree-oset-tests (Depends-on): Add progname.
69796         * tests/test-avltree_oset.c: Include progname.h.
69797         (main): Call set_program_name.
69798
69799         * modules/avltree-list-tests (Depends-on): Add progname.
69800         * tests/test-avltree_list.c: Include progname.h.
69801         (main): Call set_program_name.
69802
69803         * modules/array-oset-tests (Depends-on): Add progname.
69804         * tests/test-array_oset.c: Include progname.h.
69805         (main): Call set_program_name.
69806
69807         * modules/array-list-tests (Depends-on): Add progname.
69808         * tests/test-array_list.c: Include progname.h.
69809         (main): Call set_program_name.
69810
69811         * modules/argp-tests (Depends-on): Add progname.
69812         * tests/test-argp.c: Include argp.h first. Include progname.h.
69813         (main): Call set_program_name.
69814
69815 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
69816
69817         * doc/gnulib-tool.texi (Initial import): Reword description of
69818         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
69819         limited effect even if defined after the first system include.
69820
69821 2007-03-01  Bruno Haible  <bruno@clisp.org>
69822
69823         * build-aux/config.libpath: Update to libtool-1.5.22.
69824         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69825
69826 2007-03-01  Bruno Haible  <bruno@clisp.org>
69827
69828         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
69829         foo_CFLAGS.
69830         Reported by Ralf Wildenhues.
69831
69832 2007-03-01  Bruno Haible  <bruno@clisp.org>
69833
69834         * build-aux/install-reloc: Remove object files left over by some
69835         compilers.
69836         Reported by Ralf Wildenhues.
69837
69838 2007-03-01  Bruno Haible  <bruno@clisp.org>
69839
69840         * build-aux/install-reloc: Break long lines.
69841
69842 2007-03-01  Bruno Haible  <bruno@clisp.org>
69843
69844         * doc/relocatable.texi: Document that it may not work on OpenBSD.
69845         Reported by Ralf Wildenhues.
69846
69847 2007-03-01  Bruno Haible  <bruno@clisp.org>
69848
69849         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
69850         include ordering constraints.
69851
69852 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69853
69854         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
69855         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
69856         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69857         as another example.
69858         * lib/time_.h: Fix misspelling.
69859         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69860         Require gl_HEADER_TIME_H_DEFAULTS.
69861         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
69862         * m4/time_r.m4 (gl_TIME_R): Likewise.
69863         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
69864
69865 2007-03-01  Bruno Haible  <bruno@clisp.org>
69866
69867         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
69868         * m4/utimens.m4 (gl_UTIMENS): Likewise.
69869
69870 2007-03-01  Jim Meyering  <jim@meyering.net>
69871
69872         * modules/xreadlink (Maintainer): Add my name.
69873         * modules/xreadlink-with-size (Depends-on): Alphabetize.
69874
69875 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
69876             Bruno Haible  <bruno@clisp.org>
69877
69878         * build-aux/install-reloc: Compile also c-ctype.c.
69879         * build-aux/relocatable.sh.in: New file.
69880         * doc/relocatable.texi: New file.
69881         * doc/relocatable-maint.texi: New file.
69882         * doc/gnulib.texi: Include relocatable-maint.texi.
69883         * lib/progreloc.c: Include unistd.h unconditionally.
69884         * lib/relocwrapper.c: Include unistd.h unconditionally.
69885         Include c-ctype.h.
69886         (add_dotbin): Use c_tolower.
69887         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
69888         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
69889         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
69890         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
69891         to m4/relocatable-lib.m4.
69892         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
69893         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
69894         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
69895         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
69896         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
69897         * modules/relocatable: New file.
69898         * modules/relocatable-lib: New file.
69899         * modules/relocatable-script: New file.
69900
69901 2007-02-28  Bruno Haible  <bruno@clisp.org>
69902
69903         Import --enable-relocatable infrastructure.
69904         * build-aux/config.libpath: New file, from GNU gettext.
69905         * build-aux/install-reloc: New file, from GNU gettext.
69906         * build-aux/reloc-ldflags: New file, from GNU gettext.
69907         * lib/relocatable.h: New file, from GNU gettext.
69908         * lib/relocatable.c: New file, from GNU gettext.
69909         * lib/relocwrapper.c: New file, from GNU gettext.
69910         * m4/relocatable.m4: New file, from GNU gettext.
69911
69912 2007-02-28  Bruno Haible  <bruno@clisp.org>
69913
69914         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
69915
69916         * modules/xreadlink: New file, from GNU gettext with modifications.
69917         * lib/xreadlink.c: New file, from GNU gettext.
69918         * lib/xreadlink.h: Add comments.
69919         (xreadlink): New declaration.
69920
69921         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
69922         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
69923         lib/xreadlink-with-size.c.
69924         (configure.ac): Remove gl_XREADLINK invocation.
69925         (Makefile.am): Augment lib_SOURCES.
69926         * m4/xreadlink.m4: Remove file.
69927         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
69928         (xreadlink_with_size): Renamed from xreadink.
69929         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
69930         * modules/canonicalize (Depends-on): Replace xreadlink with
69931         xreadlink-with-size.
69932         * lib/canonicalize.c (canonicalize_filename_mode): Update.
69933
69934 2007-02-25  Jim Meyering  <jim@meyering.net>
69935
69936         * build-aux/announce-gen: When complaining about excess arguments,
69937         list them.
69938
69939 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69940
69941         * README: Document signed integer overflow situation more
69942         accurately.
69943
69944 2007-02-25  Bruno Haible  <bruno@clisp.org>
69945
69946         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
69947         'a' or 'A' conversion.
69948
69949 2007-02-25  Bruno Haible  <bruno@clisp.org>
69950
69951         * modules/filename: Renamed from modules/pathname.
69952         (Files): Replace lib/pathname.h with lib/filename.h. Replace
69953         lib/concatpath.c with lib/concat-filename.c.
69954         (Makefile.am): Update.
69955         (Include): Replace pathname.h with filename.h.
69956         * lib/filename.h: Renamed from lib/pathname.h.
69957         (concatenated_filename): Renamed from concatenated_pathname.
69958         * lib/concat-filename.c: Renamed from lib/concatpath.c.
69959         (concatenated_filename): Renamed from concatenated_pathname.
69960         * lib/findprog.c: Include filename.h instead of pathname.h.
69961         (find_in_path): Update.
69962         * lib/javacomp.c: Include filename.h instead of pathname.h.
69963         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
69964         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
69965         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
69966         is_oldgcj_14_13_usable, is_javac_usable): Update.
69967         * lib/javaexec.c: Include filename.h instead of pathname.h.
69968         (execute_java_class): Update.
69969         * modules/findprog: Update.
69970         * modules/javacomp: Update.
69971         * modules/javaexec: Update.
69972         * MODULES.html.sh (File system functions): Add 'filename', remove
69973         'pathname'.
69974
69975 2007-02-25  Bruno Haible  <bruno@clisp.org>
69976
69977         * modules/printf-frexpl-tests: New file.
69978         * tests/test-printf-frexpl.c: New file.
69979
69980         * modules/printf-frexpl: New file.
69981         * lib/printf-frexpl.h: New file.
69982         * lib/printf-frexpl.c: New file.
69983         * m4/printf-frexpl.m4: New file.
69984
69985 2007-02-25  Bruno Haible  <bruno@clisp.org>
69986
69987         * modules/printf-frexp-tests: New file.
69988         * tests/test-printf-frexp.c: New file.
69989
69990         * modules/printf-frexp: New file.
69991         * lib/printf-frexp.h: New file.
69992         * lib/printf-frexp.c: New file.
69993         * m4/printf-frexp.m4: New file.
69994
69995 2007-02-25  Bruno Haible  <bruno@clisp.org>
69996
69997         Assume automake >= 1.10 for the tests.
69998         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
69999         * modules/arctwo-tests: Likewise.
70000         * modules/argp-tests: Likewise.
70001         * modules/avltree-list-tests: Likewise.
70002         * modules/avltree-oset-tests: Likewise.
70003         * modules/avltreehash-list-tests: Likewise.
70004         * modules/carray-list-tests: Likewise.
70005         * modules/crc-tests: Likewise.
70006         * modules/des-tests: Likewise.
70007         * modules/gc-arcfour-tests: Likewise.
70008         * modules/gc-arctwo-tests: Likewise.
70009         * modules/gc-des-tests: Likewise.
70010         * modules/gc-hmac-md5-tests: Likewise.
70011         * modules/gc-hmac-sha1-tests: Likewise.
70012         * modules/gc-md2-tests: Likewise.
70013         * modules/gc-md4-tests: Likewise.
70014         * modules/gc-md5-tests: Likewise.
70015         * modules/gc-pbkdf2-sha1-tests: Likewise.
70016         * modules/gc-rijndael-tests: Likewise.
70017         * modules/gc-sha1-tests: Likewise.
70018         * modules/gc-tests: Likewise.
70019         * modules/getaddrinfo-tests: Likewise.
70020         * modules/hmac-md5-tests: Likewise.
70021         * modules/hmac-sha1-tests: Likewise.
70022         * modules/linked-list-tests: Likewise.
70023         * modules/linkedhash-list-tests: Likewise.
70024         * modules/lock-tests: Likewise.
70025         * modules/md2-tests: Likewise.
70026         * modules/md4-tests: Likewise.
70027         * modules/md5-tests: Likewise.
70028         * modules/rbtree-list-tests: Likewise.
70029         * modules/rbtree-oset-tests: Likewise.
70030         * modules/rbtreehash-list-tests: Likewise.
70031         * modules/read-file-tests: Likewise.
70032         * modules/rijndael-tests: Likewise.
70033         * modules/stdint-tests: Likewise.
70034         * modules/tls-tests: Likewise.
70035
70036 2007-02-24  Bruno Haible  <bruno@clisp.org>
70037
70038         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
70039         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
70040         function; instead check whether isnan with a double argument links.
70041         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
70042         function; instead check whether isnan with a 'long double' argument
70043         links.
70044         Reported by Eric Blake <ebb9@byu.net>.
70045
70046 2007-02-24  Bruno Haible  <bruno@clisp.org>
70047
70048         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
70049         defined.
70050         * lib/isnanl.c: Remove all code. Just include isnan.c.
70051         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
70052
70053 2007-02-25  Jim Meyering  <jim@meyering.net>
70054
70055         Avoid conflicting types for 'unsetenv' on FreeBSD.
70056         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
70057         conflicting with FreeBSD's (5.0 and 6.1) function declaration
70058         in stdlib.h.
70059
70060 2007-02-24  Bruno Haible  <bruno@clisp.org>
70061
70062         * modules/isnanl-nolibm-tests: New file.
70063         * tests/test-isnanl.c: New file.
70064
70065         * modules/isnanl-nolibm: New file.
70066         * lib/isnanl.h: New file.
70067         * lib/isnanl.c: New file.
70068         * m4/isnanl.m4: New file.
70069
70070 2007-02-24  Bruno Haible  <bruno@clisp.org>
70071
70072         * modules/isnan-nolibm-tests: New file.
70073         * tests/test-isnan.c: New file.
70074
70075         * modules/isnan-nolibm: New file.
70076         * lib/isnan.h: New file.
70077         * lib/isnan.c: New file.
70078         * m4/isnan.m4: New file.
70079
70080 2007-02-24  Bruno Haible  <bruno@clisp.org>
70081
70082         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
70083         assume that an exponent fits in 20 bits.
70084
70085 2007-02-24  Jim Meyering  <jim@meyering.net>
70086
70087         * m4/regex.m4: Update the description of the configure-time option,
70088         --without-included-regex, to state accurately what the defaults are,
70089         and perhaps to give people an idea why using this option is risky.
70090
70091 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
70092
70093         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
70094         loops on small arguments.  This attempts to avoid the problem
70095         Bruno Haible reported for AIX 4.3.2 in
70096         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
70097
70098 2007-02-23  Bruno Haible  <bruno@clisp.org>
70099
70100         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
70101         Needed for help2man.
70102
70103 2007-02-23  Karl Berry  <karl@gnu.org>
70104
70105         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
70106         exists, foo.h should be cvs-ignored, not committed.
70107
70108 2007-02-23  Eric Blake  <ebb9@byu.net>
70109
70110         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
70111         * lib/stat-time.h (includes): Likewise.
70112         * lib/utimecmp.c (includes): Likewise.
70113         * lib/utimens.h (includes): Likewise.
70114         * lib/getdate.y (includes): Also include "timespec.h" for use
70115         internal to the module.
70116         * modules/utimens (Depends-on): Revert yesterday's patch.
70117         * modules/nanosleep (Depends-on): Add missing dependency.
70118
70119 2007-02-22  Bruno Haible  <bruno@clisp.org>
70120
70121         * lib/glob.c: Don't include getlogin_r.h.
70122
70123 2007-02-22  Jim Meyering  <jim@meyering.net>
70124
70125         * modules/utimens (Depends-on): Add timespec, required for
70126         utimens.h's inclusion of timespec.h.
70127
70128 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
70129
70130         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
70131         long unreadable paths in GNU/Linux.  Problem reported by Andreas
70132         Schwab in
70133         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
70134         I'll try to think of a better way to fix the Solaris problem.
70135
70136         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
70137         like glibc; on Solaris 10, it fails with errno == EINVAL.
70138         POSIX says the behavior is unspecified if the first argument is NULL,
70139         so play it safe and never pass NULL to the system getcwd.
70140
70141 2007-02-21  Jim Meyering  <jim@meyering.net>
70142
70143         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
70144         of gettimeofday.  It would conflict with the one now always
70145         provided via sys_time_.h.  Reported by Matthew Woehlke, as
70146         an IRIX 6.5 build failure.
70147
70148 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
70149
70150         Minor fixups to port to Solaris 10 with Sun C 5.8.
70151         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
70152         * modules/getcwd (Depends-on): Add dirfd.
70153         * lib/putenv.c (putenv): #undef it.
70154         (rpl_putenv): New decl.
70155         (malloc, free): Include <stdlib.h> rather than prototyping separately.
70156
70157 2007-02-20  Bruno Haible  <bruno@clisp.org>
70158
70159         * modules/stdio-tests: New file.
70160         * tests/test-stdio.c: New file.
70161
70162         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
70163         (Depends-on): Add stdio.
70164         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70165         (Include): Use <stdio.h> instead of vsnprintf.h.
70166         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70167         HAVE_DECL_VSNPRINTF.
70168         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
70169
70170         * modules/snprintf (Files): Remove lib/snprintf.h.
70171         (Depends-on): Add stdio.
70172         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70173         (Include): Use <stdio.h> instead of snprintf.h.
70174         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70175         HAVE_DECL_SNPRINTF.
70176         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
70177         * lib/getaddrinfo.c: Likewise.
70178
70179         * modules/stdio: New file.
70180         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
70181         * lib/snprintf.h: Remove file.
70182         * lib/vsnprintf.h: Remove file.
70183         * lib/.cppi-disable: Remove snprintf.h.
70184         * m4/stdio_h.m4: New file.
70185         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
70186
70187 2007-02-20  Jim Meyering  <jim@meyering.net>
70188
70189         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
70190         used by e.g., mingw.  From Bruno Haible.
70191
70192 2007-02-19  Bruno Haible  <bruno@clisp.org>
70193
70194         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
70195         warnings.
70196         Reported by Ben Pfaff <blp@cs.stanford.edu>.
70197
70198 2007-02-19  Bruno Haible  <bruno@clisp.org>
70199
70200         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
70201         from mingw users.
70202
70203 2007-02-19  Bruno Haible  <bruno@clisp.org>
70204
70205         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
70206         warnings.
70207         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
70208
70209 2007-02-19  Jim Meyering  <jim@meyering.net>
70210
70211         Don't use FD after a successful "fdopendir (fd)".
70212         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
70213         Reset it by calling dirfd on the just-obtained DIR*.
70214
70215         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
70216         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
70217
70218 2007-02-18  Bruno Haible  <bruno@clisp.org>
70219
70220         * lib/readlink.c: Include <unistd.h>.
70221         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
70222         HAVE_READLINK.
70223         * modules/readlink (Depends-on): Add unistd.
70224         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70225         (Include): Add <unistd.h>.
70226
70227         * lib/getlogin_r.h: Remove file.
70228         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
70229         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
70230         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
70231         HAVE_DECL_GETLOGIN_R.
70232         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
70233         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70234         (Include): Use <unistd.h> instead of getlogin_r.h.
70235
70236         * lib/getcwd.h: Remove file.
70237         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
70238         * lib/xgetcwd.c: Likewise.
70239         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
70240         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
70241         * modules/getcwd (Files): Remove lib/getcwd.h.
70242         (Depends-on): Add unistd.
70243         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70244         (Include): Use <unistd.h> instad of getcwd.h.
70245
70246         * lib/ftruncate.c: Include <unistd.h> first.
70247         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
70248         Set HAVE_FTRUNCATE.
70249         * modules/ftruncate (Depends-on): Add unistd.
70250         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70251
70252         * lib/fchdir.c: Include <unistd.h> first.
70253         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
70254         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
70255         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
70256         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70257         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
70258
70259         * lib/dup2.c: Include <unistd.h> first.
70260         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
70261         HAVE_DUP2.
70262         * modules/dup2 (Depends-on): Add unistd.
70263         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70264
70265         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
70266         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
70267         REPLACE_CHOWN. Don't define chown as a macro here.
70268         * modules/chown (Depends-on): Add unistd.
70269         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70270
70271         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
70272         Add definition for GL_LINK_WARNING.
70273         (chown, dup2): New declarations.
70274         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
70275         link warning.
70276         (ftruncate): New declaration.
70277         (getcwd): New declaration, taken from old getcwd.h.
70278         (getlogin_r): New declaration, taken from old getlogin_r.h.
70279         (readlink): New declaration.
70280         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
70281         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
70282         (gl_PREREQ_UNISTD): Remove macro.
70283         (gl_UNISTD_MODULE_INDICATOR): New macro.
70284         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
70285         many new variables. Don't set UNISTD_H.
70286         * modules/unistd (Description): Change.
70287         (Depends-on): Add link-warning.
70288         (configure.ac): Update.
70289         (Makefile.am): Create unistd.h always. Substitute many new variables
70290         into it.
70291
70292 2007-02-18  Bruno Haible  <bruno@clisp.org>
70293
70294         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
70295         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
70296         HAVE_GETSUBOPT.
70297         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
70298         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
70299         * lib/getsubopt.h: Remove file.
70300         * modules/getsubopt (Files): Remove lib/getsubopt.h.
70301         (Depends-on): Add stdlib.
70302         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70303         (Includes): Use <stdlib.h> instead of getsubopt.h.
70304         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
70305         Set HAVE_GETSUBOPT.
70306         * lib/getsubopt.c: Don't include getsubopt.h.
70307
70308 2007-02-18  Bruno Haible  <bruno@clisp.org>
70309
70310         * modules/fchdir (Depends-on): Add dup2.
70311
70312 2007-02-18  Bruno Haible  <bruno@clisp.org>
70313
70314         * lib/stdlib_.h: Handle glibc's special invocation convention
70315         specially.
70316
70317 2007-02-18  Bruno Haible  <bruno@clisp.org>
70318
70319         * modules/stdlib-tests: New file.
70320         * tests/test-stdlib.c: New file.
70321
70322         * modules/mkstemp (Files): Remove lib/mkstemp.h.
70323         (Depends-on): Add stdlib.
70324         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70325         (Includes): Use <stdlib.h> instead of mkstemp.h.
70326         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70327         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
70328         * lib/mkstemp.c: Don't include mkstemp.h.
70329         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
70330         * lib/stdlib--.h: Don't include mkstemp.h.
70331
70332         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
70333         (Depends-on): Add stdlib.
70334         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70335         (Includes): Use <stdlib.h> instead of mkdtemp.h.
70336         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70337         HAVE_MKDTEMP.
70338         * lib/mkdtemp.c: Don't include mkdtemp.h.
70339         * lib/clean-temp.c: Don't include mkdtemp.h.
70340
70341         * modules/exit (Files): Remove lib/exit.h.
70342         (Depends-on): Add stdlib.
70343         (Makefile.am): Remove lib_SOURCES.
70344         (Include): Use <stdlib.h> instead of exit.h.
70345         * lib/argmatch.c: Don't include exit.h.
70346         * lib/execute.c: Likewise.
70347         * lib/pagealign_alloc.c: Likewise.
70348         * lib/pipe.c: Likewise.
70349         * lib/wait-process.c: Likewise.
70350         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
70351         * lib/exitfail.c: Likewise.
70352         * lib/savewd.c: Likewise.
70353         * lib/xsetenv.c: Likewise.
70354
70355         * modules/stdlib: New file.
70356         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
70357         and extra comments about mkstemp().
70358         * lib/exit.h: Remove file.
70359         * lib/mkdtemp.h: Remove file.
70360         * lib/mkstemp.h: Remove file.
70361         * m4/stdlib_h.m4: New file.
70362         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
70363
70364 2007-02-18  Bruno Haible  <bruno@clisp.org>
70365
70366         * modules/math-tests: New file.
70367         * tests/test-math.c: New file.
70368
70369         * modules/math: New file.
70370         * modules/mathl (Files): Remove lib/mathl.h.
70371         (Depends-on): Add math.
70372         (Makefile.am): Don't mention mathl.h.
70373         (Include): Use <math.h> instead of mathl.h.
70374         * lib/math_.h: New file.
70375         * lib/mathl.h: Remove file.
70376         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
70377         mathl.h.
70378         * lib/asinl.c: Likewise.
70379         * lib/atanl.c: Likewise.
70380         * lib/ceill.c: Likewise.
70381         * lib/cosl.c: Likewise.
70382         * lib/expl.c: Likewise.
70383         * lib/floorl.c: Likewise.
70384         * lib/frexpl.c: Likewise.
70385         * lib/ldexpl.c: Likewise.
70386         * lib/logl.c: Likewise.
70387         * lib/sincosl.c: Likewise.
70388         * lib/sinl.c: Likewise.
70389         * lib/sqrtl.c: Likewise.
70390         * lib/tanl.c: Likewise.
70391         * lib/trigl.c: Likewise.
70392         * m4/math_h.m4: New file.
70393         * MODULES.html.sh (Mathematics): Add math.
70394
70395 2007-02-17  Bruno Haible  <bruno@clisp.org>
70396
70397         * modules/wctype-tests: New file.
70398         * tests/test-wctype.c: New file.
70399
70400         * modules/wchar-tests: New file.
70401         * tests/test-wchar.c: New file.
70402
70403         * modules/unistd-tests: New file.
70404         * tests/test-unistd.c: New file.
70405
70406         * modules/time-tests: New file.
70407         * tests/test-time.c: New file.
70408
70409         * modules/sysexits-tests: New file.
70410         * tests/test-sysexits.c: New file.
70411
70412         * modules/sys_time-tests: New file.
70413         * tests/test-sys_time.c: New file.
70414
70415         * modules/sys_stat-tests: New file.
70416         * tests/test-sys_stat.c: New file.
70417
70418         * modules/sys_socket-tests: New file.
70419         * tests/test-sys_socket.c: New file.
70420
70421         * modules/sys_select-tests: New file.
70422         * tests/test-sys_select.c: New file.
70423
70424         * modules/string-tests: New file.
70425         * tests/test-string.c: New file.
70426
70427         * modules/stdbool-tests: New file.
70428         * tests/test-stdbool.c: New file.
70429
70430         * modules/netinet_in-tests: New file.
70431         * tests/test-netinet_in.c: New file.
70432
70433         * modules/inttypes-tests: New file.
70434         * tests/test-inttypes.c: New file.
70435
70436         * modules/fcntl-tests: New file.
70437         * tests/test-fcntl.c: New file.
70438
70439         * modules/byteswap-tests: New file.
70440         * tests/test-byteswap.c: New file.
70441
70442         * modules/arpa_inet-tests: New file.
70443         * tests/test-arpa_inet.c: New file.
70444
70445 2007-02-17  Bruno Haible  <bruno@clisp.org>
70446
70447         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
70448         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
70449         if the corresponding module is not enabled. Emit link warnings if
70450         the function is used nevertheless.
70451         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
70452         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
70453         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
70454         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
70455         * modules/inttypes (Depends-on): Add link-warning.
70456         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70457         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
70458         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
70459         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
70460         * modules/imaxdiv (configure.ac): Likewise.
70461         * modules/strtoimax (configure.ac): Likewise.
70462         * modules/strtoumax (configure.ac): Likewise.
70463
70464 2007-02-17  Bruno Haible  <bruno@clisp.org>
70465
70466         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
70467         gl_STRING_MODULE_INDICATOR_DEFAULTS.
70468         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
70469         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
70470
70471 2007-02-17  Bruno Haible  <bruno@clisp.org>
70472
70473         * modules/link-warning: New file.
70474         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
70475         * lib/string_.h (GL_LINK_WARNING): Remove definition.
70476         * modules/string (Depends-on): Add link-warning.
70477         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70478         string.h.
70479         * MODULES.html.sh (Support for building libraries and executables): Add
70480         link-warning.
70481
70482 2007-02-17  Bruno Haible  <bruno@clisp.org>
70483
70484         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
70485         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
70486         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
70487         long lines.
70488
70489 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
70490             Bruno Haible  <bruno@clisp.org>
70491
70492         * modules/tmpfile: New file.
70493         * lib/tmpfile.c: New file.
70494         * m4/tmpfile.m4: New file.
70495         * MODULES.html.sh (func_all_modules): New section "Input/output".
70496
70497 2007-02-15  Bruno Haible  <bruno@clisp.org>
70498
70499         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
70500         (supports_delete_on_close): New function.
70501         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
70502
70503 2007-02-14  Bruno Haible  <bruno@clisp.org>
70504
70505         * modules/mbspcasecmp-tests: New file.
70506         * tests/test-mbspcasecmp.sh: New file.
70507         * tests/test-mbspcasecmp.c: New file.
70508
70509         New module mbspcasecmp.
70510         * modules/mbspcasecmp: New file.
70511         * lib/mbspcasecmp.c: New file.
70512         * lib/string_.h (strncasecmp): Change warning message.
70513         (mbspcasecmp): New declaration.
70514         * m4/mbspcasecmp.m4: New file.
70515         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70516         GNULIB_MBSPCASECMP.
70517         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
70518         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
70519
70520 2007-02-14  Bruno Haible  <bruno@clisp.org>
70521
70522         * modules/mbsncasecmp-tests: New file.
70523         * tests/test-mbsncasecmp.sh: New file.
70524         * tests/test-mbsncasecmp.c: New file.
70525
70526         New module mbsncasecmp.
70527         * modules/mbsncasecmp: New file.
70528         * lib/mbsncasecmp.c: New file.
70529         * lib/string_.h (mbsncasecmp): New declaration.
70530         * m4/mbsncasecmp.m4: New file.
70531         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70532         GNULIB_MBSNCASECMP.
70533         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
70534         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
70535
70536 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
70537
70538         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
70539         Verify that it doesn't overlap with our flags.
70540         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
70541         do not have the desired effect in multibyte locales; instead, use
70542         mbscasecmp.
70543         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
70544         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
70545         we don't require GNU fnmatch ourselves (if our users require it, they
70546         should do so explicitly).
70547
70548         Fix regex code so it doesn't rely on strcasecmp.
70549         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
70550         Otherwise, include gnulib's langinfo.h.
70551         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
70552         undesirable behavior in non-C locales.  Instead, rely on localecharset.
70553         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
70554         * modules/regex (FILES): Remove m4/codeset.m4.
70555         (Depends-on): Add localcharset.  Remove strcase.
70556
70557 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70558
70559         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
70560         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
70561
70562 2007-02-13  Bruno Haible  <bruno@clisp.org>
70563
70564         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
70565         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70566
70567 2007-02-12  Bruno Haible  <bruno@clisp.org>
70568
70569         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70570         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
70571         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
70572         time warning rather than a link error.
70573
70574 2007-02-12  Bruno Haible  <bruno@clisp.org>
70575
70576         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
70577         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
70578         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70579
70580 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70581
70582         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
70583         args, not 2.
70584
70585 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70586
70587         New module 'time', so that apps can include <time.h> as per
70588         POSIX and GNU instead of separate include files like time_r.h
70589         and timegm.h.  This implementation tries out a simpler approach
70590         for replacing decls in standard include files (as compared to
70591         the string module), somewhat as an experiment.
70592
70593         * config/srclist.txt: Comment out mktime.c for now.
70594         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
70595         since it doesn't apply any more.  Use generic wording instead.
70596         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
70597         'time'.
70598         * lib/time_.h, m4/time_h.m4, modules/time: New files.
70599         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
70600         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
70601         Don't include <sys/types.h>; no longer needed since we assume C89.
70602         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
70603         * lib/strftime.c: Likewise.
70604         * lib/time_r.c: Likewise.
70605         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
70606         * lib/nanosleep.c: Include <time.h> first, to check interface.
70607         * lib/strptime.c: Likewise.
70608         * lib/time_r.c: Likewise.
70609         * lib/timegm.c: Likewise.
70610         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
70611         needed.
70612         * lib/timegm.c: Don't include timegm.h; no longer needed.
70613         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
70614         time.h now handles any problems in that area.
70615         (struct timespec, nanosleep): Remove; time.h now arranges for these.
70616         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
70617         that time.h defines struct timespec.
70618         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
70619         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
70620         handles that.
70621         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
70622         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
70623         needed.  Set REPLACE_LOCALTIME.
70624         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
70625         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
70626         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
70627         nanosleep; time_h.m4 now does that.  Don't require
70628         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
70629         module handles this now.
70630         * modules/getdate (Depends-on): Remove timespec.  Add time.
70631         * modules/nanosleep (Depends-on): Likewise.
70632         * modules/stat-time (Depends-on): Likewise.
70633         * modules/nanosleep (Include): Include time.h, not timespec.h.
70634         * modules/strptime (Files): Remove lib/strptime.h.
70635         (Depends-on): Add extensions, time.
70636         (Include): Include time.h, not strptime.h.
70637         * modules/time_r (Files): Remove lib/time_r.h.
70638         (Depends-on): Add time.
70639         (Include): Include time.h, not time_r.h.
70640         * modules/timegm: Likewise.
70641         * modules/timespec (Description): Now does timespec-related decls
70642         of our own, instead of struct timespec itself.
70643         (Depends-on): Add time; remove extensions.
70644         (Maintainer): Add self.
70645         * modules/utimecmp (Depends-on): Add time; remove timespec.
70646         * modules/utimens (Depends-on): Likewise.
70647         * modules/xnanosleep (Depends-on): Likewise.
70648
70649 2007-02-11  Bruno Haible  <bruno@clisp.org>
70650
70651         * lib/c-strstr.c: Include allocsa.h.
70652         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70653         * lib/c-strcasestr.c: Include allocsa.h.
70654         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70655         * lib/strcasestr.c: Include allocsa.h.
70656         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70657         * lib/mbsstr.c: Include allocsa.h.
70658         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70659         allocsa/freesa instead of malloc/free.
70660         * lib/mbscasestr.c: Include allocsa.h.
70661         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70662         allocsa/freesa instead of malloc/free.
70663         * modules/c-strstr (Depends-on): Add allocsa.
70664         * modules/c-strcasestr (Depends-on): Likewise.
70665         * modules/strcasestr (Depends-on): Likewise.
70666         * modules/mbsstr (Depends-on): Likewise.
70667         * modules/mbscasestr (Depends-on): Likewise.
70668
70669 2007-02-11  Bruno Haible  <bruno@clisp.org>
70670
70671         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
70672
70673         * modules/mbsspn-tests: New file.
70674         * tests/test-mbsspn.sh: New file.
70675         * tests/test-mbsspn.c: New file.
70676
70677 2007-02-11  Bruno Haible  <bruno@clisp.org>
70678
70679         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
70680
70681         * modules/mbspbrk-tests: New file.
70682         * tests/test-mbspbrk.sh: New file.
70683         * tests/test-mbspbrk.c: New file.
70684
70685 2007-02-11  Bruno Haible  <bruno@clisp.org>
70686
70687         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
70688         unneeded cast.
70689
70690         * modules/mbscspn-tests: New file.
70691         * tests/test-mbscspn.sh: New file.
70692         * tests/test-mbscspn.c: New file.
70693
70694 2007-02-11  Bruno Haible  <bruno@clisp.org>
70695
70696         * modules/mbscasecmp-tests: New file.
70697         * tests/test-mbscasecmp.sh: New file.
70698         * tests/test-mbscasecmp.c: New file.
70699
70700 2007-02-11  Bruno Haible  <bruno@clisp.org>
70701
70702         Ensure O(n) worst-case complexity of mbscasestr.
70703         * lib/mbscasestr.c: Include stdbool.h.
70704         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70705         functions.
70706         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
70707         the bookkeeping indicates that it's worth it.
70708         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
70709
70710         * modules/mbscasestr-tests: New file.
70711         * tests/test-mbscasestr1.c: New file.
70712         * tests/test-mbscasestr2.sh: New file.
70713         * tests/test-mbscasestr2.c: New file.
70714         * tests/test-mbscasestr3.sh: New file.
70715         * tests/test-mbscasestr3.c: New file.
70716         * tests/test-mbscasestr4.sh: New file.
70717         * tests/test-mbscasestr4.c: New file.
70718         * m4/locale-tr.m4: New file.
70719
70720 2007-02-11  Bruno Haible  <bruno@clisp.org>
70721
70722         Ensure O(n) worst-case complexity of mbsstr.
70723         * lib/mbsstr.c: Include stdbool.h.
70724         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70725         functions.
70726         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
70727         bookkeeping indicates that it's worth it.
70728         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
70729
70730         * modules/mbsstr-tests: New file.
70731         * tests/test-mbsstr1.c: New file.
70732         * tests/test-mbsstr2.sh: New file.
70733         * tests/test-mbsstr2.c: New file.
70734         * tests/test-mbsstr3.sh: New file.
70735         * tests/test-mbsstr3.c: New file.
70736         * m4/locale-fr.m4: New file.
70737
70738 2007-02-11  Bruno Haible  <bruno@clisp.org>
70739
70740         * lib/mbsrchr.c (mbsrchr): Fix bug.
70741
70742         * modules/mbsrchr-tests: New file.
70743         * tests/test-mbsrchr.sh: New file.
70744         * tests/test-mbsrchr.c: New file.
70745
70746 2007-02-11  Bruno Haible  <bruno@clisp.org>
70747
70748         * lib/mbschr.c (mbschr): Fix bug.
70749
70750         * modules/mbschr-tests: New file.
70751         * tests/test-mbschr.sh: New file.
70752         * tests/test-mbschr.c: New file.
70753         * m4/locale-zh.m4: New file.
70754
70755 2007-02-11  Bruno Haible  <bruno@clisp.org>
70756
70757         Support for copying multibyte string iterators.
70758         * lib/mbiter.h: Include <string.h>.
70759         (mbiter_multi_copy): New function.
70760         (mbi_copy): New macro.
70761         * lib/mbuiter.h: Include <string.h>.
70762         (mbuiter_multi_copy): New function.
70763         (mbui_copy): New macro.
70764
70765 2007-02-11  Bruno Haible  <bruno@clisp.org>
70766
70767         New module mbslen.
70768         * modules/mbslen: New file.
70769         * lib/mbslen.c: New file.
70770         * lib/string_.h (mbslen): New declaration.
70771         * m4/mbslen.m4: New file.
70772         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70773         GNULIB_MBSLEN.
70774         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
70775         * MODULES.html.sh (Internationalization functions): Add mbslen.
70776
70777 2007-02-11  Bruno Haible  <bruno@clisp.org>
70778
70779         Ensure O(n) worst-case complexity of strcasestr substitute.
70780         * lib/strcasestr.c: Include stdbool.h.
70781         (knuth_morris_pratt): New function.
70782         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70783         bookkeeping indicates that it's worth it.
70784         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
70785
70786         * modules/strcasestr-tests: New file.
70787         * tests/test-strcasestr.c: New file.
70788
70789 2007-02-11  Bruno Haible  <bruno@clisp.org>
70790
70791         Ensure O(n) worst-case complexity of c_strcasestr.
70792         * lib/c-strcasestr.c: Include stdbool.h, string.h.
70793         (knuth_morris_pratt): New function.
70794         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
70795         the bookkeeping indicates that it's worth it.
70796         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
70797
70798         * modules/c-strcasestr-tests: New file.
70799         * tests/test-c-strcasestr.c: New file.
70800
70801 2007-02-11  Bruno Haible  <bruno@clisp.org>
70802
70803         Ensure O(n) worst-case complexity of c_strstr.
70804         * lib/c-strstr.c: Include stdbool.h, string.h.
70805         (knuth_morris_pratt): New function.
70806         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70807         bookkeeping indicates that it's worth it.
70808         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
70809
70810         * lib/c-strstr.c: Complete rewrite for maintainability.
70811
70812         * modules/c-strstr-tests: New file.
70813         * tests/test-c-strstr.c: New file.
70814
70815 2007-02-11  Bruno Haible  <bruno@clisp.org>
70816
70817         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
70818         5.2.1 and earlier, whereby \055 was treated just like the range
70819         delimiter '-'.
70820         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
70821
70822 2007-02-08  Bruno Haible  <bruno@clisp.org>
70823
70824         * modules/regex (Depends-on): Add stdbool.
70825         Reported by Dalibor Topic <robilad@kaffe.org>.
70826
70827 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70828
70829         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
70830         Prefer returning from main to exiting from it.
70831         Remove unnecessary parens after sizeof.
70832
70833 2007-02-05  Bruno Haible  <bruno@clisp.org>
70834
70835         New module mbssep.
70836         * modules/mbssep: New file.
70837         * lib/mbssep.c: New file.
70838         * lib/string_.h (strsep): Add a conditional link warning.
70839         (mbssep): New declaration.
70840         * m4/mbssep.m4: New file.
70841         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70842         GNULIB_MBSSEP.
70843         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
70844         * MODULES.html.sh (Internationalization functions): Add mbssep.
70845
70846 2007-02-05  Bruno Haible  <bruno@clisp.org>
70847
70848         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
70849         Optimize search in case of 1 delimiter.
70850
70851 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70852
70853         * lib/acl.h: Include sys/types.h before sys/acl.h.
70854
70855 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70856
70857         Merge upstream fix for glibc bugzilla #3957:
70858
70859         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
70860
70861         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
70862         bit for RE_HAT_LISTS_NOT_NEWLINE.
70863         (build_charclass_op): Remove bogus comment.
70864
70865 2007-02-05  Simon Josefsson  <simon@josefsson.org>
70866
70867         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
70868
70869 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70870
70871         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
70872         * lib/memmem.c [!defined _LIBC]: Include config.h.
70873
70874 2007-02-04  Bruno Haible  <bruno@clisp.org>
70875
70876         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
70877         warning message.
70878
70879 2007-02-04  Bruno Haible  <bruno@clisp.org>
70880
70881         New module mbstok_r.
70882         * modules/mbstok_r: New file.
70883         * lib/mbstok_r.c: New file.
70884         * lib/string_.h (strtok_r): Change argument names to match the
70885         comments. Add a conditional link warning.
70886         (mbstok_r): New declaration.
70887         * m4/mbstok_r.m4: New file.
70888         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70889         GNULIB_MBSTOK_R.
70890         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
70891         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
70892
70893 2007-02-04  Bruno Haible  <bruno@clisp.org>
70894
70895         New module mbsspn.
70896         * modules/mbsspn: New file.
70897         * lib/mbsspn.c: New file.
70898         * lib/string_.h (strspn): Add a conditional link warning.
70899         (mbsspn): New declaration.
70900         * m4/mbsspn.m4: New file.
70901         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70902         GNULIB_MBSSPN.
70903         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
70904         * MODULES.html.sh (Internationalization functions): Add mbsspn.
70905
70906 2007-02-04  Bruno Haible  <bruno@clisp.org>
70907
70908         New module mbspbrk.
70909         * modules/mbspbrk: New file.
70910         * lib/mbspbrk.c: New file.
70911         * lib/string_.h (strpbrk): Add a conditional link warning.
70912         (mbspbrk): New declaration.
70913         * m4/mbspbrk.m4: New file.
70914         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70915         GNULIB_MBSPBRK.
70916         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
70917         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
70918
70919 2007-02-04  Bruno Haible  <bruno@clisp.org>
70920
70921         New module mbscspn.
70922         * modules/mbscspn: New file.
70923         * lib/mbscspn.c: New file.
70924         * lib/string_.h (strcspn): Add a conditional link warning.
70925         (mbscspn): New declaration.
70926         * m4/mbscspn.m4: New file.
70927         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70928         GNULIB_MBSCSPN.
70929         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
70930         * MODULES.html.sh (Internationalization functions): Add mbscspn.
70931
70932 2007-02-04  Bruno Haible  <bruno@clisp.org>
70933
70934         New module mbscasestr, reduced goal of strcasestr.
70935         * modules/mbscasestr: New file.
70936         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
70937         (mbscasestr): Renamed from strcasestr.
70938         * lib/strcasestr.c: Don't include mbuiter.h.
70939         (strcasestr): Remove support for multibyte locales.
70940         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
70941         Change the conditional link warning.
70942         (mbscasestr): New declaration.
70943         * m4/mbscasestr.m4: New file.
70944         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
70945         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
70946         REPLACE_STRCASESTR.
70947         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
70948         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70949         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70950         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
70951         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
70952         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70953         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
70954         (Depends-on): Remove mbuiter.
70955         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
70956
70957 2007-02-04  Bruno Haible  <bruno@clisp.org>
70958
70959         Simplify handling of strncasecmp.
70960         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
70961         the conditional link warning.
70962         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70963         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
70964         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
70965         * modules/strcase (configure.ac): Don't invoke
70966         gl_STRING_MODULE_INDICATOR.
70967         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
70968
70969 2007-02-04  Bruno Haible  <bruno@clisp.org>
70970
70971         New module mbscasecmp, reduced goal of strcasecmp.
70972         * modules/mbscasecmp: New file.
70973         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
70974         (mbscasecmp): Renamed from strcasecmp.
70975         * lib/strcasecmp.c: Don't include mbuiter.h.
70976         (strcasecmp): Remove support for multibyte locales.
70977         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
70978         Change the conditional link warning.
70979         (mbscasecmp): New declaration.
70980         * m4/mbscasecmp.m4: New file.
70981         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
70982         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
70983         REPLACE_STRCASECMP.
70984         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
70985         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70986         GNULIB_MBSCASECMP.
70987         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
70988         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
70989         * modules/strcase (Files): Remove m4/mbrtowc.m4.
70990         (Depends-on): Remove mbuiter.
70991         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
70992
70993 2007-02-04  Bruno Haible  <bruno@clisp.org>
70994
70995         New module mbsstr. Remove module strstr.
70996         * modules/mbsstr: New file.
70997         * modules/strstr: Remove file.
70998         * lib/mbsstr.c: Renamed from lib/strstr.c.
70999         (mbsstr): Renamed from strstr.
71000         * lib/string_.h (strstr): Remove declaration. Change the conditional
71001         link warning.
71002         (mbsstr): New declaration.
71003         * m4/mbsstr.m4: New file.
71004         * m4/strstr.m4: Remove file.
71005         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
71006         REPLACE_STRSTR.
71007         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
71008         Don't initialize GNULIB_STRSTR.
71009         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
71010         substitute GNULIB_STRSTR and REPLACE_STRSTR.
71011         * MODULES.html.sh (Internationalization functions): Add mbsstr.
71012         (Support for systems lacking ANSI C 89): Remove strstr.
71013
71014 2007-02-04  Bruno Haible  <bruno@clisp.org>
71015
71016         New module mbsrchr.
71017         * modules/mbsrchr: New file.
71018         * lib/mbsrchr.c: New file.
71019         * lib/string_.h (strrchr): Add a conditional link warning.
71020         (mbsrchr): New declaration.
71021         * m4/mbsrchr.m4: New file.
71022         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71023         GNULIB_MBSRCHR.
71024         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
71025         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
71026
71027 2007-02-04  Bruno Haible  <bruno@clisp.org>
71028
71029         New module mbschr.
71030         * modules/mbschr: New file.
71031         * lib/mbschr.c: New file.
71032         * lib/string_.h (strchr): Add a conditional link warning.
71033         (mbschr): New declaration.
71034         * m4/mbschr.m4: New file.
71035         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71036         GNULIB_MBSCHR.
71037         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
71038         * MODULES.html.sh (Internationalization functions): Add mbschr.
71039
71040 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
71041
71042         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
71043
71044         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
71045
71046 2007-02-04  Bruno Haible  <bruno@clisp.org>
71047
71048         New module description section 'configure.ac-early'.
71049         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
71050         (func_get_autoconf_early_snippet): New function.
71051         (func_import, func_create_testdir): Use it. Remove special cases for
71052         modules 'extensions' and 'lock'.
71053         * modules/extensions (configure.ac-early): Require
71054         gl_USE_SYSTEM_EXTENSIONS.
71055         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
71056
71057 2007-02-04  Bruno Haible  <bruno@clisp.org>
71058
71059         Make use of gcj-4.3's -fsource and -ftarget option.
71060         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
71061         and if so try the options -fsource and -ftarget.
71062         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
71063         source_version, ftarget_option, target_version arguments.
71064         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
71065         (is_envjavac_oldgcj_14_14_usable): Renamed from
71066         is_envjavac_gcj_14_14_usable.
71067         (is_envjavac_oldgcj_14_13_usable): Renamed from
71068         is_envjavac_gcj_14_13_usable.
71069         (is_gcj_present): Update.
71070         (is_gcj_43, is_gcj43_usable): New functions.
71071         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
71072         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
71073         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
71074         try the options -fsource and -ftarget.
71075
71076 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71077
71078         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
71079         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
71080         larger value.
71081
71082 2007-02-03  Jim Meyering  <jim@meyering.net>
71083
71084         Give tools a better chance to allocate space for very large buffers.
71085         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
71086
71087         Make pwd and readlink work also when run with an unreadable parent dir
71088         on systems with openat support.
71089         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
71090         provided getcwd function, even when we have openat support.
71091         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
71092
71093 2007-02-02  Bruno Haible  <bruno@clisp.org>
71094
71095         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71096         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
71097         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
71098         portability problems if one of these functions is only used on specific
71099         platforms.
71100         Reported by Paul Eggert.
71101
71102 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
71103
71104         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
71105         is causing more trouble than it's curing.
71106         * lib/regex_internal.h (__mempcpy): Remove.
71107         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
71108         (and make the code a tad smaller to boot).
71109         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
71110
71111 2007-02-02  Jim Meyering  <jim@meyering.net>
71112
71113         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
71114         section, not in the Makefile.am: one.
71115
71116 2007-02-02  Eric Blake  <ebb9@byu.net>
71117
71118         * lib/strchrnul.c: Always include config.h first.
71119
71120         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
71121         gnulib strstr is not necessary here.
71122
71123 2007-02-02  Simon Josefsson  <simon@josefsson.org>
71124
71125         * m4/socklen.m4: Fix typo.
71126
71127 2007-02-02  Eric Blake  <ebb9@byu.net>
71128
71129         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
71130         * modules/netinet_in (Makefile.am): Likewise.
71131
71132 2007-02-01  Bruno Haible  <bruno@clisp.org>
71133
71134         * lib/string_.h (GL_LINK_WARNING): New macro.
71135         (strcasecmp, strstr, strcasestr): If provided by the system,
71136         conditionally define as a macro that leads to a warning instead of to
71137         an error.
71138         (strncasecmp): Conditionally define as a macro that leads to a warning.
71139
71140 2007-02-01  Karl Berry  <karl@gnu.org>
71141
71142         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
71143
71144 2007-02-01  Bruno Haible  <bruno@clisp.org>
71145
71146         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
71147         renamings.
71148
71149 2007-02-01  Eric Blake  <ebb9@byu.net>
71150
71151         * modules/regex (Depends-on): Revert dependence on mempcpy.
71152         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
71153         module's definition of mempcpy.
71154         Reported by Paul Eggert.
71155
71156 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71157
71158         * lib/string_.h: If the gnulib module XYZ is not present, undefine
71159         the symbol XYZ before redefining it.  This fixes a problem with
71160         programs that don't use XYZ, when compiled on systems that define
71161         XYZ to something else.
71162
71163 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
71164
71165         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
71166         occurs when "mkdir -m foo" creates a setgid directory that is (1)
71167         writeable to group or other and (2) is intended to have a special
71168         mode bit that is set or cleared.  In such a case, the directory
71169         should be neither group- nor other-writeable until the special
71170         mode bits are right.
71171
71172 2007-01-31  Eric Blake  <ebb9@byu.net>
71173
71174         * modules/mountlist (Depends-on): Add strstr.
71175
71176         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
71177         bug.
71178         * modules/string (Makefile.am): Remove redundant replacement.
71179         * modules/regex (Depends-on): Add mempcpy.
71180
71181 2007-01-31  Bruno Haible  <bruno@clisp.org>
71182
71183         New module description field 'Link'.
71184         * gnulib-tool (func_usage): Document --extract-link-directive.
71185         (sed_extract_prog): Recognize 'Link' directive.
71186         (func_get_link_directive): New function.
71187         (func_import): Show summary of link directives.
71188         Handle --extract-link-directive option.
71189         * modules/acl (Link): New section.
71190         * modules/clock-time (Link): New section.
71191         * modules/euidaccess (Link): New section.
71192         * modules/gettext (Link): New section.
71193         * modules/iconv (Link): New section.
71194         * modules/lock (Link): New section.
71195         * modules/nanosleep (Link): New section.
71196         * modules/readline (Link): New section.
71197
71198 2007-01-27  Bruno Haible  <bruno@clisp.org>
71199
71200         Enforce the use of gnulib modules for unportable <string.h> functions.
71201         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
71202         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
71203         (gl_HEADER_STRING_H_BODY): Require it.
71204         * lib/string_.h: If the gnulib module XYZ is not present, redefine
71205         the symbol XYZ to one that gives a link error.
71206         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
71207         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
71208         * modules/mempcpy (configure.ac): Likewise.
71209         * modules/memrchr (configure.ac): Likewise.
71210         * modules/stpcpy (configure.ac): Likewise.
71211         * modules/stpncpy (configure.ac): Likewise.
71212         * modules/strcase (configure.ac): Likewise.
71213         * modules/strcasestr (configure.ac): Likewise.
71214         * modules/strchrnul (configure.ac): Likewise.
71215         * modules/strdup (configure.ac): Likewise.
71216         * modules/strndup (configure.ac): Likewise.
71217         * modules/strnlen (configure.ac): Likewise.
71218         * modules/strpbrk (configure.ac): Likewise.
71219         * modules/strsep (configure.ac): Likewise.
71220         * modules/strstr (configure.ac): Likewise.
71221         * modules/strtok_r (configure.ac): Likewise.
71222
71223 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
71224
71225         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
71226
71227 2007-01-30  Jim Meyering  <jim@meyering.net>
71228
71229         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
71230
71231 2007-01-29  Bruno Haible  <bruno@clisp.org>
71232
71233         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
71234         * lib/execute.c: Likewise.
71235         * lib/pipe.c: Likewise.
71236         * lib/printf-args.h: Likewise.
71237         * lib/printf-args.c: Likewise.
71238         * lib/printf-parse.c: Likewise.
71239         * lib/vasnprintf.c: Likewise.
71240
71241 2007-01-29  Eric Blake  <ebb9@byu.net>
71242
71243         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
71244         declaration.
71245
71246 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
71247
71248         * lib/strptime.h (strptime): Use 'restrict' for args where
71249         POSIX requires this.
71250         * lib/strptime.c (strptime): Likewise.
71251         Change license notice from LGPL to GPL, since gnulib-tool will
71252         change this as needed.
71253         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
71254         defined.
71255         Include "strptime.h" first, to check interface.
71256         Do not #undef _LIBC and _NL_CURRENT.
71257         Do not include <stdlib.h>; no longer needed.
71258         Include "time_r.h" and declare ptime_locale_status
71259         only if _LIBC is not defined.
71260         (__P): Remove unused macro.
71261         (match_string): Bring back glibc version, but use it only if _LIBC
71262         is defined.
71263         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
71264         Remove unnecessary assertion and abort() call.
71265         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
71266         * m4/strptime.m4: Fix serial number comment.
71267         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
71268         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
71269         (Depends-on): Add time_r.
71270
71271 2007-01-29  Bruno Haible  <bruno@clisp.org>
71272
71273         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71274         strptime.
71275         * modules/strptime (Depends-on): Add stdbool.
71276         * lib/strptime.h: Include <time.h> always. Add comments.
71277
71278 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71279
71280         * modules/strptime: New file.
71281         * lib/strptime.h: New file.
71282         * lib/strptime.c: New file.
71283         * m4/strptime.m4: New file.
71284
71285 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71286
71287         * MODULES.html.sh: New module mpsort.
71288         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
71289
71290         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
71291         a circularity problem with HP-UX ia64 reported by Bob Proulx in
71292         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
71293         All uses changed.
71294         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
71295         All uses changed.
71296         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
71297         to _Restrict_.
71298         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
71299         the parameter matches the prototype.
71300
71301 2007-01-28  Jim Meyering  <jim@meyering.net>
71302
71303         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
71304         sys/time.h here, reverting that part of the previous patch:
71305         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
71306
71307 2007-01-28  Bruno Haible  <bruno@clisp.org>
71308
71309         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
71310         value of $(SYS_TIME_H).
71311         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
71312         remove it conditionally, too. [added by Jim Meyering]
71313         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
71314         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71315         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
71316         GETTIMEOFDAY_REPLACEMENT to 1.
71317
71318 2007-01-28  Bruno Haible  <bruno@clisp.org>
71319
71320         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
71321         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
71322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
71323         Set UNISTD_H instead of UNISTD_H2.
71324         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
71325
71326 2007-01-28  Bruno Haible  <bruno@clisp.org>
71327
71328         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
71329         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
71330
71331 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71332
71333         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
71334         (func_create_testdir): Ensure C locale for `grep' and `tr'
71335         character ranges.
71336         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
71337         ACLOCAL_AMFLAGS parsing state machine.
71338
71339 2007-01-27  Bruno Haible  <bruno@clisp.org>
71340
71341         * modules/unistr/base: Update.
71342
71343 2007-01-27  Bruno Haible  <bruno@clisp.org>
71344
71345         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
71346         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
71347         * modules/unistr/u32-mbtouc-unsafe: Renamed from
71348         modules/unistr/u32-mbtouc.
71349         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
71350         * lib/unistr.h: Update.
71351         * lib/linebreak.c: Update.
71352         * modules/unistr/u32-mbtouc: Renamed from
71353         modules/unistr/u32-mbtouc-safe.
71354         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
71355         * lib/unistr.h: Update.
71356         * lib/unistr/u32-to-u8.c: Update.
71357         * lib/unistr/u32-to-u16.c: Update.
71358
71359 2007-01-27  Bruno Haible  <bruno@clisp.org>
71360
71361         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
71362         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
71363         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
71364         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
71365         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
71366         * modules/unistr/u16-mbtouc-unsafe: Renamed from
71367         modules/unistr/u16-mbtouc.
71368         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
71369         * lib/unistr.h: Update.
71370         * lib/linebreak.c: Update.
71371         * modules/linebreak: Update.
71372         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
71373         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
71374         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
71375         * modules/unistr/u16-mbtouc: Renamed from
71376         modules/unistr/u16-mbtouc-safe.
71377         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
71378         * lib/unistr.h: Update.
71379         * lib/unistr/u16-to-u8.c: Update.
71380         * modules/unistr/u16-to-u8: Update.
71381         * lib/unistr/u16-to-u32.c: Update.
71382         * modules/unistr/u16-to-u32: Update.
71383
71384 2007-01-27  Bruno Haible  <bruno@clisp.org>
71385
71386         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
71387         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
71388         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
71389         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
71390         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
71391         * modules/unistr/u8-mbtouc-unsafe: Renamed from
71392         modules/unistr/u8-mbtouc.
71393         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
71394         * lib/unistr.h: Update.
71395         * lib/striconveh.c: Update.
71396         * modules/striconveh: Update.
71397         * lib/linebreak.c: Update.
71398         * modules/linebreak: Update.
71399         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
71400         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
71401         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
71402         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
71403         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
71404         * lib/unistr.h: Update.
71405         * lib/striconveh.c: Update.
71406         * modules/striconveh: Update.
71407         * lib/unistr/u8-to-u16.c: Update.
71408         * modules/unistr/u8-to-u16: Update.
71409         * lib/unistr/u8-to-u32.c: Update.
71410         * modules/unistr/u8-to-u32: Update.
71411
71412 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71413
71414         Sync from Libtool.
71415         * lib/argz.c: Do not include strings.h nor memory.h, include
71416         string.h unconditionally.  Patch by Simon Josefsson.
71417
71418 2007-01-27  Bruno Haible  <bruno@clisp.org>
71419
71420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
71421         from gl_HEADER_STRING_H_BODY.
71422         (gl_HEADER_STRING_H_BODY): Require it.
71423         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
71424         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
71425         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
71426         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
71427         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
71428         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
71429         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
71430         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
71431         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
71432         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
71433         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
71434         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
71435         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
71436         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
71437         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71438
71439 2007-01-27  Bruno Haible  <bruno@clisp.org>
71440
71441         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
71442         check_PROGRAMS into noinst_PROGRAMS.
71443         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
71444         check_PROGRAMS in this case.
71445         (func_import): Set for_test to false.
71446         (func_create_testdir): Set for_test to true.
71447
71448 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71449             Bruno Haible  <bruno@clisp.org>
71450
71451         * modules/strcasestr (Files): Remove lib/strcasestr.h.
71452         (Depends-on): Add string.
71453         (Includes): Use <string.h> instead of strcasestr.h.
71454         * modules/string (Makefile.am): Also substitute the value of
71455         REPLACE_STRCASESTR.
71456         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
71457         assume strcasestr is declared in <string.h> not <strings.h>. Also
71458         set REPLACE_STRCASESTR.
71459         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
71460         REPLACE_STRCASESTR.
71461         * lib/strcasestr.h: Remove file.
71462         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
71463         * lib/string_.h (strcasestr): New declaration.
71464
71465 2007-01-27  Bruno Haible  <bruno@clisp.org>
71466
71467         * lib/string_.h: Use 'extern'.
71468
71469 2007-01-27  Jim Meyering  <jim@meyering.net>
71470
71471         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
71472         of set-but-not-used local, "q".
71473
71474         * lib/mempcpy.c: Include <config.h> before <string.h>.
71475         This fixes a compilation error on HP-UX, due to the system's
71476         "restrict"-using mempcpy prototype.
71477
71478 2007-01-26  Bruno Haible  <bruno@clisp.org>
71479
71480         Small optimization.
71481         * lib/javacomp.c: Include c-strstr.h.
71482          (is_envjavac_gcj): Use c_strstr instead of strstr.
71483         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
71484
71485 2007-01-26  Bruno Haible  <bruno@clisp.org>
71486
71487         * MODULES.html.sh (Unicode string functions): Add the new modules.
71488
71489         * modules/uniconv/u32-strconv-to-locale: New file.
71490         * lib/uniconv/u32-strconv-to-locale.c: New file.
71491
71492         * modules/uniconv/u16-strconv-to-locale: New file.
71493         * lib/uniconv/u16-strconv-to-locale.c: New file.
71494
71495         * modules/uniconv/u8-strconv-to-locale: New file.
71496         * lib/uniconv/u8-strconv-to-locale.c: New file.
71497
71498         * modules/uniconv/u32-strconv-from-locale: New file.
71499         * lib/uniconv/u32-strconv-from-locale.c: New file.
71500
71501         * modules/uniconv/u16-strconv-from-locale: New file.
71502         * lib/uniconv/u16-strconv-from-locale.c: New file.
71503
71504         * modules/uniconv/u8-strconv-from-locale: New file.
71505         * lib/uniconv/u8-strconv-from-locale.c: New file.
71506
71507         * modules/uniconv/u32-strconv-to-enc: New file.
71508         * lib/uniconv/u32-strconv-to-enc.c: New file.
71509         * modules/uniconv/u32-strconv-to-enc-tests: New file.
71510         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
71511
71512         * modules/uniconv/u16-strconv-to-enc: New file.
71513         * lib/uniconv/u16-strconv-to-enc.c: New file.
71514         * lib/uniconv/u-strconv-to-enc.h: New file.
71515         * modules/uniconv/u16-strconv-to-enc-tests: New file.
71516         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
71517
71518         * modules/uniconv/u8-strconv-to-enc: New file.
71519         * lib/uniconv/u8-strconv-to-enc.c: New file.
71520         * modules/uniconv/u8-strconv-to-enc-tests: New file.
71521         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
71522
71523         * modules/uniconv/u32-strconv-from-enc: New file.
71524         * lib/uniconv/u32-strconv-from-enc.c: New file.
71525         * modules/uniconv/u32-strconv-from-enc-tests: New file.
71526         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
71527
71528         * modules/uniconv/u16-strconv-from-enc: New file.
71529         * lib/uniconv/u16-strconv-from-enc.c: New file.
71530         * modules/uniconv/u16-strconv-from-enc-tests: New file.
71531         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
71532
71533         * modules/uniconv/u8-strconv-from-enc: New file.
71534         * lib/uniconv/u8-strconv-from-enc.c: New file.
71535         * lib/uniconv/u-strconv-from-enc.h: New file.
71536         * modules/uniconv/u8-strconv-from-enc-tests: New file.
71537         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
71538
71539         * modules/uniconv/u32-conv-from-enc: New file.
71540         * lib/uniconv/u32-conv-from-enc.c: New file.
71541         * modules/uniconv/u32-conv-from-enc-tests: New file.
71542         * tests/uniconv/test-u32-conv-from-enc.c: New file.
71543
71544         * modules/uniconv/u16-conv-from-enc: New file.
71545         * lib/uniconv/u16-conv-from-enc.c: New file.
71546         * lib/uniconv/u-conv-from-enc.h: New file.
71547         * modules/uniconv/u16-conv-from-enc-tests: New file.
71548         * tests/uniconv/test-u16-conv-from-enc.c: New file.
71549
71550         * modules/uniconv/u8-conv-from-enc: New file.
71551         * lib/uniconv/u8-conv-from-enc.c: New file.
71552         * modules/uniconv/u8-conv-from-enc-tests: New file.
71553         * tests/uniconv/test-u8-conv-from-enc.c: New file.
71554
71555         * modules/uniconv/base: New file.
71556         * lib/uniconv.h: New file.
71557
71558 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71559
71560         * doc/gnulib-tool.texi (Initial import): Update to match current
71561         behavior with strdup module.
71562         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
71563         * lib/memmem.h: Remove; all uses removed.  This is now done
71564         by <string.h>.
71565         * lib/mempcpy.h: Likewise.
71566         * lib/memrchr.h: Likewise.
71567         * lib/stpcpy.h: Likewise.
71568         * lib/stpncpy.h: Likewise.
71569         * lib/strcase.h: Likewise.
71570         * lib/strchrnul.h: Likewise.
71571         * lib/strdup.h: Likewise.
71572         * lib/strndup.h: Likewise.
71573         * lib/strnlen.h: Likewise.
71574         * lib/strpbrk.h: Likewise.
71575         * lib/strsep.h: Likewise.
71576         * lib/strstr.h: Likewise.
71577         * lib/strtok_r.h: Likewise.
71578         * lib/string_.h: New file.
71579         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
71580         Rely on <string.h> instead.
71581         * lib/canon-host.c: Likewise.
71582         * lib/chdir-long.c: Likewise.
71583         * lib/concatpath.c: Likewise.
71584         * lib/exclude.c: Likewise.
71585         * lib/fchdir.c: Likewise.
71586         * lib/getaddrinfo.c: Likewise.
71587         * lib/getcwd.c: Likewise.
71588         * lib/getsubopt.c: Likewise.
71589         * lib/glob.c: Likewise.
71590         * lib/hard-locale.c: Likewise.
71591         * lib/iconvme.c: Likewise.
71592         * lib/javacomp.c: Likewise.
71593         * lib/mempcpy.c: Likewise.
71594         * lib/memrchr.c: Likewise.
71595         * lib/regex_internal.h: Likewise.
71596         * lib/stpncpy.c: Likewise.
71597         * lib/strcasecmp.c: Likewise.
71598         * lib/strchrnul.c: Likewise.
71599         * lib/strdup.c: Likewise.
71600         * lib/striconv.c: Likewise.
71601         * lib/striconveh.c: Likewise.
71602         * lib/striconveha.c: Likewise.
71603         * lib/strncasecmp.c: Likewise.
71604         * lib/strndup.c: Likewise.
71605         * lib/strnlen.c: Likewise.
71606         * lib/strsep.c: Likewise.
71607         * lib/strstr.c: Likewise.
71608         * lib/strtok_r.c: Likewise.
71609         * lib/userspec.c: Likewise.
71610         * lib/w32spawn.h: Likewise.
71611         * lib/xstrndup.c: Likewise.
71612         * lib/mountlist.c (strstr): Remove decl.
71613         * m4/string_h.m4: New file.
71614         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
71615         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
71616         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
71617         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
71618         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
71619         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
71620         Set REPLACE_STRCASECMP if necessary.
71621         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
71622         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
71623         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
71624         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
71625         HAVE_DECL_STRDUP if necessary.
71626         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
71627         since gl_FUNC_STRNDUP does that now.
71628         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
71629         Check for decl here...
71630         (gl_PREREQ_STRNLEN): ... not here.
71631         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
71632         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
71633         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
71634         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
71635         necessary.
71636         * modules/string: New file.
71637         * modules/memmem (Files): Remove special-purpose include file.
71638         (Depends-on): Add string.
71639         (Include): Include <string.h>, not the removed file.
71640         * modules/mempcpy: Likewise.
71641         * modules/memrchr: Likewise.
71642         * modules/stpcpy: Likewise.
71643         * modules/stpncpy: Likewise.
71644         * modules/strcase: Likewise.
71645         * modules/strchrnul: Likewise.
71646         * modules/strdup: Likewise.
71647         * modules/strndup: Likewise.
71648         * modules/strnlen: Likewise.
71649         * modules/strpbrk: Likewise.
71650         * modules/strsep: Likewise.
71651         * modules/strstr: Likewise.
71652         * modules/strtok_r: Likewise.
71653         * tests/test-dirname.c: Don't include "strdup.h", since
71654         <string.h> now suffices.
71655         * tests/test-memmem.c: Don't include "memmem.h", since
71656         <string.h> now suffices.
71657
71658 2007-01-25  Bruno Haible  <bruno@clisp.org>
71659
71660         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
71661         *resultp is 0.
71662
71663         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
71664         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
71665         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
71666         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
71667
71668         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
71669         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
71670         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
71671         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
71672         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
71673         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
71674
71675 2007-01-24  Bruno Haible  <bruno@clisp.org>
71676
71677         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
71678         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
71679         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
71680         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
71681         gl_FUNC_FTS_CORE.
71682         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
71683         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
71684         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71685         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
71686         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
71687         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
71688         gl_FUNC_FCHOWNAT.
71689         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
71690         gl_FUNC_STRFTIME.
71691         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
71692         Reported by Ralf Wildenhues.
71693
71694 2007-01-24  Bruno Haible  <bruno@clisp.org>
71695
71696         Drop AC_REQUIRE calls that are redundant with the module dependencies.
71697         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
71698         gl_GETADDRINFO.
71699         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
71700         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
71701         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
71702
71703 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
71704
71705         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
71706         Don't use 'exit'; just return from 'main'.
71707         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
71708
71709         * lib/fnmatch_.h: Readjust white space and comments to match
71710         glibc, to avoid spurious diffs.
71711
71712 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71713
71714         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
71715         2004-12-01 change by Jakub Jelinek, since this code won't compile
71716         if !LIBC.  Problem reported by Bob Proulx.
71717
71718 2007-01-23  Bruno Haible  <bruno@clisp.org>
71719
71720         * lib/striconveh.c: Include c-strcaseeq.h.
71721         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
71722         * modules/striconveh (Depends-on): Add c-strcaseeq.
71723
71724 2007-01-23  Bruno Haible  <bruno@clisp.org>
71725
71726         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
71727
71728         * modules/c-strcaseeq: New file.
71729         * lib/c-strcaseeq.h: New file.
71730
71731         * modules/streq: New file.
71732         * lib/streq.h: New file.
71733
71734 2007-01-23  Bruno Haible  <bruno@clisp.org>
71735
71736         * modules/striconveha-tests: New file.
71737         * tests/test-striconveha.c: New file.
71738
71739         * lib/striconveha.h: Include <stdbool.h>.
71740         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
71741         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
71742         (mem_iconveha_notranslit): Renamed from mem_iconveha.
71743         (mem_iconveha): New function.
71744         (str_iconveha_notranslit): Renamed from str_iconveha.
71745         (str_iconveha): New function.
71746         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
71747         c-strcase.
71748
71749 2007-01-23  Bruno Haible  <bruno@clisp.org>
71750
71751         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
71752         encodings without forgiving before trying any encoding with handler.
71753         (str_iconveha): Try all encodings without forgiving before trying any
71754         encoding with handler.
71755
71756 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71757
71758         Import the following changes from libc.
71759
71760         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71761
71762         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
71763
71764         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71765
71766         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
71767         normal_bracket label.
71768
71769         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
71770
71771         [BZ #361]
71772         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
71773         to normal_bracket after fetching the next character.
71774
71775 2007-01-22  Bruno Haible  <bruno@clisp.org>
71776
71777         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
71778         argument.
71779         * lib/striconveh.c (iconv_carefully_1): New function.
71780         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
71781         argument.
71782         (str_cd_iconveh): Update.
71783         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
71784         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
71785         * tests/test-striconveh.c (MAGIC): New macro.
71786         (new_offsets): New function.
71787         (main): Test call with and without offsets.
71788
71789 2007-01-22  Bruno Haible  <bruno@clisp.org>
71790
71791         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
71792         * modules/sys_select (Makefile.am): Likewise.
71793         * modules/sys_socket (Makefile.am): Likewise.
71794         * modules/sys_time (Makefile.am): Likewise.
71795
71796 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71797
71798         * modules/gettimeofday (License): Change from GPL to LGPL, since
71799         gettimeofday is a library function.
71800
71801 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71802
71803         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71804
71805 2007-01-21  Bruno Haible  <bruno@clisp.org>
71806
71807         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
71808
71809 2007-01-21  Bruno Haible  <bruno@clisp.org>
71810
71811         * modules/striconveha: New file.
71812         * lib/striconveha.h: New file.
71813         * lib/striconveha.c: New file.
71814         * MODULES.html.sh (Internationalization functions): Add striconveha.
71815         * lib/striconv.c (str_iconv): Optimize the case of an empty input
71816         string.
71817         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
71818
71819 2007-01-21  Bruno Haible  <bruno@clisp.org>
71820
71821         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
71822         * lib/striconveh.c (str_iconveh): Likewise.
71823
71824 2007-01-21  Bruno Haible  <bruno@clisp.org>
71825
71826         * lib/striconveh.h (mem_iconveh): New declaration.
71827         * lib/striconveh.c (mem_iconveh): New function.
71828         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
71829
71830 2007-01-21  Bruno Haible  <bruno@clisp.org>
71831
71832         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
71833
71834         * lib/striconveh.h (mem_cd_iconveh): Change specification.
71835         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
71836         original result buffer.
71837         (str_cd_iconveh): Update.
71838         * tests/test-striconveh.c (main): Update.
71839
71840         * lib/striconv.h (mem_cd_iconv): Change specification.
71841         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
71842         result buffer.
71843         (str_cd_iconv): Update.
71844         * tests/test-striconv.c (main): Update.
71845
71846 2007-01-21  Bruno Haible  <bruno@clisp.org>
71847
71848         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
71849
71850 2007-01-20  Jim Meyering  <jim@meyering.net>
71851
71852         * lib/userspec.c (parse_with_separator): If a user or group string
71853         starts with "+", skip the corresponding name-to-ID look-up, since
71854         such a look-up must fail: user and group names may not include "+".
71855
71856 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71857
71858         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71859         since we now assume the sys_time module.
71860         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
71861         check for sys/time.h; no longer needed.
71862         * modules/poll (Depends-on): Depend on sys_time.
71863
71864 2007-01-18  Bruno Haible  <bruno@clisp.org>
71865
71866         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
71867         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71868
71869         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
71870         gettimeofday.
71871
71872         * tests/test-gettimeofday.c: Include <time.h>.
71873         (dummy): Remove variable.
71874
71875         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
71876         gl_HEADER_SYS_TIME_H.
71877         (gl_HEADER_SYS_TIME_H): New macro.
71878
71879         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
71880         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71881         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
71882         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
71883         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71884         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
71885         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
71886         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71887         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
71888         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
71889         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71890
71891         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
71892         last change; it caused a compilation error when cross-compiling to
71893         Cygwin.
71894
71895 2007-01-18  Jim Meyering  <jim@meyering.net>
71896
71897         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
71898         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
71899         than the race-prone "test -d sys || mkdir sys".
71900         (configure.ac): Use AC_PROG_MKDIR_P.
71901         * modules/sys_select: Likewise.
71902         * modules/sys_socket: Likewise.
71903         * modules/sys_time: Likewise.
71904
71905 2007-01-18  Eric Blake  <ebb9@byu.net>
71906
71907         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
71908         replace gettimeofday.
71909         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
71910         name, to avoid infinite recursion.
71911
71912 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
71913
71914         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
71915         module sys_time.
71916         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
71917         assume timespec.h defines struct timeval.
71918         * lib/settime.c: Likewise.
71919         * lib/utimens.c: Likewise.
71920         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
71921         since we now assume the gettimeofday module.
71922         * lib/tempname.c (__gen_tempname): Likewise.
71923         * lib/gettimeofday.h: Remove.
71924         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
71925         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
71926         Include <time.h>, for 'time()'.
71927         (localtime_buffer_addr): Also use this workaround if
71928         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
71929         to simplify the uses.  All uses changed.
71930         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
71931         that #undef is inside {}, and 'const' follows type name consistently.
71932         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
71933         (gettimeofday): Do not use the maximum possible value for
71934         tv->tv_usec, since that might break usages other than ls.c.
71935         Instead, we'll leave ls.c alone.  This undoes today's patch
71936         by Bruno.  Add a compile-time warning for 1s-clock resolution;
71937         we've never observed the problem but might as well keep the
71938         canary.
71939         * lib/nanosleep.c: Include timespec.h first, for interface check.
71940         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
71941         now assume the sys_time module.
71942         * lib/tempname.c: Likewise.
71943         * lib/timespec.h: Likewise.
71944         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
71945         needed.
71946         * lib/strftime.c: Likewise.
71947         * lib/timespec.h: Likewise.
71948         * lib/posixtm.c: Include posixtm.h first, for interface check.
71949         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
71950         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
71951         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
71952         * lib/sys_time_.h: New file.
71953         * lib/timespec.h (struct timespec): Use long int, not long.
71954         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71955         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
71956         Remove obsolescent call to AC_HEADER_TIME.
71957         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
71958         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71959         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71960         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
71961         Likewise.
71962         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
71963         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
71964         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
71965         into the sys_time module.  Check for gettimeofday just once.
71966         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
71967         for gettimeofday signature to just check the signature.  Merely
71968         compile it, since linking doesn't test signature.  Improve test for
71969         whether gettimeofday.o is actually needed.
71970         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
71971         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
71972         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
71973         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71974         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
71975         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
71976         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
71977         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
71978         than worrying about sys/time.h.
71979         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71980         Don't bother worrying about TIME_WITH_SYS_TIME.
71981         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
71982         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
71983         * m4/sys_time_h.m4: New file.
71984         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
71985         Don't include sys/time.h.  Return from main rather than exiting.
71986         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
71987         all uses changed.
71988         * modules/gethrxtime (Depends-on): Add sys_time.
71989         * modules/gettime (Depends-on): Likewise.
71990         * modules/gettimeofday (Depends-on): Likewise.
71991         * modules/nanosleep (Depends-on): Likewise.
71992         * modules/settime (Depends-on): Likewise.
71993         * modules/tempname (Depends-on): Likewise.
71994         * modules/utimens (Depends-on): Likewise.
71995         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
71996         (Include): Change back to <sys/time.h>.
71997         (Maintainer): Add self.
71998         * modules/sys_time: New file.
71999         * modules/tempname (Depends-on): Add gettimeofday.
72000         * tests/test-gettimeofday.c: Include <sys/time.h>
72001         rather than gettimeofday.h.
72002
72003 2007-01-17  Bruno Haible  <bruno@clisp.org>
72004
72005         * gnulib-tool (func_get_license): Revert last patch. Instead, let
72006         the license default to GPL.
72007         (func_create_testdir): Don't complain if a module is LGPL and its
72008         tests module depends on GPLed modules.
72009
72010 2007-01-17  Bruno Haible  <bruno@clisp.org>
72011
72012         * lib/gettimeofday.c (gettimeofday): Add code for the case
72013         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
72014         maximum possible value for tv->tv_usec, rather than the minimum one.
72015
72016 2005-10-08  Martin Lambers  <marlam@marlam.de>
72017 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
72018 2007-01-16  Bruno Haible  <bruno@clisp.org>
72019
72020         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
72021         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
72022         gl_FUNC_GETTIMEOFDAY.
72023         (Include): Add gettimeofday.h.
72024         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
72025         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
72026         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
72027         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
72028         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
72029         * lib/gettimeofday.h: New file.
72030         * lib/gettimeofday.c: Include <sys/timeb.h>.
72031         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
72032         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72033         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
72034         fall back on time().
72035
72036         * tests/test-gettimeofday.c: New file.
72037         * modules/gettimeofday-tests: New file.
72038
72039 2007-01-16  Eric Blake  <ebb9@byu.net>
72040
72041         * modules/fnmatch (Depends-on): Depend on wchar.
72042         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
72043         * m4/fnmatch.m4: Likewise.
72044         * modules/mbchar (Makefile.am): Assume <wchar.h>.
72045         * m4/mbchar.m4: Likewise.
72046         * modules/mbswidth (Depends-on): Depend on wchar.
72047         * lib/mbswidth.c: Assume <wchar.h>.
72048         * m4/mbswidth.m4: Likewise.
72049         * modules/quotearg (Depends-on): Depend on wchar.
72050         * lib/quotearg.c: Assume <wchar.h>.
72051         * m4/quotearg.m4: Likewise.
72052         * modules/regex (Depends-on): Depend on wchar.
72053         * lib/regex_internal.h: Assume <wchar.h>.
72054         * m4/regex.m4: Likewise.
72055         * modules/stdint (Depends-on): Depend on wchar.
72056         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
72057         * m4/stdint.m4: Likewise.
72058         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
72059         * modules/strftime (Depends-on): Depend on wchar.
72060         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
72061         * modules/strtol (Depends-on): Depend on wchar.
72062         * lib/strtol.c: Assume <wchar.h>.
72063         * modules/wcwidth (Depends-on): Depend on wchar.
72064         * lib/wcwidth.h: Assume <wchar.h>.
72065         * m4/wcwidth.m4: Likewise.
72066
72067 2007-01-16  Bruno Haible  <bruno@clisp.org>
72068
72069         * modules/csharpexec-script: New, created from...
72070         * modules/csharpexec: ... this.
72071
72072 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
72073
72074         * modules/javaexec-script: New, created from...
72075         * modules/javaexec: ... this.
72076
72077 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72078
72079         * modules/poll (Dependencies): Add sys_select.
72080
72081 2007-01-15  Jim Meyering  <jim@meyering.net>
72082
72083         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
72084         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
72085         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
72086         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
72087
72088 2007-01-15  Bruno Haible  <bruno@clisp.org>
72089
72090         * modules/striconveh: New file.
72091         * lib/striconveh.h: New file.
72092         * lib/striconveh.c: New file.
72093         * MODULES.html.sh (Internationalization functions): Add striconveh.
72094
72095         * modules/striconveh-tests: New file.
72096         * tests/test-striconveh.c: New file.
72097
72098 2007-01-15  Bruno Haible  <bruno@clisp.org>
72099
72100         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
72101         not from GNU libiconv or GNU libc.
72102
72103 2007-01-15  Bruno Haible  <bruno@clisp.org>
72104
72105         * doc/gnulib-intro.texi (Copyright): Explain the different license
72106         terms for module descriptions, autoconf macros, tests, documentation.
72107
72108 2007-01-14  Bruno Haible  <bruno@clisp.org>
72109
72110         * modules/striconv-tests: New file.
72111         * tests/test-striconv.c: New file.
72112
72113 2007-01-14  Bruno Haible  <bruno@clisp.org>
72114
72115         * modules/iconv-tests: New file.
72116         * tests/test-iconv.c: New file.
72117
72118 2007-01-14  Bruno Haible  <bruno@clisp.org>
72119
72120         * gnulib-tool (func_get_license): For test modules, use the license of
72121         the main module.
72122
72123 2007-01-14  Bruno Haible  <bruno@clisp.org>
72124
72125         * modules/iconv (Include): Clarify that <iconv.h> can only be included
72126         if iconv is found to exist.
72127
72128 2007-01-14  Bruno Haible  <bruno@clisp.org>
72129
72130         * modules/c-ctype-tests: New file.
72131         * tests/test-c-ctype.c: New file.
72132
72133 2007-01-14  Bruno Haible  <bruno@clisp.org>
72134
72135         * modules/binary-io-tests: New file.
72136         * tests/test-binary-io.sh: New file.
72137         * tests/test-binary-io.c: New file.
72138
72139 2007-01-14  Bruno Haible  <bruno@clisp.org>
72140
72141         * modules/array-oset-tests: New file.
72142         * tests/test-array_oset.c: New file.
72143
72144 2007-01-14  Bruno Haible  <bruno@clisp.org>
72145
72146         * modules/array-list-tests: New file.
72147         * tests/test-array_list.c: New file.
72148
72149 2007-01-14  Bruno Haible  <bruno@clisp.org>
72150
72151         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
72152         and make.
72153         Reported by Simon Josefsson in
72154         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
72155
72156 2007-01-14  Bruno Haible  <bruno@clisp.org>
72157
72158         * modules/allocsa-tests: New file.
72159         * tests/test-allocsa.c: New file.
72160
72161 2007-01-14  Bruno Haible  <bruno@clisp.org>
72162
72163         * modules/fchdir (Depends-on): Add absolute-header.
72164         * modules/unistd (Depends-on): Likewise.
72165
72166 2006-12-30  Bruno Haible  <bruno@clisp.org>
72167
72168         * modules/fchdir: New file.
72169         * modules/unistd (Files): Add lib/unistd_.h.
72170         (Makefile.am): Generate unistd.h from unistd_.h.
72171         * lib/fchdir.c: New file.
72172         * lib/dirent_.h: New file.
72173         * lib/unistd_.h: New file.
72174         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
72175         * m4/fchdir.m4: New file.
72176         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
72177         (gl_HEADER_UNISTD): Invoke it.
72178         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
72179         function.
72180         * lib/backupfile.c (opendir, closedir): Undefine.
72181         * lib/chown.c (open, close): Undefine.
72182         * lib/clean-temp.c (open, close): Undefine.
72183         * lib/copy-file.c (open, close): Undefine.
72184         * lib/execute.c (open, close): Undefine.
72185         * lib/fsusage.c (open, close): Undefine.
72186         * lib/gc-gnulib.c (open, close): Undefine.
72187         * lib/getcwd.c (opendir, closedir): Undefine.
72188         * lib/glob.c (opendir, closedir): Undefine.
72189         * lib/javacomp.c (open, close): Undefine.
72190         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
72191         * lib/openat-proc.c (open, close): Undefine.
72192         * lib/pagealign_alloc.c (open, close): Undefine.
72193         * lib/pipe.c (open, close): Undefine.
72194         * lib/progreloc.c (open, close): Undefine.
72195         * lib/savedir.c (opendir, closedir): Undefine.
72196         * lib/utime.c (open, close): Undefine.
72197         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
72198
72199 2007-01-10  Bruno Haible  <bruno@clisp.org>
72200
72201         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
72202
72203 2007-01-12  Eric Blake  <ebb9@byu.net>
72204
72205         Provide a robust <wchar.h>.  Further simplifications are now
72206         possible in other modules, but not included here.
72207         * modules/wchar: New module.
72208         * m4/wchar.m4: New file.
72209         * lib/wchar_.h: Likewise.
72210         * modules/mbchar (Depends-on): Depend on wchar, as the first use
72211         of the new module.
72212         * MODULES.html.sh (Extended multibyte and wide character utilities):
72213         New section.
72214
72215 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
72216
72217         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
72218         to a reasonable default for memory allocation.
72219         (xreadlink): Don't allocate a huge buffer, to work around a buggy
72220         file system that reports garbage st_size values for symlinks.
72221         Problem reported by Liyang Hu.
72222
72223 2007-01-11  Simon Josefsson  <simon@josefsson.org>
72224
72225         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
72226         Emacs .#* auto-save files).
72227
72228 2007-01-11  Bruno Haible  <bruno@clisp.org>
72229
72230         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
72231         directory.
72232
72233 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72234
72235         Use @...@ consistently in lib/wctype_.h.
72236         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
72237         on it being set to 1 or 0.
72238         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
72239         go back to AC_SUBSTing it.
72240         * modules/wctype (Makefile.am): Undo previous change.
72241
72242 2007-01-10  Eric Blake  <ebb9@byu.net>
72243
72244         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
72245         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
72246         * modules/wctype (Makefile.am): Likewise.
72247         Reported by Chris McGuire.
72248
72249 2007-01-10  Jim Meyering  <jim@meyering.net>
72250
72251         fts.c: a small readability/maintainability improvement
72252         * lib/fts.c (fts_read): Make this code slightly more readable and
72253         maintainable by hoisting the "sp->fts_cur = p" assignments to
72254         immediately follow the statements that set P.  Derived from
72255         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
72256
72257 2007-01-10  Eric Blake  <ebb9@byu.net>
72258
72259         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
72260         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
72261         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72262         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
72263         Reported by Chris McGuire.
72264
72265 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72266
72267         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
72268         in sed script.
72269
72270 2007-01-09  Bruno Haible  <bruno@clisp.org>
72271
72272         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
72273         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
72274         variables.
72275         (func_module): Use them.
72276
72277 2007-01-09  Bruno Haible  <bruno@clisp.org>
72278
72279         * modules/unistr/base: New file.
72280         * lib/unistr.h: New file.
72281
72282         * modules/unistr/u8-to-u16: New file.
72283         * lib/unistr/u8-to-u16.c: New file.
72284
72285         * modules/unistr/u8-to-u32: New file.
72286         * lib/unistr/u8-to-u32.c: New file.
72287
72288         * modules/unistr/u16-to-u8: New file.
72289         * lib/unistr/u16-to-u8.c: New file.
72290
72291         * modules/unistr/u16-to-u32: New file.
72292         * lib/unistr/u16-to-u32.c: New file.
72293
72294         * modules/unistr/u32-to-u8: New file.
72295         * lib/unistr/u32-to-u8.c: New file.
72296
72297         * modules/unistr/u32-to-u16: New file.
72298         * lib/unistr/u32-to-u16.c: New file.
72299
72300         * modules/unistr/u8-check: New file.
72301         * modules/unistr/u16-check: New file.
72302         * modules/unistr/u32-check: New file.
72303         * lib/unistr/u8-check.c: New file.
72304         * lib/unistr/u16-check.c: New file.
72305         * lib/unistr/u32-check.c: New file.
72306
72307         * modules/unistr/u8-chr: New file.
72308         * modules/unistr/u16-chr: New file.
72309         * modules/unistr/u32-chr: New file.
72310         * lib/unistr/u8-chr.c: New file.
72311         * lib/unistr/u16-chr.c: New file.
72312         * lib/unistr/u32-chr.c: New file.
72313
72314         * modules/unistr/u8-cmp: New file.
72315         * modules/unistr/u16-cmp: New file.
72316         * modules/unistr/u32-cmp: New file.
72317         * lib/unistr/u8-cmp.c: New file.
72318         * lib/unistr/u16-cmp.c: New file.
72319         * lib/unistr/u32-cmp.c: New file.
72320
72321         * modules/unistr/u8-cpy: New file.
72322         * modules/unistr/u16-cpy: New file.
72323         * modules/unistr/u32-cpy: New file.
72324         * lib/unistr/u8-cpy.c: New file.
72325         * lib/unistr/u16-cpy.c: New file.
72326         * lib/unistr/u32-cpy.c: New file.
72327         * lib/unistr/u-cpy.h: New file.
72328
72329         * modules/unistr/u8-cpy-alloc: New file.
72330         * modules/unistr/u16-cpy-alloc: New file.
72331         * modules/unistr/u32-cpy-alloc: New file.
72332         * lib/unistr/u8-cpy-alloc.c: New file.
72333         * lib/unistr/u16-cpy-alloc.c: New file.
72334         * lib/unistr/u32-cpy-alloc.c: New file.
72335         * lib/unistr/u-cpy-alloc.h: New file.
72336
72337         * modules/unistr/u8-endswith: New file.
72338         * modules/unistr/u16-endswith: New file.
72339         * modules/unistr/u32-endswith: New file.
72340         * lib/unistr/u8-endswith.c: New file.
72341         * lib/unistr/u16-endswith.c: New file.
72342         * lib/unistr/u32-endswith.c: New file.
72343         * lib/unistr/u-endswith.h: New file.
72344
72345         * modules/unistr/u8-mblen: New file.
72346         * modules/unistr/u16-mblen: New file.
72347         * modules/unistr/u32-mblen: New file.
72348         * lib/unistr/u8-mblen.c: New file.
72349         * lib/unistr/u16-mblen.c: New file.
72350         * lib/unistr/u32-mblen.c: New file.
72351
72352         * modules/unistr/u8-mbtouc: New file.
72353         * modules/unistr/u16-mbtouc: New file.
72354         * modules/unistr/u32-mbtouc: New file.
72355         * lib/unistr/u8-mbtouc.c: New file.
72356         * lib/unistr/u16-mbtouc.c: New file.
72357         * lib/unistr/u32-mbtouc.c: New file.
72358
72359         * modules/unistr/u8-mbtouc-safe: New file.
72360         * modules/unistr/u16-mbtouc-safe: New file.
72361         * modules/unistr/u32-mbtouc-safe: New file.
72362         * lib/unistr/u8-mbtouc-safe.c: New file.
72363         * lib/unistr/u16-mbtouc-safe.c: New file.
72364         * lib/unistr/u32-mbtouc-safe.c: New file.
72365
72366         * modules/unistr/u8-move: New file.
72367         * modules/unistr/u16-move: New file.
72368         * modules/unistr/u32-move: New file.
72369         * lib/unistr/u8-move.c: New file.
72370         * lib/unistr/u16-move.c: New file.
72371         * lib/unistr/u32-move.c: New file.
72372         * lib/unistr/u-move.h: New file.
72373
72374         * modules/unistr/u8-next: New file.
72375         * modules/unistr/u16-next: New file.
72376         * modules/unistr/u32-next: New file.
72377         * lib/unistr/u8-next.c: New file.
72378         * lib/unistr/u16-next.c: New file.
72379         * lib/unistr/u32-next.c: New file.
72380
72381         * modules/unistr/u8-prev: New file.
72382         * modules/unistr/u16-prev: New file.
72383         * modules/unistr/u32-prev: New file.
72384         * lib/unistr/u8-prev.c: New file.
72385         * lib/unistr/u16-prev.c: New file.
72386         * lib/unistr/u32-prev.c: New file.
72387
72388         * modules/unistr/u8-set: New file.
72389         * modules/unistr/u16-set: New file.
72390         * modules/unistr/u32-set: New file.
72391         * lib/unistr/u8-set.c: New file.
72392         * lib/unistr/u16-set.c: New file.
72393         * lib/unistr/u32-set.c: New file.
72394         * lib/unistr/u-set.h: New file.
72395
72396         * modules/unistr/u8-startswith: New file.
72397         * modules/unistr/u16-startswith: New file.
72398         * modules/unistr/u32-startswith: New file.
72399         * lib/unistr/u8-startswith.c: New file.
72400         * lib/unistr/u16-startswith.c: New file.
72401         * lib/unistr/u32-startswith.c: New file.
72402         * lib/unistr/u-startswith.h: New file.
72403
72404         * modules/unistr/u8-stpcpy: New file.
72405         * modules/unistr/u16-stpcpy: New file.
72406         * modules/unistr/u32-stpcpy: New file.
72407         * lib/unistr/u8-stpcpy.c: New file.
72408         * lib/unistr/u16-stpcpy.c: New file.
72409         * lib/unistr/u32-stpcpy.c: New file.
72410         * lib/unistr/u-stpcpy.h: New file.
72411
72412         * modules/unistr/u8-stpncpy: New file.
72413         * modules/unistr/u16-stpncpy: New file.
72414         * modules/unistr/u32-stpncpy: New file.
72415         * lib/unistr/u8-stpncpy.c: New file.
72416         * lib/unistr/u16-stpncpy.c: New file.
72417         * lib/unistr/u32-stpncpy.c: New file.
72418         * lib/unistr/u-stpncpy.h: New file.
72419
72420         * modules/unistr/u8-strcat: New file.
72421         * modules/unistr/u16-strcat: New file.
72422         * modules/unistr/u32-strcat: New file.
72423         * lib/unistr/u8-strcat.c: New file.
72424         * lib/unistr/u16-strcat.c: New file.
72425         * lib/unistr/u32-strcat.c: New file.
72426         * lib/unistr/u-strcat.h: New file.
72427
72428         * modules/unistr/u8-strchr: New file.
72429         * modules/unistr/u16-strchr: New file.
72430         * modules/unistr/u32-strchr: New file.
72431         * lib/unistr/u8-strchr.c: New file.
72432         * lib/unistr/u16-strchr.c: New file.
72433         * lib/unistr/u32-strchr.c: New file.
72434
72435         * modules/unistr/u8-strcmp: New file.
72436         * modules/unistr/u16-strcmp: New file.
72437         * modules/unistr/u32-strcmp: New file.
72438         * lib/unistr/u8-strcmp.c: New file.
72439         * lib/unistr/u16-strcmp.c: New file.
72440         * lib/unistr/u32-strcmp.c: New file.
72441
72442         * modules/unistr/u8-strcpy: New file.
72443         * modules/unistr/u16-strcpy: New file.
72444         * modules/unistr/u32-strcpy: New file.
72445         * lib/unistr/u8-strcpy.c: New file.
72446         * lib/unistr/u16-strcpy.c: New file.
72447         * lib/unistr/u32-strcpy.c: New file.
72448         * lib/unistr/u-strcpy.h: New file.
72449
72450         * modules/unistr/u8-strcspn: New file.
72451         * modules/unistr/u16-strcspn: New file.
72452         * modules/unistr/u32-strcspn: New file.
72453         * lib/unistr/u8-strcspn.c: New file.
72454         * lib/unistr/u16-strcspn.c: New file.
72455         * lib/unistr/u32-strcspn.c: New file.
72456         * lib/unistr/u-strcspn.h: New file.
72457
72458         * modules/unistr/u8-strdup: New file.
72459         * modules/unistr/u16-strdup: New file.
72460         * modules/unistr/u32-strdup: New file.
72461         * lib/unistr/u8-strdup.c: New file.
72462         * lib/unistr/u16-strdup.c: New file.
72463         * lib/unistr/u32-strdup.c: New file.
72464         * lib/unistr/u-strdup.h: New file.
72465
72466         * modules/unistr/u8-strlen: New file.
72467         * modules/unistr/u16-strlen: New file.
72468         * modules/unistr/u32-strlen: New file.
72469         * lib/unistr/u8-strlen.c: New file.
72470         * lib/unistr/u16-strlen.c: New file.
72471         * lib/unistr/u32-strlen.c: New file.
72472         * lib/unistr/u-strlen.h: New file.
72473
72474         * modules/unistr/u8-strmblen: New file.
72475         * modules/unistr/u16-strmblen: New file.
72476         * modules/unistr/u32-strmblen: New file.
72477         * lib/unistr/u8-strmblen.c: New file.
72478         * lib/unistr/u16-strmblen.c: New file.
72479         * lib/unistr/u32-strmblen.c: New file.
72480
72481         * modules/unistr/u8-strmbtouc: New file.
72482         * modules/unistr/u16-strmbtouc: New file.
72483         * modules/unistr/u32-strmbtouc: New file.
72484         * lib/unistr/u8-strmbtouc.c: New file.
72485         * lib/unistr/u16-strmbtouc.c: New file.
72486         * lib/unistr/u32-strmbtouc.c: New file.
72487
72488         * modules/unistr/u8-strncat: New file.
72489         * modules/unistr/u16-strncat: New file.
72490         * modules/unistr/u32-strncat: New file.
72491         * lib/unistr/u8-strncat.c: New file.
72492         * lib/unistr/u16-strncat.c: New file.
72493         * lib/unistr/u32-strncat.c: New file.
72494         * lib/unistr/u-strncat.h: New file.
72495
72496         * modules/unistr/u8-strncmp: New file.
72497         * modules/unistr/u16-strncmp: New file.
72498         * modules/unistr/u32-strncmp: New file.
72499         * lib/unistr/u8-strncmp.c: New file.
72500         * lib/unistr/u16-strncmp.c: New file.
72501         * lib/unistr/u32-strncmp.c: New file.
72502
72503         * modules/unistr/u8-strncpy: New file.
72504         * modules/unistr/u16-strncpy: New file.
72505         * modules/unistr/u32-strncpy: New file.
72506         * lib/unistr/u8-strncpy.c: New file.
72507         * lib/unistr/u16-strncpy.c: New file.
72508         * lib/unistr/u32-strncpy.c: New file.
72509         * lib/unistr/u-strncpy.h: New file.
72510
72511         * modules/unistr/u8-strnlen: New file.
72512         * modules/unistr/u16-strnlen: New file.
72513         * modules/unistr/u32-strnlen: New file.
72514         * lib/unistr/u8-strnlen.c: New file.
72515         * lib/unistr/u16-strnlen.c: New file.
72516         * lib/unistr/u32-strnlen.c: New file.
72517         * lib/unistr/u-strnlen.h: New file.
72518
72519         * modules/unistr/u8-strpbrk: New file.
72520         * modules/unistr/u16-strpbrk: New file.
72521         * modules/unistr/u32-strpbrk: New file.
72522         * lib/unistr/u8-strpbrk.c: New file.
72523         * lib/unistr/u16-strpbrk.c: New file.
72524         * lib/unistr/u32-strpbrk.c: New file.
72525         * lib/unistr/u-strpbrk.h: New file.
72526
72527         * modules/unistr/u8-strrchr: New file.
72528         * modules/unistr/u16-strrchr: New file.
72529         * modules/unistr/u32-strrchr: New file.
72530         * lib/unistr/u8-strrchr.c: New file.
72531         * lib/unistr/u16-strrchr.c: New file.
72532         * lib/unistr/u32-strrchr.c: New file.
72533
72534         * modules/unistr/u8-strspn: New file.
72535         * modules/unistr/u16-strspn: New file.
72536         * modules/unistr/u32-strspn: New file.
72537         * lib/unistr/u8-strspn.c: New file.
72538         * lib/unistr/u16-strspn.c: New file.
72539         * lib/unistr/u32-strspn.c: New file.
72540         * lib/unistr/u-strspn.h: New file.
72541
72542         * modules/unistr/u8-strstr: New file.
72543         * modules/unistr/u16-strstr: New file.
72544         * modules/unistr/u32-strstr: New file.
72545         * lib/unistr/u8-strstr.c: New file.
72546         * lib/unistr/u16-strstr.c: New file.
72547         * lib/unistr/u32-strstr.c: New file.
72548         * lib/unistr/u-strstr.h: New file.
72549
72550         * modules/unistr/u8-strtok: New file.
72551         * modules/unistr/u16-strtok: New file.
72552         * modules/unistr/u32-strtok: New file.
72553         * lib/unistr/u8-strtok.c: New file.
72554         * lib/unistr/u16-strtok.c: New file.
72555         * lib/unistr/u32-strtok.c: New file.
72556         * lib/unistr/u-strtok.h: New file.
72557
72558         * modules/unistr/u8-uctomb: New file.
72559         * modules/unistr/u16-uctomb: New file.
72560         * modules/unistr/u32-uctomb: New file.
72561         * lib/unistr/u8-uctomb.c: New file.
72562         * lib/unistr/u16-uctomb.c: New file.
72563         * lib/unistr/u32-uctomb.c: New file.
72564
72565         * MODULES.html.sh (Unicode string functions): Add the new modules.
72566
72567 2007-01-08  Bruno Haible  <bruno@clisp.org>
72568
72569         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
72570         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
72571         subdirectories.
72572
72573 2007-01-08  Karl Berry  <karl@gnu.org>
72574
72575         * doc/error.texi: mention that main() fns must set program_name
72576         when progname is used.
72577
72578 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
72579
72580         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
72581         WCTYPE_H is empty, for the benefit of builds from non-distclean
72582         directories.  Problem reported by Eric Blake in
72583         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
72584
72585 2007-01-08  Bruno Haible  <bruno@clisp.org>
72586
72587         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
72588         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
72589         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
72590         PROVIDE_CANONICALIZE_FILENAME_MODE.
72591         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
72592
72593 2007-01-08  Bruno Haible  <bruno@clisp.org>
72594
72595         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
72596         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
72597         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
72598         * lib/fts.c: Likewise.
72599         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
72600
72601 2006-12-25  Bruno Haible  <bruno@clisp.org>
72602
72603         * modules/utf8-ucs4-safe: New file.
72604         * lib/utf8-ucs4-safe.h: New file.
72605         * lib/unistr/utf8-ucs4-safe.c: New file.
72606
72607         * modules/utf16-ucs4-safe: New file.
72608         * lib/utf16-ucs4-safe.h: New file.
72609         * lib/unistr/utf16-ucs4-safe.c: New file.
72610
72611         * MODULES.html.sh (Unicode string functions): Add the new modules.
72612
72613 2007-01-08  Bruno Haible  <bruno@clisp.org>
72614
72615         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
72616         (Depends-on): Add unitypes.
72617         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72618         (u8_mbtouc_aux): Move out to separate file.
72619         (u8_mbtouc): Use ucs4_t, uint8_t types.
72620         * lib/unistr/utf8-ucs4.c: New file.
72621
72622         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
72623         (Depends-on): Add unitypes.
72624         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72625         (u16_mbtouc_aux): Move out to separate file.
72626         (u16_mbtouc): Use ucs4_t, uint16_t types.
72627         * lib/unistr/utf16-ucs4.c: New file.
72628
72629         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
72630         (Depends-on): Add unitypes.
72631         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
72632         (u8_uctomb_aux): Move out to separate file.
72633         (u8_uctomb): Use ucs4_t, uint8_t types.
72634         * lib/unistr/ucs4-utf8.c: New file.
72635
72636         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
72637         (Depends-on): Add unitypes.
72638         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
72639         (u16_uctomb_aux): Move out to separate file.
72640         (u16_uctomb): Use ucs4_t, uint16_t types.
72641         * lib/unistr/ucs4-utf16.c: New file.
72642
72643 2006-12-25  Bruno Haible  <bruno@clisp.org>
72644
72645         * modules/unitypes: New file.
72646         * lib/unitypes.h: New file.
72647         * MODULES.html.sh (func_all_modules): New section "Unicode string
72648         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
72649         this section. Add unitypes.
72650
72651 2007-01-08  Bruno Haible  <bruno@clisp.org>
72652
72653         Avoid variable names that conflict with those from libtool.
72654         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
72655         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
72656         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
72657         library_names_spec to acl_library_names_spec, hardcode_* to
72658         acl_hardcode_*.
72659         Reported by Ralf Wildenhues.
72660
72661 2007-01-08  Bruno Haible  <bruno@clisp.org>
72662
72663         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
72664         definition.
72665         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
72666         definition.
72667         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
72668         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
72669         definition.
72670         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
72671         definition.
72672         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
72673         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
72674         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
72675         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
72676         definition.
72677         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
72678         definition.
72679         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
72680         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
72681         GC_USE_<algorithm>.
72682         * lib/gc-libgcrypt.c: Likewise.
72683         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
72684         * modules/gc-arctwo (configure.ac): Likewise.
72685         * modules/gc-des (configure.ac): Likewise.
72686         * modules/gc-hmac-md5 (configure.ac): Likewise.
72687         * modules/gc-hmac-sha1 (configure.ac): Likewise.
72688         * modules/gc-md2 (configure.ac): Likewise.
72689         * modules/gc-md4 (configure.ac): Likewise.
72690         * modules/gc-md5 (configure.ac): Likewise.
72691         * modules/gc-random (configure.ac): Likewise.
72692         * modules/gc-rijndael (configure.ac): Likewise.
72693         * modules/gc-sha1 (configure.ac): Likewise.
72694
72695 2007-01-08  Bruno Haible  <bruno@clisp.org>
72696
72697         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
72698         macro definition.
72699         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
72700         definition.
72701         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
72702         definition.
72703         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
72704         * modules/fcntl-safer (configure.ac): Likewise.
72705         * modules/fopen-safer (configure.ac): Likewise.
72706         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
72707         GNULIB_FWRITEERROR macro definition.
72708
72709 2007-01-08  Bruno Haible  <bruno@clisp.org>
72710
72711         * m4/gnulib-common.m4: New file.
72712         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
72713         (func_get_filelist): Add m4/gnulib-common.m4.
72714
72715 2007-01-08  Bruno Haible  <bruno@clisp.org>
72716
72717         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
72718         command.
72719
72720 2007-01-08  Jim Meyering  <jim@meyering.net>
72721
72722         Use a more robust test for a "can't happen" condition.
72723         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
72724         narrowed the st_size value.  Presuming the "can't happen" condition
72725         is true, that narrowing could conceivably convert an invalid st_size
72726         value into a valid one.  Instead, use a change based on Matthew
72727         Woehlke's original patch.
72728
72729         Slight readability improvement: use an assert-like macro
72730         in place of literal "abort ()" uses.
72731         * lib/fts.c (fts_assert): Define.
72732         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
72733         Use this macro instead of a bare 'abort'.
72734
72735 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
72736
72737         Don't worry about using IRIX 5.3's wctype.h broken definitions;
72738         simply work around them.
72739         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
72740         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
72741         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
72742         declaring.
72743         Don't bother to define as macros, since the standard doesn't require it.
72744         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
72745         longer worry about IRIX 5.3.
72746         (HAVE_WCTYPE_CTMP_BUG): Remove.
72747
72748 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72749
72750         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
72751         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
72752         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
72753         Problems reported by Georg Schwarz for IRIX 5.3.
72754
72755         * gnulib-tool (autoconf_minversion): Take the maximum version number
72756         found, not the minimum.  Problem reported by James Youngman.
72757
72758 2007-01-03  Karl Berry  <karl@gnu.org>
72759
72760         * doc/error.texi: new file, explaining interaction with progname.
72761         * doc/gnulib.texi: include it.  Update copyright.
72762
72763 2007-01-03  Simon Josefsson  <simon@josefsson.org>
72764
72765         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
72766         AC_CANONICAL_HOST, to improve autobuild outputs.
72767
72768 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
72769             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72770
72771         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
72772         sockets, server sockets, and other file descriptors.  Count errors
72773         to compute the return value.  Reorder the code a bit to be easier
72774         to follow.  Don't set event bits that were not requested (except
72775         POLLERR and POLLHUP).
72776
72777 2007-01-01  Bruno Haible  <bruno@clisp.org>
72778
72779         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
72780
72781 2007-01-03  Jim Meyering  <jim@meyering.net>
72782
72783         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
72784
72785 2007-01-02  Bruno Haible  <bruno@clisp.org>
72786
72787         * modules/settime (Include): Require timespec.h.
72788         * modules/nanosleep (Include): Likewise.
72789
72790 2007-01-01  Bruno Haible  <bruno@clisp.org>
72791
72792         * gnulib-tool (func_emit_copyright_notice): Bump year.
72793         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
72794
72795 2007-01-01  Bruno Haible  <bruno@clisp.org>
72796
72797         Improve support for OpenBSD.
72798         * build-aux/config.rpath (libname_spec): Export.
72799         (library_names_spec): New variable. Export.
72800         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
72801         library_names_spec from the config.rpath output. Locate shared library
72802         through the name pattern in library_names_spec.
72803
72804 2007-01-01  Eric Blake  <ebb9@byu.net>
72805
72806         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
72807
72808 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
72809
72810         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
72811         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
72812         assume the C locale, and avoid an "eval" that could cause trouble.
72813         Problem with SORT reported by Bob Proulx.
72814
72815         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
72816         Define.  Trivial patch from Henning Nielsen Lund, originally
72817         sent to bug-grep@gnu.org today.
72818
72819 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
72820
72821         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
72822         struct stat.  Problem reported by Henning Nielsen Lund.
72823         * lib/acl.c: Include acl.h first, to check interface.  Don't
72824         bother to include sys/types.h and sys/stat.h again.
72825
72826 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72827
72828         Import the following change from libc; problem reported by
72829         Sven Verdoolaege.
72830
72831         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
72832
72833         [BZ #1373]
72834         * lib/argp.h: Remove __NTH for __argp_usage inline function.
72835
72836 2006-12-28  Jim Meyering  <jim@meyering.net>
72837
72838         * build-aux/announce-gen: Do not assume that the package
72839         builds any of tar.gz, tar.bz2, and .xdelta files.
72840         Suggestion from Simon Josefsson.
72841
72842 2006-12-28  Simon Josefsson  <simon@josefsson.org>
72843
72844         * modules/announce-gen: New file.
72845
72846 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
72847
72848         * lib/mbchar.h: Just include <wctype.h>; the wctype module
72849         handles its gotchas now.
72850         * lib/mbswidth.c: Likewise.
72851         * lib/wcwidth.h: Likewise.
72852         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
72853         and iswcntrl; the wctype module does this stuff now.
72854         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72855         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72856         * modules/mbchar (Depends-on): Add wctype.
72857         * modules/mbswidth (Depends-on): Likewise.
72858         * modules/wcwidth (Depends-on): Likewise.
72859
72860 2006-12-27  Eric Blake  <ebb9@byu.net>
72861
72862         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
72863         module uses more than what <wctype.h> is required to provide.
72864
72865 2006-12-26  Eric Blake  <ebb9@byu.net>
72866
72867         * gnulib-tool (sed_extract_prog): Avoid space-tab.
72868
72869 2006-12-26  Eric Blake  <ebb9@byu.net>
72870
72871         * modules/absolute-header: New module.
72872         * modules/fcntl (Depends-on): Depend on it.
72873         * modules/inttypes (Depends-on): Likewise.
72874         * modules/stdint (Depends-on): Likewise.
72875         * modules/sys_stat (Depends-on): Likewise.
72876         * modules/wctype (Depends-on): Likewise.
72877         * MODULES.html.sh (Support for building libraries and
72878         executables): Document it.
72879
72880 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
72881
72882         * gnulib-tool (SED): Remove, undoing previous change.
72883         The problem was that it broke coreutils on Solaris, because
72884         "sed --posix" leaked into a makefile.
72885         (sed): New alias, if 'alias' and GNU sed.
72886
72887 2006-12-24  Jim Meyering  <jim@meyering.net>
72888
72889         Work around an fchownat bug in glibc-2.4:
72890         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
72891         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
72892         in spite of the -P option.
72893         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
72894         New macros.
72895         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
72896         * modules/openat (Files): Add lib/fchownat.c.
72897         * lib/openat.c (fchownat): Don't define here.  Move to...
72898         * lib/fchownat.c: ...this new file.
72899
72900 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72901
72902         Fix bug reported by Bruno Haible in
72903         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
72904         where quotearg.c didn't compile on Mac OS X 10.2 because it
72905         lacks <wchar.h> and wint_t.
72906         * lib/wctype_.h (__wctype_wint_t): New type.
72907         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
72908         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
72909         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
72910         Arg is now of type __wctype_wint_t, not wint_t.
72911         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
72912         substitute HAVE_WINT_T.
72913         * modules/wctype (Files): Add m4/wint_t.m4.
72914         (wctype.h): Substitute HAVE_WINT_T.
72915
72916 2006-12-23  Bruno Haible  <bruno@clisp.org>
72917
72918         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
72919
72920 2006-12-23  Bruno Haible  <bruno@clisp.org>
72921
72922         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
72923         S_ISLNK.
72924         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
72925         mingw.
72926
72927 2006-12-22  Bruno Haible  <bruno@clisp.org>
72928
72929         * lib/copy-file.c: Include acl.h.
72930         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
72931         Close the file descriptors only after being done with copy_acl.
72932         * modules/copy-file (Depends-on): Add acl.
72933
72934 2006-12-22  Bruno Haible  <bruno@clisp.org>
72935
72936         * gnulib-tool (SED): New variable.
72937         Use $SED instead of sed everywhere.
72938
72939 2006-12-22  Bruno Haible  <bruno@clisp.org>
72940
72941         * modules/no-c++: New file.
72942         * m4/no-c++.m4: New file.
72943         * MODULES.html.sh (Support for building libraries and executables):
72944         Add no-c++.
72945
72946 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
72947
72948         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72949         Include <limits.h>, and use its INT_MAX to rewrite the
72950         j loop so that it does not overflow 'int'.  Problem reported by
72951         Ralf Wildenhues in
72952         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
72953         Play it safe by shifting left by 1 rather than multiplying by 2,
72954         as GCC is less likely to optimize this away when the value
72955         is signed (when it assumes overflow leads to undefined behavior).
72956         Also, don't assume time_t uses two's complement.
72957
72958 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
72959
72960         * MODULES.html.sh: New module wctype.
72961         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
72962         * lib/fnmatch.c: Don't bother to include <wchar.h> before
72963         <wctype.h>, since the new wctype module should fix this.
72964         * lib/quotearg.c: Include <wctype.h> unconditionally, since
72965         the wctype module should arrange for it.
72966         * lib/regex_internal.h: Likewise.
72967         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
72968         since the wctype module should handle this now.
72969         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
72970         * modules/fnmatch (Depends-on): Add wctype.
72971         * modules/quotearg (Depends-on): Likewise.
72972         * modules/regex (Depends-on): Likewise.
72973
72974 2006-12-19  Bruno Haible  <bruno@clisp.org>
72975
72976         * lib/strdup.h [C++]: Wrap definitions in extern "C".
72977         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
72978
72979 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72980
72981         * modules/savewd (Depends-on): Fix dependency on fcntl.
72982
72983 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72984
72985         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
72986         conforms to C99, rather than relying on the user's environment
72987         setting of STDINT_H.
72988
72989 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72990         and Eric Blake  <ebb9@byu.net>
72991
72992         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
72993         This is more consistent with the other defines here.
72994         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
72995         Port to z/OS.  Problem reported by Paul Gilmartin.
72996         Change local vars to use gl_ prefix rather than ac_.
72997         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
72998         with other defines.
72999         * modules/double-slash-root: New module.
73000         * modules/dirname (Files): Remove m4/double-slash-root.m4.
73001         (Depends-on): Add double-slash-root.
73002         * MODULES.html.sh (File system functions): Mention new module.
73003
73004 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
73005
73006         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
73007         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
73008         This is for the benefit of gzip, which doesn't do i18n.
73009
73010 2006-12-12  Jim Meyering  <jim@meyering.net>
73011
73012         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
73013         Reported by Andreas Schwab <schwab@suse.de>.
73014
73015 2006-12-12  Bruno Haible  <bruno@clisp.org>
73016
73017         Merge these changes.
73018         2006-09-05  Bruno Haible  <bruno@clisp.org>
73019         * lib/iconvme.c (iconv_string): No need to save and restore errno when
73020         iconv_alloc succeeded.
73021         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
73022         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
73023         test for " && dest " at the end - dest is always != NULL there. Call
73024         iconv with 4xNULL arguments initially, to reset the state. Call iconv
73025         with 2xNULL arguments, also to flush the state storage. Handle the
73026         IRIX iconv behaviour. Realloc the final result, to throw away unused
73027         memory.
73028
73029 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
73030
73031         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
73032         and fchmodat unconditionally, since glibc 2.4 has them.
73033         Problem reported by Arkadiusz Miskiewicz.
73034
73035 2006-12-10  Bruno Haible  <bruno@clisp.org>
73036
73037         * gnulib-tool (func_import): Show the include files only for those
73038         modules that are copied and specified.
73039         Reported by Karl Berry.
73040
73041 2006-12-08  Jim Meyering  <jim@meyering.net>
73042
73043         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
73044         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
73045
73046         * build-aux/announce-gen: Add two new options, both optional:
73047         --bootstrap-tools=TOOL_LIST
73048               a comma-separated list of tools, e.g.,
73049               autoconf,automake,bison,gnulib
73050         --gnulib-snapshot-date=DATE
73051               if gnulib is in the bootstrap tool list,
73052               then report this as the snapshot date.
73053               If not specified, use the current date/time.
73054               If you specify a date here, be sure it's UTC.
73055
73056 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73057
73058         * tests/test-argp-2.sh: Fix test to match actual output.
73059         (func_compare): Fix sed script to be portable.
73060
73061 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
73062
73063         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
73064         workaround for this case.  It is not autoconfigured now; offhand
73065         it's hard to see how to autoconfigure it.
73066
73067 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
73068
73069         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
73070         a directory that is about to be chowned.  Such a directory's
73071         initial file permissions should permit the owner only and this
73072         should not be changed until after the chown, since the group and
73073         other bits would be incorrect if they granted permission before
73074         the chown.
73075
73076         Fix porting problem for iswctype reported by Georg Schwarz in:
73077         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
73078         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
73079         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
73080         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
73081         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73082
73083 2006-12-03  Jim Meyering  <jim@meyering.net>
73084
73085         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
73086         p->fts_statp may not yet be defined.
73087         (fts_read): Instead, set it in the caller, once p->fts_statp is
73088         sure to be defined, and corresponds to a top-level directory.
73089         This bug made du -x fail.  Here's the coreutils test case:
73090         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
73091         Reported by Mike Frysinger.
73092
73093 2006-12-01  Jim Meyering  <jim@meyering.net>
73094
73095         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
73096         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
73097         Reported by Simon Josefsson.
73098
73099 2006-11-30  Jim Meyering  <jim@meyering.net>
73100
73101         * m4/warning.m4: Use the all-permissive copyright notice
73102         recommended by RMS (rather than LGPL).
73103         * m4/vararrays.m4: Likewise.
73104         * m4/flexmember.m4: Likewise.
73105
73106 2006-11-29  Bruno Haible  <bruno@clisp.org>
73107
73108         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73109         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
73110         using +=.
73111         Reported by Simon Josefsson <simon@josefsson.org>.
73112
73113 2006-11-28  James Youngman <jay@gnu.org>
73114
73115         * README: Advise users that they might find the bug-gnulib@gnu.org
73116         and autotools-announce@gnu.org mailing lists useful.
73117
73118 2006-11-28  Bruno Haible  <bruno@clisp.org>
73119
73120         * m4/ptrdiff_max.m4: Remove file.
73121
73122 2006-11-21  Bruno Haible  <bruno@clisp.org>
73123
73124         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
73125         _AC_COMPUTE_INT.
73126         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73127         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
73128         _AC_COMPUTE_INT.
73129         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73130         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
73131         _AC_COMPUTE_INT.
73132         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73133
73134 2006-11-28  Jim Meyering  <jim@meyering.net>
73135
73136         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
73137         warning from "gcc -Wshadow" about shadowing the builtin.
73138
73139 2006-11-27  Bruno Haible  <bruno@clisp.org>
73140
73141         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
73142         _AC_COMPUTE_INT.
73143         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73144
73145 2006-11-27  Bruno Haible  <bruno@clisp.org>
73146             Paul Eggert  <eggert@cs.ucla.edu>
73147
73148         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
73149
73150 2006-11-26  Bruno Haible  <bruno@clisp.org>
73151
73152         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73153         noinst_LTLIBRARIES.
73154
73155 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73156             Bruno Haible  <bruno@clisp.org>
73157
73158         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
73159         if compiling with "gcc -ansi".
73160
73161 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73162
73163         Fix some incompatibilities with gcc -ansi -pedantic.
73164         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
73165         if compiling pedantically with GCC, unless it's C99 or later.
73166         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
73167         it mishandles gcc -ansi -pedantic as well.
73168         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
73169         if gcc -pedantic.
73170         * lib/regexec.c (check_node_accept_bytes): Don't use auto
73171         initializers for struct if -pedantic, unless it's C99 or later.
73172
73173 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
73174
73175         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
73176         Don't close an fd more than once. Identical atimes indicate
73177         success, not failure.
73178
73179 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
73180
73181         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
73182
73183 2006-11-23  Jim Meyering  <jim@meyering.net>
73184
73185         * build-aux/announce-gen: New file.  From coreutils.
73186
73187 2006-11-22  Jim Meyering  <jim@meyering.net>
73188
73189         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
73190         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
73191         (fts_read): Use a temporary to narrow the overused st_size member
73192         before using it in a switch statement.  Reported by Matthew Woehlke.
73193
73194         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
73195         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
73196
73197 2006-11-20  Bruno Haible  <bruno@clisp.org>
73198
73199         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
73200         changequote instead of pairs of brackets.
73201         Reported by Andreas Schwab <schwab@suse.de>.
73202
73203 2006-11-21  Jim Meyering  <jim@meyering.net>
73204
73205         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
73206         so as to remain compatible with older compilers.
73207         Patch from Michael Deutschmann.
73208
73209 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73210
73211         * MODULES.html.sh (File system functions): Add openat.
73212
73213         * lib/openat.h (rpl_fstatat): New macro, if
73214         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
73215         (fstatat): Define to rpl_fstatat under the same conditions,
73216         unless COMPILING_FSTATAT.
73217         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
73218         seems to have the bug.
73219         * lib/fstatat.c: New file.
73220         * modules/openat (Files): Add it.
73221
73222 2006-11-20  Bruno Haible  <bruno@clisp.org>
73223
73224         * Makefile: New file.
73225
73226 2006-11-20  Jim Meyering  <jim@meyering.net>
73227
73228         The beginnings of syntax-related checks for gnulib.
73229         * lib/Makefile: New file.
73230         * lib/t-idcache: New script.  Ensure that the two halves of
73231         idcache.c stay in sync.
73232
73233         * lib/idcache.c: Adjust comments in user- and group- portions to
73234         be more accurate, and to be consistent with one another.
73235
73236 2006-11-20  Jim Meyering  <jim@meyering.net>
73237
73238         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
73239         continue using the flexible array member (thus, this module performs
73240         half as many malloc calls), with the addition that...
73241         (getgroup, getuser): Consistently record a non-match via an empty
73242         "name" string, and map an empty string match to a NULL return value.
73243         * modules/idcache (Depends-on): Re-add flexmember.
73244
73245         * lib/idcache.c (getuser): Remove all uses of the register keyword.
73246         (getuidbyname, getgroup, getgidbyname): Likewise.
73247
73248         Use cleaner syntax: NULL rather than 0.
73249         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
73250
73251 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73252
73253         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
73254         It mishandled the case where the group was missing.
73255         Problem reported by Greg Schafer.
73256         * modules/idcache: Likewise.
73257
73258 2006-11-18  Jim Meyering  <jim@meyering.net>
73259
73260         * check-module (%exempt_header): Add exception for some
73261         conditionally-included headers.
73262
73263         * modules/i-ring (Depends-on): Add verify.
73264         (License): Change to LGPL.
73265
73266 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73267
73268         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
73269         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
73270         and inttostr.h.  Use snprintf rather than uinttostr, so that
73271         LGPLed code doesn't depend on GPLed.
73272
73273 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73274
73275         * modules/inline (License): Change from GPL to LGPL.
73276
73277 2006-11-17  Jim Meyering  <jim@meyering.net>
73278
73279         * modules/d-type (License): Switch to LGPL.
73280
73281 2006-11-15  Bruno Haible  <bruno@clisp.org>
73282
73283         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
73284
73285 2006-11-15  Eric Blake  <ebb9@byu.net>
73286
73287         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
73288         the module dependency.
73289
73290 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73291             Bruno Haible  <bruno@clisp.org>
73292
73293         * gnulib-tool (func_create_testdir): Add license consistency check.
73294
73295 2006-11-15  Eric Blake  <ebb9@byu.net>
73296
73297         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
73298         random "(cached)" in configure output.
73299
73300 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73301
73302         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
73303         test for conforming inttypes.h is both announced and cached.
73304
73305         * MODULES.html.sh (seen_modules, seen_files): New variables.
73306         (func_module): Rewrite to use a few less gnulib-tool and sed
73307         invocations.  Avoid a couple of quadratic algorithms for ...
73308         (missed_modules, missed_files): ... these, with ...
73309         (func_append, func_tmpdir): ... these new functions, from
73310         gnulib-tool.  Analogously, install traps for cleanup.
73311
73312         * tests/test-gc.c (main): Remove unused variables.
73313         * tests/test-read-file.c: Include stdlib.h, for 'free'.
73314
73315 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
73316
73317         * modules/inttostr (License): Change to LGPL.
73318
73319 2006-11-14  Eric Blake  <ebb9@byu.net>
73320
73321         * modules/tempname (License): Change to LGPL.
73322
73323 2006-11-14  Eric Blake  <ebb9@byu.net>
73324
73325         * doc/functions.texi (Function Portability): *printf functions on
73326         Cygwin now understand all POSIX size specifiers.
73327
73328 2006-11-14  Bruno Haible  <bruno@clisp.org>
73329
73330         * modules/c-ctype (License): Change to LGPL.
73331
73332 2006-11-12  Bruno Haible  <bruno@clisp.org>
73333
73334         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
73335         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
73336         for GNOME libraries, for which the include files are installed in
73337         subdirectories of $prefix/include.
73338
73339 2006-11-12  Bruno Haible  <bruno@clisp.org>
73340
73341         * m4/lib-link.m4: Require at least autoconf-2.54.
73342         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
73343         name to underscores for the --with option.
73344
73345 2006-11-13  Bruno Haible  <bruno@clisp.org>
73346
73347         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
73348         the tests directory.
73349         Reported by Ralf Wildenhues.
73350
73351 2006-11-13  Bruno Haible  <bruno@clisp.org>
73352
73353         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
73354         (func_emit_initmacro_end): Undo the override here.
73355         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
73356         Works around the famous automake error in coreutils.
73357
73358 2006-11-13  Eric Blake  <ebb9@byu.net>
73359
73360         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
73361         element, not its node.
73362
73363 2006-11-12  Bruno Haible  <bruno@clisp.org>
73364
73365         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
73366         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
73367
73368 2006-11-12  Bruno Haible  <bruno@clisp.org>
73369
73370         * gnulib-tool: New option --local-symlink.
73371         (func_usage): Document it.
73372         (lsymbolic): New variable.
73373         (func_import, func_create_testdir): If --symlink was not specified,
73374         test whether --local-symlink was specified and the file comes from
73375         the local_gnulib_dir.
73376
73377 2006-11-12  Bruno Haible  <bruno@clisp.org>
73378
73379         * gnulib-tool (func_ln): New function.
73380         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
73381
73382 2006-11-12  Bruno Haible  <bruno@clisp.org>
73383
73384         Finish support for source files in subdirectories.
73385         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
73386         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
73387         AUTOMAKE_OPTIONS.
73388         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
73389
73390 2006-11-12  Bruno Haible  <bruno@clisp.org>
73391
73392         * gnulib-tool (func_get_automake_snippet): Synthesize also an
73393         EXTRA_lib_SOURCES augmentation.
73394         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
73395
73396 2006-11-12  Jim Meyering  <jim@meyering.net>
73397
73398         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
73399         file descriptors.  This also averts a failure on systems with
73400         native openat support when a traversed directory lacks "x" access.
73401         * lib/fts_.h: Include "i-ring.h"
73402         (struct FTS) [fts_fd_ring]: New member.
73403         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
73404         (FCHDIR): Add parentheses.
73405         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
73406         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
73407         When descending, rather than simply closing the previous
73408         fts_cwd_fd value, push that file descriptor onto the ring.
73409         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
73410         (fts_open): Initialize the new fd_ring member.
73411         (fts_close): Clear the ring.
73412         (fts_safe_changedir): When possible, use our new fd_ring to skip
73413         the diropen and fstat and dev/ino comparison that would normally
73414         accompany a virtual `chdir ("..")'.
73415
73416         * modules/fts (Depends-on): Add i-ring.
73417         * modules/i-ring: New module.
73418         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
73419         * m4/i-ring.m4: New file.
73420
73421 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73422
73423         * gnulib-tool (func_create_testdir): Fix replacement of
73424         `build-aux' in configure.ac.  Run autotools in gltests
73425         subdirectory.
73426         (func_create_testdir, func_create_megatestdir, test): There is
73427         no need for '--force' in most autotool invocations in a new
73428         tree.  Actually fail the whole test if any of the tools, or the
73429         configure or make stages fail.
73430
73431         Sync from Automake.
73432         * build-aux/gnupload: Revert last change.  Add pointer to upload
73433         instructions of the GNU Maintenance Instructions.
73434         Suggestion by Karl Berry.
73435
73436 2006-11-10  Jim Meyering  <jim@meyering.net>
73437
73438         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
73439
73440 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73441
73442         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
73443         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
73444         (bind_textdomain_codeset) [! ENABLE_NLS]:
73445         Evaluate all the arguments.  That way, callers get compatible behavior
73446         if the arguments have side effects.  Also, it avoids some GCC
73447         diagnostics in some cases; Joel E. Denny reported problems when Bison
73448         was configured with --enable-gcc-warnigs.
73449
73450 2006-11-10  Jim Meyering  <jim@meyering.net>
73451
73452         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
73453         relevant options in CFLAGS (like -O, -fno-inline) are taken into
73454         account.
73455
73456 2006-11-10  Jim Meyering  <jim@meyering.net>
73457
73458         * modules/inline: New file/module.
73459         * modules/xalloc (Files): Remove m4/inline.m4.
73460         (Depends-on): Add inline, instead.
73461         * modules/oset: Likewise.
73462         * modules/list: Likewise.
73463
73464 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73465
73466         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
73467         Problem reported by Matthew Woehlke.
73468
73469 2006-11-09  Bruno Haible  <bruno@clisp.org>
73470
73471         * lib/tempname.c (gen_tempname): Remove variant that invokes
73472         __gen_tempname.
73473         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
73474         __gen_tempname.
73475
73476 2006-11-08  Bruno Haible  <bruno@clisp.org>
73477
73478         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
73479         to 'yes' instead of 'cross-compiling'.
73480
73481 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
73482
73483         * lib/quotearg.h (quotearg_free): New decl.
73484         * lib/quotearg.c (quotearg_free): New function.
73485         (slot0, nslots, slotvec0, slotvec):
73486         Now file-scope so that quotearg_free can get at them.
73487
73488 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73489
73490         Sync from Automake.
73491         * build-aux/gnupload: Add missing 'gnu' to example URL.
73492         Report by Karl Berry.
73493
73494 2006-11-08  Bruno Haible  <bruno@clisp.org>
73495
73496         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
73497         Suggested by Paul Eggert.
73498
73499 2006-11-08  Jim Meyering  <jim@meyering.net>
73500
73501         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
73502         It's already included if !_LIBC.
73503         (fts_safe_changedir): Add a comment.
73504
73505 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73506
73507         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
73508         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
73509         Matthew Woehlke.
73510
73511         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
73512         definitions up, to avoid colliding with change below.
73513         (static_inline) [HAVE_INLINE]: New macro.
73514         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
73515         Provide extern decls when !HAVE_INLINE.  Do not define unless
73516         static_inline is defined, either by us or by xmalloc.c.  Use
73517         static_inline rather than static inline.
73518         (XCALLOC): Optimize sizeof(T) = 1 case.
73519         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
73520
73521 2006-11-07  Bruno Haible  <bruno@clisp.org>
73522
73523         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
73524         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
73525         AC_C_INLINE.
73526         * modules/xalloc (Files): Add m4/inline.m4.
73527
73528 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73529
73530         * README: Fix typo.
73531         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
73532         (Miscellanous Notes): ...from this.
73533
73534 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73535
73536         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
73537         Mention that offsetof should be used instead of sizeof.
73538         From Bruno Haible.
73539
73540 2006-11-07  Bruno Haible  <bruno@clisp.org>
73541
73542         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
73543
73544 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73545
73546         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73547         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
73548         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73549         (gl_tree_add_before, gl_tree_add_after):
73550         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
73551         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
73552         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
73553         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
73554         (gl_linked_add_after, gl_linked_add_at): Likewise.
73555         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
73556         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73557         (gl_tree_add_before, gl_tree_add_after): Likewise.
73558         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
73559         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
73560         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
73561
73562 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73563
73564         * lib/gl_oset.h: Use C comment style, not C++ comment style.
73565
73566 2006-11-06  Bruno Haible  <bruno@clisp.org>
73567
73568         * m4/inline.m4: New file.
73569         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
73570         * modules/list (Files): Add m4/inline.m4.
73571         * modules/oset (Files): Likewise.
73572
73573 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73574
73575         * lib/idcache.c: Include <stddef.h>, for offsetof.
73576         (struct userid.name): Change from char * to a flexible array member.
73577         All uses changed.
73578         * modules/idcache (Depends-on): Add flexmember.
73579
73580         * MODULES.html.sh (Core language properties): New module flexmember.
73581         * modules/flexmember, m4/flexmember.m4: New files.
73582
73583         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
73584         inline functions that are identical with the old xnmalloc_inline,
73585         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
73586         that we can avoid some unnecessary integer multiplications and
73587         divisions in the common case where the element size is known at
73588         compile time.
73589         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
73590         needed.
73591         (xnboundedmalloc): Remove.
73592         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
73593         arguments, for consistency with rest of this header.
73594         (xcharalloc): Rewrite using XNMALLOC.
73595         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
73596         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
73597         versions have been moved to lib/xalloc.h and renamed to be the
73598         non-*_inline versions.
73599         (xmalloc, xrealloc): Implement without reference to the xnmalloc
73600         and xnrealloc functions, since those functions are now inline and
73601         now call us.
73602         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
73603         renaming described above.
73604         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
73605         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
73606         captures the dependency in AC_C_INLINE.
73607
73608         New module canonicalize-lgpl, proposed by Charles Wilson in
73609         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
73610         with a few small changes afterwards.
73611         * MODULES.html.sh (File system functions): New module
73612         canonicalize-lgpl.
73613         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
73614         and canonicalize_file_name.
73615         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
73616         * modules/canonicalize-lgpl: New files.
73617
73618 2006-11-05  Bruno Haible  <bruno@clisp.org>
73619
73620         * gnulib-tool (func_import, func_create_testdir): Create directories
73621         also for files in subdirectories of lib/.
73622
73623 2006-11-05  Bruno Haible  <bruno@clisp.org>
73624
73625         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
73626         ANSI C compliant.
73627
73628 2006-11-03  Bruno Haible  <bruno@clisp.org>
73629
73630         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73631         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
73632         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
73633         (xnboundedmalloc): New inline function.
73634         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
73635         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
73636         xmalloc.
73637         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
73638         xmalloc.
73639         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
73640         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
73641         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
73642         xmalloc.
73643         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73644         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
73645         xmalloc.
73646         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
73647         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73648         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
73649         xmalloc.
73650         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73651         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
73652         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73653         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
73654         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
73655         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
73656         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
73657
73658 2006-11-03  Bruno Haible  <bruno@clisp.org>
73659
73660         * lib/c-ctype.h [C++]: Define functions without name mangling.
73661         * lib/fwriteerror.h [C++]: Likewise.
73662         * lib/gcd.h [C++]: Likewise.
73663         * lib/linebreak.h [C++]: Likewise.
73664
73665 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
73666
73667         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
73668         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
73669         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
73670         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73671         Check for functions and headers just once.
73672         Check for declaration of canonicalize_file_name.
73673         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
73674
73675 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73676
73677         * gnulib-tool (func_import): Fix typo in actioncmd.
73678
73679 2006-11-02  Bruno Haible  <bruno@clisp.org>
73680
73681         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
73682         newline sequence in the Makefile.am snippet as a space, like "make"
73683         does.
73684         Reported by Roger Persson <perrog@gmail.com>.
73685
73686 2006-11-01  Bruno Haible  <bruno@clisp.org>
73687
73688         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
73689         already declared in <string.h>.
73690         * lib/strcase.h (strncasecmp): Don't declare it if yes.
73691
73692 2006-11-01  Bruno Haible  <bruno@clisp.org>
73693
73694         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
73695         * lib/strcase.h: Include <string.h>.
73696         (strcasecmp): Define to rpl_strcasecmp here.
73697
73698 2006-11-01  Bruno Haible  <bruno@clisp.org>
73699
73700         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
73701
73702 2006-11-01  Eric Blake  <ebb9@byu.net>
73703
73704         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
73705
73706         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
73707
73708 2006-10-29  Bruno Haible  <bruno@clisp.org>
73709
73710         Make it compile in C++ mode.
73711         * lib/full-write.c (full_rw): Add a cast.
73712
73713 2006-11-01  Bruno Haible  <bruno@clisp.org>
73714
73715         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
73716         be POSIX compliant.
73717         Reported by Roger Persson <perrog@gmail.com>.
73718
73719 2006-11-01  Eric Blake  <ebb9@byu.net>
73720
73721         * lib/getopt_.h: Fix comments.
73722
73723 2006-10-31  Eric Blake  <ebb9@byu.net>
73724
73725         * modules/tmpdir (Depends-on): Add sys_stat.
73726         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
73727         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
73728         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
73729         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
73730         tempname.
73731
73732 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
73733
73734         Avoid some C++ diagnostics reported by Bruno Haible.
73735         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
73736         xmalloc.
73737         (quotearg_alloc): Use xcharalloc rather than xmalloc.
73738         (struct slotvec): Move to top level.
73739         (quotearg_n_options): Rewrite to avoid xmalloc.
73740         * lib/xalloc.h (xcharalloc): New function.
73741         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
73742         [defined __cplusplus]: Add function template that provides result
73743         type propagation.  This part of the change is from Bruno Haible.
73744
73745 2006-10-29  Bruno Haible  <bruno@clisp.org>
73746
73747         Make it compile in C++ mode.
73748         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
73749         * lib/strnlen1.c (strnlen1): Cast memchr result.
73750         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
73751         * lib/clean-temp.c (string_equals, string_hash): Add casts.
73752         (create_temp_dir): Rename local variable 'template'.
73753         (compile_csharp_using_sscli): Add cast.
73754         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
73755         * lib/findprog.c (find_in_path): Likewise.
73756         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
73757         * lib/wait-process.c (register_slave_subprocess): Likewise.
73758
73759 2006-10-22  Bruno Haible  <bruno@clisp.org>
73760
73761         * modules/tsearch: New file.
73762         * lib/tsearch.h: New file.
73763         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
73764         * m4/tsearch.m4: New file.
73765         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
73766
73767 2006-10-29  Eric Blake  <ebb9@byu.net>
73768
73769         * lib/arcfour.c: Assume config.h.
73770         * lib/arctwo.c: Likewise.
73771         * lib/base64.c: Likewise.
73772         * lib/check-version.c: Likewise.
73773         * lib/crc.c: Likewise.
73774         * lib/des.c: Likewise.
73775         * lib/gc-gnulib.c: Likewise.
73776         * lib/gc-libgcrypt.c: Likewise.
73777         * lib/gc-pbkdf2-sha1.c: Likewise.
73778         * lib/getaddrinfo.c: Likewise.
73779         * lib/getdelim.c: Likewise.
73780         * lib/getline.c: Likewise.
73781         * lib/hmac-md5.c: Likewise.
73782         * lib/hmac-sha1.c: Likewise.
73783         * lib/iconvme.c: Likewise.
73784         * lib/md2.c: Likewise.
73785         * lib/md4.c: Likewise.
73786         * lib/memxor.c: Likewise.
73787         * lib/read-file.c: Likewise.
73788         * lib/readline.c: Likewise.
73789         * lib/rijndael-alg-fst.c: Likewise.
73790         * lib/rijndael-api-fst.c: Likewise.
73791         * lib/xgetdomainname.c: Likewise.
73792
73793 2006-10-28  Eric Blake  <ebb9@byu.net>
73794
73795         * lib/xstrndup.c: Assume config.h.
73796
73797 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73798
73799         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
73800         stat-macros.h is now for our own macros, whereas stat_h is for
73801         macros in the <sys/stat.h> name space.
73802         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
73803         (STAT_MACROS_H): Remove.
73804         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
73805         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
73806         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
73807         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
73808         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
73809         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
73810         Move these macros to ...
73811         * lib/stat_.h: here.  Don't include stat-macros.h.
73812         * lib/canonicalize.c: Don't include stat-macros.h.
73813         * lib/chown.c: Likewise.
73814         * lib/euidaccess.c: Likewise.
73815         * lib/file-type.c: Likewise.
73816         * lib/filemode.c: Likewise.
73817         * lib/glob.c: Likewise.
73818         * lib/isapipe.c: Likewise.
73819         * lib/lchown.c: Likewise.
73820         * lib/lstat.c: Likewise.
73821         * lib/mkdir-p.c: Likewise.
73822         * lib/rmdir.c: Likewise.
73823         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
73824         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
73825         unless mkdir isn't declared, to speed up 'configure'.
73826         Always create sys/stat.h, since it's unlikely any real sys/stat.h
73827         would define all the S_* symbols.
73828         * modules/canonicalize (Depends-on):
73829         Depend on sys_stat, not stat-macros.
73830         * modules/chown: Likewise.
73831         * modules/euidaccess: Likewise.
73832         * modules/filemode: Likewise.
73833         * modules/file-type: Likewise.
73834         * modules/glob: Likewise.
73835         * modules/isapipe: Likewise.
73836         * modules/lchown: Likewise.
73837         * modules/lstat: Likewise.
73838         * modules/mkancesdirs: Likewise.
73839         * modules/rmdir: Likewise.
73840         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
73841         * modules/modechange: Likewise.
73842         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
73843         (configure.ac): Remove gl_STAT_MACROS.
73844         * modules/sys_stat (Depends-on): Remove stat-macros.
73845
73846 2006-10-27  Bruno Haible  <bruno@clisp.org>
73847
73848         * m4/signed.m4: Remove file.
73849         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
73850         invocation.
73851         * modules/vasnprintf (Files): Remove m4/signed.m4.
73852
73853 2006-10-27  Bruno Haible  <bruno@clisp.org>
73854
73855         Update to GNU gettext 0.16.
73856         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
73857         m4/inttypes-h.m4, m4/signed.m4.
73858         * m4/gettext.m4: Update to GNU gettext 0.16.
73859         * m4/intl.m4: New file, from GNU gettext.
73860         * m4/intldir.m4: New file, from GNU gettext.
73861         * config/srclist.txt: Update
73862
73863 2006-10-27  Eric Blake  <ebb9@byu.net>
73864
73865         * MODULES.html.sh: Document tempname.
73866         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
73867         dependencies.
73868         (Files): Move lib/tempname.c...
73869         * modules/tempname: ...to this new module.
73870         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
73871         (gl_PREREQ_TEMPNAME): Move...
73872         * m4/tempname.m4: ...to this new file.
73873         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
73874         * modules/sys_stat (Depends-on): Add stat-macros.
73875         * lib/stat_.h (includes): Pick up stat macros.
73876         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
73877         if stat macros are broken.
73878         * lib/tempname.c (includes): No need to include "stat-macros.h".
73879         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
73880         (direxists, __path_search) [!_LIBC]: Don't compile these in
73881         gnulib; the tmpdir module covers that.
73882         * lib/tempname.h: New file.
73883
73884 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
73885
73886         * COPYING: Explain how gnulib-tool converts licence headers.
73887         Almost all wording by Eric Blake.
73888
73889 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
73890
73891         * lib/mbchar.h (is_basic_table): Make read-only.
73892         * lib/mbchar.c (is_basic_table): Likewise.
73893         Reported by John Darrington.
73894
73895 2006-10-25  Bruno Haible  <bruno@clisp.org>
73896
73897         * lib/progname.h (set_program_name): Undefine before defining.
73898
73899 2006-10-25  Bruno Haible  <bruno@clisp.org>
73900
73901         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
73902         false for non-gcc C++ compilers.
73903         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73904
73905 2006-10-24  Bruno Haible  <bruno@clisp.org>
73906
73907         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
73908         iconv implementations like Irix iconv.
73909
73910 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73911
73912         * modules/vararrays: New file.
73913         * m4/vararrays.m4: New file, taken from diffutils.
73914         * MODULES.html.sh: New module vararrays.
73915
73916 2006-10-24  Karl Berry  <karl@gnu.org>
73917
73918         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
73919         Don't call GNU Unix.
73920
73921 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73922
73923         * users.txt: Add Libtool.
73924
73925         Sync from Libtool:
73926
73927         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73928
73929         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
73930         to gnulib's policy of including config.h unconditionally.
73931
73932 2006-10-24  Bruno Haible  <bruno@clisp.org>
73933
73934         * modules/wcwidth (Files): Add m4/wint_t.m4.
73935         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
73936         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
73937
73938 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73939
73940         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
73941         to pacify GCC with some -W flags enabled.  Problem reported by
73942         Bruno Haible.
73943
73944 2006-10-24  Jim Meyering  <jim@meyering.net>
73945
73946         * MODULES.html.sh: Remove uinttostr.  It's not a module.
73947         Reported by Karl Berry.
73948
73949 2006-10-23  Bruno Haible  <bruno@clisp.org>
73950
73951         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
73952
73953 2006-10-24  Bruno Haible  <bruno@clisp.org>
73954
73955         * lib/gl_list.h: Use C comment style, not C++ comment style.
73956
73957 2006-10-23  Eric Blake  <ebb9@byu.net>
73958
73959         * lib/getaddrinfo.c (includes): Add missing include.
73960
73961 2006-10-23  Bruno Haible  <bruno@clisp.org>
73962             Paul Eggert  <eggert@cs.ucla.edu>
73963
73964         Ability to rename obstack_free.
73965         * lib/obstack.h (__obstack_free): New macro. Declare instead of
73966         obstack_free.
73967         (obstack_free): Invoke the __obstack_free macro.
73968         * lib/obstack.c (obstack_free): Use __obstack_free macro.
73969
73970 2006-10-23  Bruno Haible  <bruno@clisp.org>
73971             Paul Eggert  <eggert@cs.ucla.edu>
73972
73973         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
73974         __argc, __argv from the declaration. (They are defined as macros on
73975         mingw.)
73976
73977 2006-10-22  Bruno Haible  <bruno@clisp.org>
73978
73979         * doc/gnulib-intro.texi: New file.
73980         * doc/gnulib.texi: Include it.
73981
73982 2006-10-21  Bruno Haible  <bruno@clisp.org>
73983
73984         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
73985         "Introduction", "Miscellanous Notes", "Particular Modules".
73986
73987 2006-10-21  Bruno Haible  <bruno@clisp.org>
73988
73989         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73990         Change mostlyclean-local rule to avoid sh syntax error from bash
73991         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
73992
73993 2006-10-23  Jim Meyering  <jim@meyering.net>
73994
73995         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
73996         in place of snprintf.
73997
73998         * modules/inttostr (Files): Add lib/uinttostr.c.
73999         * lib/uinttostr.c (inttostr): New file/function.
74000         * lib/inttostr.h (uinttostr): Declare.
74001         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
74002         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74003         Add uinttostr.
74004         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
74005
74006 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74007
74008         * lib/canonicalize.c (ELOOP): Define if not already defined.
74009         Problem reported by Bruno Haible in
74010         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
74011
74012 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74013
74014         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
74015         Problem reported by Perry Smith and Ville Laurikari.
74016
74017         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
74018         uses.
74019
74020 2006-10-19  Bruno Haible  <bruno@clisp.org>
74021
74022         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
74023         for mingw.
74024
74025 2006-10-19  Bruno Haible  <bruno@clisp.org>
74026
74027         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
74028         Needed for mingw.
74029
74030 2006-10-19  Bruno Haible  <bruno@clisp.org>
74031
74032         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
74033
74034 2006-10-19  Bruno Haible  <bruno@clisp.org>
74035
74036         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
74037         it.
74038
74039 2006-10-19  Bruno Haible  <bruno@clisp.org>
74040
74041         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
74042         invocation.
74043
74044 2006-10-19  Bruno Haible  <bruno@clisp.org>
74045
74046         * gnulib-tool (func_create_testdir): Don't include ftruncate and
74047         mountlist by default.
74048
74049 2006-10-16  Bruno Haible  <bruno@clisp.org>
74050
74051         * lib/c-strstr.c: Include c-strstr.h.
74052
74053 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74054
74055         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
74056         in a slash.
74057
74058 2006-10-18  Bruno Haible  <bruno@clisp.org>
74059
74060         * lib/lock.h [C++]: Wrap definitions in extern "C".
74061
74062 2006-10-18  Bruno Haible  <bruno@clisp.org>
74063
74064         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
74065         gl_LIBOBJS list.
74066
74067 2006-10-18  Bruno Haible  <bruno@clisp.org>
74068
74069         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
74070
74071 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
74072
74073         * lib/xstrtol.h: Include gettext.h.
74074         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
74075         Problem reported by Eric Blake.
74076         * modules/xstrtol (Depends-on): Add gettext-h.
74077
74078 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
74079
74080         * lib/strftime.c (advance): New macro.
74081         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
74082         incomplete type, so you can't add 0 to it.  Problem and patch
74083         reported by Eelco Dolstra for dietlibc.
74084
74085 2006-10-18  Jim Meyering  <jim@meyering.net>
74086
74087         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
74088         type for a local, and rename it: s/up/user_proc/.
74089
74090 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
74091
74092         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
74093         READ_UTMP_USER_PROCESS.
74094         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
74095
74096 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74097
74098         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
74099         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
74100
74101 2006-10-17  Eric Blake  <ebb9@byu.net>
74102
74103         * lib/sigprocmask.c (sigprocmask): Fix typo.
74104
74105         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
74106
74107         * modules/clean-temp (Makefile.am): Don't add to make output...
74108         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
74109         config.h.
74110
74111 2006-10-17  Bruno Haible  <bruno@clisp.org>
74112
74113         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
74114         differently if DEFAULT_TEXT_DOMAIN is set.
74115
74116 2006-10-16  Bruno Haible  <bruno@clisp.org>
74117
74118         * lib/clean-temp.c: Include fwriteerror.h.
74119
74120 2006-10-16  Bruno Haible  <bruno@clisp.org>
74121
74122         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
74123
74124 2006-10-16  Bruno Haible  <bruno@clisp.org>
74125
74126         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
74127         * lib/sigprocmask.h: Include <sys/types.h>.
74128         (sigset_t): Use the system's definition if present.
74129
74130 2006-10-17  Eric Blake  <ebb9@byu.net>
74131
74132         * lib/xvasprintf.c (includes): Assume config.h.
74133         * lib/xasprintf.c (includes): Likewise.
74134
74135 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
74136
74137         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
74138         at least as wide as intmax_t.
74139
74140 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
74141
74142         (Imported from Automake.)
74143         * build-aux/gnupload: Update to version 1.1 of directive file.
74144
74145 2006-10-16  Eric Blake  <ebb9@byu.net>
74146
74147         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
74148         match Automake 1.10a.
74149
74150 2006-10-14  Bruno Haible  <bruno@clisp.org>
74151
74152         * modules/sigprocmask: New file.
74153         * lib/sigprocmask.h: New file.
74154         * lib/sigprocmask.c: New file.
74155         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
74156         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
74157         request sigprocmask.o.
74158         (gl_PREREQ_SIGPROCMASK): New macro.
74159         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
74160         (Depends-on): Add sigprocmask.
74161         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
74162         gt_SIGNALBLOCKING. Test for 'raise' only once.
74163         * lib/fatal-signal.c: Include sigprocmask.h.
74164         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
74165         unblock_fatal_signals): Define always.
74166         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74167         sigprocmask.
74168
74169 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74170
74171         Sync from Automake.
74172         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
74173         which incorrectly sets the mode of an existing destination
74174         directory.  In some cases the unpatched install-sh could do the
74175         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
74176         system.  We hope this is rare in practice, but it's clearly worth
74177         fixing.  Problem reported by Alex Unleashed in
74178         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
74179         Also, don't bother to check for -m bugs unless we're using -m;
74180         suggested by Stepan Kasal.
74181
74182 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74183
74184         Sync from Automake.
74185         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
74186         `-c' flag, so they appear at the same position as in %FASTDEP%
74187         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
74188         which ignores unknown options only after the first non-option.
74189         Bug report against M4 by Nelson H. F. Beebe.
74190
74191 2006-10-13  Jim Meyering  <jim@meyering.net>
74192
74193         Fix a bug in yesterday's change.
74194         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
74195         p->fts_statp->st_dev would be used uninitialized.
74196         Ensures that we always call fts_stat on the very first entry.
74197         Miklos Szeredi reported that find -xdev stopped working.
74198
74199 2006-10-12  Bruno Haible  <bruno@clisp.org>
74200
74201         * gnulib-tool (func_get_automake_snippet): Append an automatically
74202         computed EXTRA_DIST augmentation.
74203         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
74204         * modules/alloca-opt (Makefile.am): Likewise.
74205         * modules/allocsa (Makefile.am): Likewise.
74206         * modules/arcfour (Makefile.am): Likewise.
74207         * modules/arctwo (Makefile.am): Likewise.
74208         * modules/argmatch (Makefile.am): Likewise.
74209         * modules/argz (Makefile.am): Likewise.
74210         * modules/atexit (Makefile.am): Likewise.
74211         * modules/backupfile (Makefile.am): Likewise.
74212         * modules/byteswap (Makefile.am): Likewise.
74213         * modules/c-strtod (Makefile.am): Likewise.
74214         * modules/c-strtold (Makefile.am): Likewise.
74215         * modules/calloc (Makefile.am): Likewise.
74216         * modules/canon-host (Makefile.am): Likewise.
74217         * modules/canonicalize (Makefile.am): Likewise.
74218         * modules/chdir-long (Makefile.am): Likewise.
74219         * modules/chdir-safer (Makefile.am): Likewise.
74220         * modules/check-version (Makefile.am): Likewise.
74221         * modules/chown (Makefile.am): Likewise.
74222         * modules/cloexec (Makefile.am): Likewise.
74223         * modules/close-stream (Makefile.am): Likewise.
74224         * modules/closeout (Makefile.am): Likewise.
74225         * modules/crc (Makefile.am): Likewise.
74226         * modules/csharpexec (Makefile.am): Likewise.
74227         * modules/cycle-check (Makefile.am): Likewise.
74228         * modules/des (Makefile.am): Likewise.
74229         * modules/dev-ino (Makefile.am): Likewise.
74230         * modules/dirfd (Makefile.am): Likewise.
74231         * modules/dirname (Makefile.am): Likewise.
74232         * modules/dup2 (Makefile.am): Likewise.
74233         * modules/eealloc (Makefile.am): Likewise.
74234         * modules/error (Makefile.am): Likewise.
74235         * modules/euidaccess (Makefile.am): Likewise.
74236         * modules/exclude (Makefile.am): Likewise.
74237         * modules/exitfail (Makefile.am): Likewise.
74238         * modules/fcntl-safer (Makefile.am): Likewise.
74239         * modules/fcntl (Makefile.am): Likewise.
74240         * modules/file-type (Makefile.am): Likewise.
74241         * modules/fileblocks (Makefile.am): Likewise.
74242         * modules/filemode (Makefile.am): Likewise.
74243         * modules/filenamecat (Makefile.am): Likewise.
74244         * modules/fnmatch (Makefile.am): Likewise.
74245         * modules/fopen-safer (Makefile.am): Likewise.
74246         * modules/fpending (Makefile.am): Likewise.
74247         * modules/fprintftime (Makefile.am): Likewise.
74248         * modules/free (Makefile.am): Likewise.
74249         * modules/fsusage (Makefile.am): Likewise.
74250         * modules/ftruncate (Makefile.am): Likewise.
74251         * modules/fts (Makefile.am): Likewise.
74252         * modules/gc-arcfour (Makefile.am): Likewise.
74253         * modules/gc-des (Makefile.am): Likewise.
74254         * modules/gc-hmac-md5 (Makefile.am): Likewise.
74255         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
74256         * modules/gc-md4 (Makefile.am): Likewise.
74257         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74258         * modules/gc-sha1 (Makefile.am): Likewise.
74259         * modules/gc (Makefile.am): Likewise.
74260         * modules/getaddrinfo (Makefile.am): Likewise.
74261         * modules/getcwd (Makefile.am): Likewise.
74262         * modules/getdelim (Makefile.am): Likewise.
74263         * modules/getdomainname (Makefile.am): Likewise.
74264         * modules/getgroups (Makefile.am): Likewise.
74265         * modules/gethostname (Makefile.am): Likewise.
74266         * modules/gethrxtime (Makefile.am): Likewise.
74267         * modules/getline (Makefile.am): Likewise.
74268         * modules/getloadavg (Makefile.am): Likewise.
74269         * modules/getlogin_r (Makefile.am): Likewise.
74270         * modules/getndelim2 (Makefile.am): Likewise.
74271         * modules/getopt (Makefile.am): Likewise.
74272         * modules/getpagesize (Makefile.am): Likewise.
74273         * modules/getpass-gnu (Makefile.am): Likewise.
74274         * modules/getpass (Makefile.am): Likewise.
74275         * modules/getsubopt (Makefile.am): Likewise.
74276         * modules/gettime (Makefile.am): Likewise.
74277         * modules/gettimeofday (Makefile.am): Likewise.
74278         * modules/getugroups (Makefile.am): Likewise.
74279         * modules/getusershell (Makefile.am): Likewise.
74280         * modules/glob (Makefile.am): Likewise.
74281         * modules/group-member (Makefile.am): Likewise.
74282         * modules/hard-locale (Makefile.am): Likewise.
74283         * modules/hash (Makefile.am): Likewise.
74284         * modules/hmac-md5 (Makefile.am): Likewise.
74285         * modules/hmac-sha1 (Makefile.am): Likewise.
74286         * modules/human (Makefile.am): Likewise.
74287         * modules/idcache (Makefile.am): Likewise.
74288         * modules/imaxabs (Makefile.am): Likewise.
74289         * modules/imaxdiv (Makefile.am): Likewise.
74290         * modules/inet_ntop (Makefile.am): Likewise.
74291         * modules/inet_pton (Makefile.am): Likewise.
74292         * modules/intprops (Makefile.am): Likewise.
74293         * modules/inttostr (Makefile.am): Likewise.
74294         * modules/inttypes (Makefile.am): Likewise.
74295         * modules/isapipe (Makefile.am): Likewise.
74296         * modules/javaversion (Makefile.am): Likewise.
74297         * modules/lchmod (Makefile.am): Likewise.
74298         * modules/lchown (Makefile.am): Likewise.
74299         * modules/localcharset (Makefile.am): Likewise.
74300         * modules/long-options (Makefile.am): Likewise.
74301         * modules/lstat (Makefile.am): Likewise.
74302         * modules/malloc (Makefile.am): Likewise.
74303         * modules/mathl (Makefile.am): Likewise.
74304         * modules/mbchar (Makefile.am): Likewise.
74305         * modules/md2 (Makefile.am): Likewise.
74306         * modules/md4 (Makefile.am): Likewise.
74307         * modules/md5 (Makefile.am): Likewise.
74308         * modules/memcasecmp (Makefile.am): Likewise.
74309         * modules/memchr (Makefile.am): Likewise.
74310         * modules/memcmp (Makefile.am): Likewise.
74311         * modules/memcoll (Makefile.am): Likewise.
74312         * modules/memcpy (Makefile.am): Likewise.
74313         * modules/memmem (Makefile.am): Likewise.
74314         * modules/memmove (Makefile.am): Likewise.
74315         * modules/mempcpy (Makefile.am): Likewise.
74316         * modules/memrchr (Makefile.am): Likewise.
74317         * modules/memset (Makefile.am): Likewise.
74318         * modules/memxor (Makefile.am): Likewise.
74319         * modules/mkancesdirs (Makefile.am): Likewise.
74320         * modules/mkdir-p (Makefile.am): Likewise.
74321         * modules/mkdir (Makefile.am): Likewise.
74322         * modules/mkdtemp (Makefile.am): Likewise.
74323         * modules/mkstemp (Makefile.am): Likewise.
74324         * modules/mktime (Makefile.am): Likewise.
74325         * modules/modechange (Makefile.am): Likewise.
74326         * modules/mountlist (Makefile.am): Likewise.
74327         * modules/nanosleep (Makefile.am): Likewise.
74328         * modules/obstack (Makefile.am): Likewise.
74329         * modules/openat (Makefile.am): Likewise.
74330         * modules/pagealign_alloc (Makefile.am): Likewise.
74331         * modules/pathmax (Makefile.am): Likewise.
74332         * modules/physmem (Makefile.am): Likewise.
74333         * modules/poll (Makefile.am): Likewise.
74334         * modules/posixtm (Makefile.am): Likewise.
74335         * modules/posixver (Makefile.am): Likewise.
74336         * modules/putenv (Makefile.am): Likewise.
74337         * modules/quote (Makefile.am): Likewise.
74338         * modules/quotearg (Makefile.am): Likewise.
74339         * modules/raise (Makefile.am): Likewise.
74340         * modules/read-file (Makefile.am): Likewise.
74341         * modules/readline (Makefile.am): Likewise.
74342         * modules/readlink (Makefile.am): Likewise.
74343         * modules/readtokens (Makefile.am): Likewise.
74344         * modules/readutmp (Makefile.am): Likewise.
74345         * modules/realloc (Makefile.am): Likewise.
74346         * modules/regex (Makefile.am): Likewise.
74347         * modules/rename-dest-slash (Makefile.am): Likewise.
74348         * modules/rename (Makefile.am): Likewise.
74349         * modules/rijndael (Makefile.am): Likewise.
74350         * modules/rmdir (Makefile.am): Likewise.
74351         * modules/rpmatch (Makefile.am): Likewise.
74352         * modules/safe-read (Makefile.am): Likewise.
74353         * modules/safe-write (Makefile.am): Likewise.
74354         * modules/same-inode (Makefile.am): Likewise.
74355         * modules/same (Makefile.am): Likewise.
74356         * modules/save-cwd (Makefile.am): Likewise.
74357         * modules/savedir (Makefile.am): Likewise.
74358         * modules/setenv (Makefile.am): Likewise.
74359         * modules/settime (Makefile.am): Likewise.
74360         * modules/sha1 (Makefile.am): Likewise.
74361         * modules/sig2str (Makefile.am): Likewise.
74362         * modules/snprintf (Makefile.am): Likewise.
74363         * modules/stat-macros (Makefile.am): Likewise.
74364         * modules/stat-time (Makefile.am): Likewise.
74365         * modules/stdbool (Makefile.am): Likewise.
74366         * modules/stdint (Makefile.am): Likewise.
74367         * modules/stdlib-safer (Makefile.am): Likewise.
74368         * modules/stpcpy (Makefile.am): Likewise.
74369         * modules/stpncpy (Makefile.am): Likewise.
74370         * modules/strcase (Makefile.am): Likewise.
74371         * modules/strcasestr (Makefile.am): Likewise.
74372         * modules/strchrnul (Makefile.am): Likewise.
74373         * modules/strcspn (Makefile.am): Likewise.
74374         * modules/strdup (Makefile.am): Likewise.
74375         * modules/strerror (Makefile.am): Likewise.
74376         * modules/strftime (Makefile.am): Likewise.
74377         * modules/strndup (Makefile.am): Likewise.
74378         * modules/strnlen (Makefile.am): Likewise.
74379         * modules/strpbrk (Makefile.am): Likewise.
74380         * modules/strsep (Makefile.am): Likewise.
74381         * modules/strstr (Makefile.am): Likewise.
74382         * modules/strtod (Makefile.am): Likewise.
74383         * modules/strtoimax (Makefile.am): Likewise.
74384         * modules/strtok_r (Makefile.am): Likewise.
74385         * modules/strtol (Makefile.am): Likewise.
74386         * modules/strtoll (Makefile.am): Likewise.
74387         * modules/strtoul (Makefile.am): Likewise.
74388         * modules/strtoull (Makefile.am): Likewise.
74389         * modules/strtoumax (Makefile.am): Likewise.
74390         * modules/strverscmp (Makefile.am): Likewise.
74391         * modules/sys_socket (Makefile.am): Likewise.
74392         * modules/sys_stat (Makefile.am): Likewise.
74393         * modules/sysexits (Makefile.am): Likewise.
74394         * modules/time_r (Makefile.am): Likewise.
74395         * modules/timegm (Makefile.am): Likewise.
74396         * modules/timespec (Makefile.am): Likewise.
74397         * modules/tmpfile-safer (Makefile.am): Likewise.
74398         * modules/trim (Makefile.am): Likewise.
74399         * modules/unistd-safer (Makefile.am): Likewise.
74400         * modules/unlinkdir (Makefile.am): Likewise.
74401         * modules/unlocked-io (Makefile.am): Likewise.
74402         * modules/userspec (Makefile.am): Likewise.
74403         * modules/utime (Makefile.am): Likewise.
74404         * modules/utimecmp (Makefile.am): Likewise.
74405         * modules/utimens (Makefile.am): Likewise.
74406         * modules/vasnprintf (Makefile.am): Likewise.
74407         * modules/vasprintf (Makefile.am): Likewise.
74408         * modules/vsnprintf (Makefile.am): Likewise.
74409         * modules/xalloc (Makefile.am): Likewise.
74410         * modules/xgetcwd (Makefile.am): Likewise.
74411         * modules/xnanosleep (Makefile.am): Likewise.
74412         * modules/xreadlink (Makefile.am): Likewise.
74413         * modules/xstrtod (Makefile.am): Likewise.
74414         * modules/xstrtol (Makefile.am): Likewise.
74415         * modules/xstrtold (Makefile.am): Likewise.
74416         * modules/yesno (Makefile.am): Likewise.
74417         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
74418
74419 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74420
74421         * modules/error (Makefile.am): Distribute files through
74422         EXTRA_DIST, not lib_SOURCES.
74423
74424 2006-10-12  Eric Blake  <ebb9@byu.net>
74425
74426         * modules/error (Makefile.am): Distribute files in /lib.
74427         * modules/obstack (Makefile.am): Likewise.
74428
74429 2006-10-12  Bruno Haible  <bruno@clisp.org>
74430
74431         * modules/acl (Makefile.am): Distribute all files in lib/ through
74432         EXTRA_DIST.
74433         * modules/arcfour (Makefile.am): Likewise.
74434         * modules/arctwo (Makefile.am): Likewise.
74435         * modules/argmatch (Makefile.am): Likewise.
74436         * modules/argz (Makefile.am): Likewise.
74437         * modules/atexit (Makefile.am): Likewise.
74438         * modules/backupfile (Makefile.am): Likewise.
74439         * modules/c-strtod (Makefile.am): Likewise.
74440         * modules/c-strtold (Makefile.am): Likewise.
74441         * modules/calloc (Makefile.am): Likewise.
74442         * modules/canon-host (Makefile.am): Likewise.
74443         * modules/canonicalize (Makefile.am): Likewise.
74444         * modules/chdir-long (Makefile.am): Likewise.
74445         * modules/chdir-safer (Makefile.am): Likewise.
74446         * modules/check-version (Makefile.am): Likewise.
74447         * modules/chown (Makefile.am): Likewise.
74448         * modules/cloexec (Makefile.am): Likewise.
74449         * modules/close-stream (Makefile.am): Likewise.
74450         * modules/closeout (Makefile.am): Likewise.
74451         * modules/crc (Makefile.am): Likewise.
74452         * modules/cycle-check (Makefile.am): Likewise.
74453         * modules/des (Makefile.am): Likewise.
74454         * modules/dirfd (Makefile.am): Likewise.
74455         * modules/dirname (Makefile.am): Likewise.
74456         * modules/dup2 (Makefile.am): Likewise.
74457         * modules/euidaccess (Makefile.am): Likewise.
74458         * modules/exclude (Makefile.am): Likewise.
74459         * modules/exitfail (Makefile.am): Likewise.
74460         * modules/fcntl-safer (Makefile.am): Likewise.
74461         * modules/file-type (Makefile.am): Likewise.
74462         * modules/fileblocks (Makefile.am): Likewise.
74463         * modules/filemode (Makefile.am): Likewise.
74464         * modules/filenamecat (Makefile.am): Likewise.
74465         * modules/fnmatch (Makefile.am): Likewise.
74466         * modules/fopen-safer (Makefile.am): Likewise.
74467         * modules/fpending (Makefile.am): Likewise.
74468         * modules/fprintftime (Makefile.am): Likewise.
74469         * modules/free (Makefile.am): Likewise.
74470         * modules/fsusage (Makefile.am): Likewise.
74471         * modules/ftruncate (Makefile.am): Likewise.
74472         * modules/fts (Makefile.am): Likewise.
74473         * modules/gc (Makefile.am): Likewise.
74474         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74475         * modules/getaddrinfo (Makefile.am): Likewise.
74476         * modules/getcwd (Makefile.am): Likewise.
74477         * modules/getdelim (Makefile.am): Likewise.
74478         * modules/getdomainname (Makefile.am): Likewise.
74479         * modules/getgroups (Makefile.am): Likewise.
74480         * modules/gethostname (Makefile.am): Likewise.
74481         * modules/gethrxtime (Makefile.am): Likewise.
74482         * modules/getline (Makefile.am): Likewise.
74483         * modules/getloadavg (Makefile.am): Likewise.
74484         * modules/getlogin_r (Makefile.am): Likewise.
74485         * modules/getopt (Makefile.am): Likewise.
74486         * modules/getpass (Makefile.am): Likewise.
74487         * modules/getpass-gnu (Makefile.am): Likewise.
74488         * modules/getsubopt (Makefile.am): Likewise.
74489         * modules/gettime (Makefile.am): Likewise.
74490         * modules/gettimeofday (Makefile.am): Likewise.
74491         * modules/getugroups (Makefile.am): Likewise.
74492         * modules/getusershell (Makefile.am): Likewise.
74493         * modules/glob (Makefile.am): Likewise.
74494         * modules/group-member (Makefile.am): Likewise.
74495         * modules/hard-locale (Makefile.am): Likewise.
74496         * modules/hash (Makefile.am): Likewise.
74497         * modules/hmac-md5 (Makefile.am): Likewise.
74498         * modules/hmac-sha1 (Makefile.am): Likewise.
74499         * modules/human (Makefile.am): Likewise.
74500         * modules/idcache (Makefile.am): Likewise.
74501         * modules/imaxabs (Makefile.am): Likewise.
74502         * modules/imaxdiv (Makefile.am): Likewise.
74503         * modules/inet_ntop (Makefile.am): Likewise.
74504         * modules/inet_pton (Makefile.am): Likewise.
74505         * modules/inttostr (Makefile.am): Likewise.
74506         * modules/isapipe (Makefile.am): Likewise.
74507         * modules/lchown (Makefile.am): Likewise.
74508         * modules/long-options (Makefile.am): Likewise.
74509         * modules/lstat (Makefile.am): Likewise.
74510         * modules/malloc (Makefile.am): Likewise.
74511         * modules/mathl (Makefile.am): Likewise.
74512         * modules/mbchar (Makefile.am): Likewise.
74513         * modules/md2 (Makefile.am): Likewise.
74514         * modules/md4 (Makefile.am): Likewise.
74515         * modules/md5 (Makefile.am): Likewise.
74516         * modules/memcasecmp (Makefile.am): Likewise.
74517         * modules/memchr (Makefile.am): Likewise.
74518         * modules/memcmp (Makefile.am): Likewise.
74519         * modules/memcoll (Makefile.am): Likewise.
74520         * modules/memcpy (Makefile.am): Likewise.
74521         * modules/memmem (Makefile.am): Likewise.
74522         * modules/memmove (Makefile.am): Likewise.
74523         * modules/mempcpy (Makefile.am): Likewise.
74524         * modules/memrchr (Makefile.am): Likewise.
74525         * modules/memset (Makefile.am): Likewise.
74526         * modules/memxor (Makefile.am): Likewise.
74527         * modules/mkancesdirs (Makefile.am): Likewise.
74528         * modules/mkdir (Makefile.am): Likewise.
74529         * modules/mkdir-p (Makefile.am): Likewise.
74530         * modules/mkdtemp (Makefile.am): Likewise.
74531         * modules/mkstemp (Makefile.am): Likewise.
74532         * modules/mktime (Makefile.am): Likewise.
74533         * modules/modechange (Makefile.am): Likewise.
74534         * modules/mountlist (Makefile.am): Likewise.
74535         * modules/nanosleep (Makefile.am): Likewise.
74536         * modules/openat (Makefile.am): Likewise.
74537         * modules/pagealign_alloc (Makefile.am): Likewise.
74538         * modules/physmem (Makefile.am): Likewise.
74539         * modules/poll (Makefile.am): Likewise.
74540         * modules/posixtm (Makefile.am): Likewise.
74541         * modules/posixver (Makefile.am): Likewise.
74542         * modules/putenv (Makefile.am): Likewise.
74543         * modules/quote (Makefile.am): Likewise.
74544         * modules/quotearg (Makefile.am): Likewise.
74545         * modules/raise (Makefile.am): Likewise.
74546         * modules/read-file (Makefile.am): Likewise.
74547         * modules/readline (Makefile.am): Likewise.
74548         * modules/readlink (Makefile.am): Likewise.
74549         * modules/readtokens (Makefile.am): Likewise.
74550         * modules/readutmp (Makefile.am): Likewise.
74551         * modules/realloc (Makefile.am): Likewise.
74552         * modules/regex (Makefile.am): Likewise.
74553         * modules/rename (Makefile.am): Likewise.
74554         * modules/rename-dest-slash (Makefile.am): Likewise.
74555         * modules/rijndael (Makefile.am): Likewise.
74556         * modules/rmdir (Makefile.am): Likewise.
74557         * modules/rpmatch (Makefile.am): Likewise.
74558         * modules/safe-read (Makefile.am): Likewise.
74559         * modules/safe-write (Makefile.am): Likewise.
74560         * modules/same (Makefile.am): Likewise.
74561         * modules/save-cwd (Makefile.am): Likewise.
74562         * modules/savedir (Makefile.am): Likewise.
74563         * modules/setenv (Makefile.am): Likewise.
74564         * modules/settime (Makefile.am): Likewise.
74565         * modules/sha1 (Makefile.am): Likewise.
74566         * modules/sig2str (Makefile.am): Likewise.
74567         * modules/snprintf (Makefile.am): Likewise.
74568         * modules/stdlib-safer (Makefile.am): Likewise.
74569         * modules/stpcpy (Makefile.am): Likewise.
74570         * modules/stpncpy (Makefile.am): Likewise.
74571         * modules/strcase (Makefile.am): Likewise.
74572         * modules/strcasestr (Makefile.am): Likewise.
74573         * modules/strchrnul (Makefile.am): Likewise.
74574         * modules/strcspn (Makefile.am): Likewise.
74575         * modules/strdup (Makefile.am): Likewise.
74576         * modules/strerror (Makefile.am): Likewise.
74577         * modules/strftime (Makefile.am): Likewise.
74578         * modules/strndup (Makefile.am): Likewise.
74579         * modules/strnlen (Makefile.am): Likewise.
74580         * modules/strpbrk (Makefile.am): Likewise.
74581         * modules/strsep (Makefile.am): Likewise.
74582         * modules/strstr (Makefile.am): Likewise.
74583         * modules/strtod (Makefile.am): Likewise.
74584         * modules/strtoimax (Makefile.am): Likewise.
74585         * modules/strtok_r (Makefile.am): Likewise.
74586         * modules/strtol (Makefile.am): Likewise.
74587         * modules/strtoll (Makefile.am): Likewise.
74588         * modules/strtoul (Makefile.am): Likewise.
74589         * modules/strtoull (Makefile.am): Likewise.
74590         * modules/strtoumax (Makefile.am): Likewise.
74591         * modules/strverscmp (Makefile.am): Likewise.
74592         * modules/time_r (Makefile.am): Likewise.
74593         * modules/timegm (Makefile.am): Likewise.
74594         * modules/tmpfile-safer (Makefile.am): Likewise.
74595         * modules/unistd-safer (Makefile.am): Likewise.
74596         * modules/unlinkdir (Makefile.am): Likewise.
74597         * modules/userspec (Makefile.am): Likewise.
74598         * modules/utime (Makefile.am): Likewise.
74599         * modules/utimecmp (Makefile.am): Likewise.
74600         * modules/utimens (Makefile.am): Likewise.
74601         * modules/vasnprintf (Makefile.am): Likewise.
74602         * modules/vasprintf (Makefile.am): Likewise.
74603         * modules/vsnprintf (Makefile.am): Likewise.
74604         * modules/xalloc (Makefile.am): Likewise.
74605         * modules/xgetcwd (Makefile.am): Likewise.
74606         * modules/xnanosleep (Makefile.am): Likewise.
74607         * modules/xreadlink (Makefile.am): Likewise.
74608         * modules/xstrtod (Makefile.am): Likewise.
74609         * modules/xstrtol (Makefile.am): Likewise.
74610         * modules/xstrtold (Makefile.am): Likewise.
74611         * modules/yesno (Makefile.am): Likewise.
74612
74613 2006-10-12  Jim Meyering  <jim@meyering.net>
74614
74615         * m4/getloadavg.m4: Revert the change below.
74616
74617         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
74618         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
74619         fail with a symlink, which is what coreutils' ./bootstrap now
74620         creates by default.
74621
74622 2006-10-12  Bruno Haible  <bruno@clisp.org>
74623
74624         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
74625         mingw.
74626         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
74627         MSVC and mingw explicitly.
74628
74629 2006-10-11  Simon Josefsson  <jas@extundo.com>
74630             Bruno Haible  <bruno@clisp.org>
74631
74632         Add support for multiple gnulib-tool invocations in the scope of a
74633         single configure.ac file.
74634         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
74635         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
74636         with the same contents as the _LIBADD variable.
74637         (func_emit_initmacro_start, func_emit_initmacro_end,
74638         func_emit_initmacro_done): New functions.
74639         (func_import, func_create_testdir): Invoke them. Allow the identifiers
74640         gl_LIBOBJS and gl_LTLIBOBJS.
74641
74642 2006-10-11  Bruno Haible  <bruno@clisp.org>
74643
74644         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
74645         (func_create_testdir): Don't create po/Makefile.am, don't invoke
74646         autoreconf. Instead, invoke autopoint explicitly but move back the
74647         *.m4 files from gnulib.
74648
74649 2006-10-11  Bruno Haible  <bruno@clisp.org>
74650
74651         * gnulib-tool (func_usage): Make module names after --create-testdir
74652         optional.
74653         (func_create_testdir): If no module was specified, use nearly all
74654         modules.
74655
74656 2006-10-12  Jim Meyering  <jim@meyering.net>
74657
74658         Big performance improvement for fts-based tools that use FTS_NOSTAT.
74659         Avoid spurious inode-mismatch problems on non-POSIX file systems.
74660         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
74661         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
74662         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
74663         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
74664         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
74665         (fts_set_stat_required): New function.
74666         (fts_open): Defer the calls to fts_stat, if possible or requested.
74667         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
74668         into fts_stat itself.
74669         (fts_read): Perform any required (deferred) fts_stat call.
74670         (fts_build): Likewise, for the directory we're about to open and read.
74671         In the readdir loop, carefully decide whether each entry will require
74672         an eventual call to fts_stat, using dirent.d_type info if available.
74673         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
74674         a command line argument into this function.  Update all callers.
74675         Map a return value of FTS_DOT to FTS_D for a command line argument.
74676         * modules/fts (Depends-on): Add d-type.  Alphabetize.
74677         Thanks to Miklos Szeredi for his tenacity and for the initial
74678         bug report about "find" failing on a FUSE-based file system.
74679
74680         * lib/fts.c (fts_open): Use consistent indentation.
74681
74682 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74683
74684         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
74685         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
74686         reported by Jim Meyering.  All uses of cache variables renamed
74687         to match Autoconf's.
74688         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
74689         the other one.
74690
74691         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
74692         Fix misspelling in diagnostic.
74693
74694 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74695
74696         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
74697         defined.  Problem reported by Matthew Woehlke.
74698
74699         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
74700         Add support for Tandem NonStop R series.
74701         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
74702         Use new macro.
74703
74704         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
74705         (has_trailing_slash): Omit size arg; all callers changed.
74706         Omit 'inline', since it doesn't help performance and we'd
74707         need to configure it.
74708         Don't count //, ///, etc. as having a trailing slash.
74709         As a side effect, this removes a C99ism reported by Matthew Woehlke.
74710         (rpl_rename_dest_slash): On failure, use rename's errno rather
74711         than (in some cases) an incorrect or junk errno.
74712         Simplify code by removing need to compute length; this does
74713         cause it to make two passes instead of one over the file name,
74714         but it's worth it.
74715
74716         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
74717         change, since Autoconf's version may no longer be appropriate now
74718         that we are using CVS Autoconf's version.  Add support for Tandem.
74719
74720 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74721             Bruno Haible  <bruno@clisp.org>
74722
74723         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
74724         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
74725         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
74726         gl_AC_TYPE_LONG_LONG.
74727
74728         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
74729         instead of HAVE_LONG_LONG.
74730         * lib/printf-args.c (printf_fetchargs): Likewise.
74731         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
74732         * lib/vasnprintf.c (VASNPRINTF): Likewise.
74733         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
74734         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
74735         gl_AC_TYPE_LONG_LONG.
74736
74737 2006-10-11  Bruno Haible  <bruno@clisp.org>
74738
74739         * m4/longlong.m4: Add comments.
74740         * m4/ulonglong.m4: Likewise.
74741
74742 2006-10-10  Bruno Haible  <bruno@clisp.org>
74743
74744         Make it possible to #define stpcpy, strdup to aliases.
74745         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
74746         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
74747
74748 2006-10-10  Bruno Haible  <bruno@clisp.org>
74749
74750         Make it possible to #define gcd to an alias.
74751         * lib/gcd.c: Include config.h.
74752
74753 2006-10-10  Bruno Haible  <bruno@clisp.org>
74754
74755         Make it possible to #define c_isascii to an alias.
74756         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
74757         defined. Undefine the macros before defining them, to avoid gcc
74758         warnings.
74759         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
74760         define NO_C_CTYPE_MACROS early.
74761
74762 2006-10-10  Bruno Haible  <bruno@clisp.org>
74763
74764         Make it possible to #define set_program_name to an alias.
74765         * lib/progname.c: Don't undefine set_program_name; instead, undefine
74766         ENABLE_RELOCATABLE early.
74767
74768 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74769
74770         Port to Tandem NSK OSS, which has 64-bit signed int but at most
74771         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
74772         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
74773         More generally, don't assume that 64-bit signed int is available
74774         if unsigned int is, and vice versa.
74775         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
74776         unsigned symbols, not on their signed counterparts.
74777         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
74778         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
74779         (UINT64_C, UINTMAX_C):
74780         Likewise.
74781         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
74782         unsigned counterparts.
74783         (Have_long_long, Unsigned): New macros.
74784         (Int): Renamed from INT.
74785         (strtoimax): Use the new macros.
74786         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
74787         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
74788         * modules/inttypes (inttypes.h): Substitute
74789         HAVE_UNSIGNED_LONG_LONG_INT.
74790         * modules/stdint (stdint.h): Likewise.
74791         (Files): Add m4/ulonglong.m4.
74792
74793 2006-10-10  Bruno Haible  <bruno@clisp.org>
74794
74795         Fix a gcc -Wshadow warning.
74796         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
74797         to 'bucket'.
74798         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
74799         gl_linked_indexof_from_to): Likewise.
74800         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
74801         Likewise.
74802         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
74803         Likewise.
74804         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
74805         Reported by Eric Blake.
74806
74807 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
74808
74809         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
74810         for NetBSD.  Problem reported by Bruno Haible.
74811
74812 2006-10-09  Jim Meyering  <jim@meyering.net>
74813
74814         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74815         Patch from Bruno Haible.
74816
74817 2006-10-09  Jim Meyering  <jim@meyering.net>
74818
74819         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
74820         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
74821         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
74822
74823 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74824
74825         Don't include <config.h> twice; this doesn't work in some cases,
74826         e.g., when config.h has "#define intmax_t long long int" and
74827         we include <config.h>, <inttypes.h>, <config.h> in that order.
74828         Problem reported by Matthew Woehlke in:
74829         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
74830         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
74831         * lib/fts-cycle.c: Don't include config.h.
74832         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
74833         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
74834         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
74835         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
74836         inttypes.h.
74837         * lib/xstrtoumax.c: Likewise.
74838         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
74839         __strtol and the like, so that this module is more like its siblings.
74840         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
74841         Remove; no longer needed now that we assume gnulib inttypes.h.
74842
74843 2006-10-08  Bruno Haible  <bruno@clisp.org>
74844
74845         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
74846         option.
74847
74848 2006-10-07  Jim Meyering  <jim@meyering.net>
74849
74850         * modules/inttypes (inttypes.h): Revert what seems to have been
74851         an inadvertent part of today's change: use "|", not "/" in the
74852         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
74853
74854 2006-10-07  Bruno Haible  <bruno@clisp.org>
74855
74856         * modules/sublist: New file.
74857
74858 2006-10-07  Bruno Haible  <bruno@clisp.org>
74859
74860         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
74861         * modules/argz (argz.h): Likewise.
74862         * modules/arpa_inet (arpa/inet.h): Likewise.
74863         * modules/byteswap (byteswap.h): Likewise.
74864         * modules/configmake (configmake.h): Likewise.
74865         * modules/fcntl (fcntl.h): Likewise.
74866         * modules/fnmatch (fnmatch.h): Likewise.
74867         * modules/getopt (getopt.h): Likewise.
74868         * modules/glob (glob.h): Likewise.
74869         * modules/inttypes (inttypes.h): Likewise.
74870         * modules/netinet_in (netinet/in.h): Likewise.
74871         * modules/poll (poll.h): Likewise.
74872         * modules/stdbool (stdbool.h): Likewise.
74873         * modules/stdint (stdint.h): Likewise.
74874         * modules/sys_select (sys/select.h): Likewise.
74875         * modules/sys_socket (sys/socket.h): Likewise.
74876         * modules/sys_stat (sys/stat.h): Likewise.
74877         * modules/sysexits (sysexits.h): Likewise.
74878         * modules/unistd (unistd.h): Likewise.
74879         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74880         Add a "DO NOT EDIT" comment to the generated file.
74881         (func_import): Likewise for gnulib-comp.m4.
74882
74883 2006-10-07  Bruno Haible  <bruno@clisp.org>
74884
74885         * lib/gl_sublist.h: New file.
74886         * lib/gl_sublist.c: New file.
74887
74888 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74889
74890         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
74891         name (relative to the original working directory) and the file
74892         name component (relative to the temporary working directory).  All
74893         callers changed.
74894         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
74895         * lib/mkdir-p.c (make_dir_parents): Likewise.
74896         * lib/mkdir-p.h (make_dir_parents): Likewise.
74897
74898 2006-10-06  Eric Blake  <ebb9@byu.net>
74899
74900         Define several macros for use by the clean-temp module.
74901         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
74902         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
74903         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
74904
74905         * lib/clean-temp.h (close_stream_temp): New declaration.
74906         * lib/clean-temp.c (includes): Pull in headers according to what
74907         other modules are in use.
74908         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
74909
74910 2006-10-06  Bruno Haible  <bruno@clisp.org>
74911
74912         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
74913         instead of fopen, fwriteerror.
74914
74915 2006-10-06  Bruno Haible  <bruno@clisp.org>
74916
74917         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
74918         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
74919         int.
74920         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
74921         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
74922         Return an error indicator.
74923         Suggested by Eric Blake.
74924
74925 2006-10-06  Bruno Haible  <bruno@clisp.org>
74926
74927         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
74928         Reported by Eric Blake.
74929
74930 2006-10-06  Bruno Haible  <bruno@clisp.org>
74931
74932         * modules/closeout (Description): Mention stderr too.
74933
74934 2006-10-06  Bruno Haible  <bruno@clisp.org>
74935         and Paul Eggert  <eggert@cs.ucla.edu>
74936
74937         * lib/closeout.c (close_stdout): Also close stderr.
74938         * lib/closeout.h: Update comment.
74939
74940 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74941
74942         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
74943         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
74944         * lib/dirchownmod.c: Include lchown.h.
74945         * lib/lchown.c: Don't include files that lchown.h now includes.
74946         Don't declare chown, since lchown.h now does that.
74947         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
74948         (lchown): Define to rpl_chown if lchown is declared but
74949         does not exist.  Declare using a prototype if lchown is not
74950         declared.  Add a copyright notice.
74951         * lib/mkstemp.h: Include <unistd.h>.
74952         * lib/openat.c: Include lchown.h.
74953
74954         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
74955         we now test for that separately.
74956         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
74957         rather than O_NOFOLLOW, when testing whether it's possible to
74958         avoid a race condition reliably.
74959         * lib/savewd.c (savewd_chdir): Likewise.
74960
74961         Remove macros that are no longer needed now that stdint.h is
74962         reliable.
74963         * lib/fsusage.c (UINTMAX_MAX): Remove.
74964         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
74965         * lib/utimecmp.c (SIZE_MAX): Remove.
74966
74967         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
74968
74969         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
74970         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
74971         O_NOATIME works.
74972
74973 2006-10-05  Bruno Haible  <bruno@clisp.org>
74974
74975         * lib/gl_list.h (gl_sortedlist_search_from_to,
74976         gl_sortedlist_indexof_from_to): New declarations.
74977         (gl_list_implementation): New fields sortedlist_search_from_to,
74978         sortedlist_indexof_from_to.
74979         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
74980         inline functions.
74981         * lib/gl_list.c (gl_sortedlist_search_from_to,
74982         gl_sortedlist_indexof_from_to): New functions.
74983         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
74984         function.
74985         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
74986         (gl_array_sortedlist_search_from_to): New function.
74987         (gl_array_list_implementation): Update.
74988         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
74989         function.
74990         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
74991         (gl_carray_sortedlist_search_from_to): New function.
74992         (gl_carray_list_implementation): Update.
74993         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
74994         gl_linked_sortedlist_indexof_from_to): New functions.
74995         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74996         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74997         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
74998         gl_tree_sortedlist_indexof_from_to): New functions.
74999         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75000         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75001         Update.
75002         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75003         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
75004         Update.
75005
75006 2006-10-05  Bruno Haible  <bruno@clisp.org>
75007
75008         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
75009         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
75010         (struct gl_list_implementation): Add fields search_from_to,
75011         indexof_from_to. Remove fields search, indexof.
75012         (gl_list_search): Use the search_from_to method.
75013         (gl_list_search_from, gl_list_search_from_to): New functions.
75014         (gl_list_indexof): Use the indexof_from_to method.
75015         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75016         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
75017         (gl_list_search_from, gl_list_search_from_to): New functions.
75018         (gl_list_indexof): Use the indexof_from_to method.
75019         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75020         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
75021         gl_array_indexof. Add start_index, end_index arguments.
75022         (gl_array_search_from_to): Renamed from gl_array_search. Add
75023         start_index, end_index arguments.
75024         (gl_array_remove, gl_array_list_implementation): Update.
75025         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
75026         gl_carray_indexof. Add start_index, end_index arguments.
75027         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
75028         start_index, end_index arguments.
75029         (gl_carray_remove, gl_carray_list_implementation): Update.
75030         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
75031         gl_linked_search. Add start_index, end_index arguments.
75032         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
75033         start_index, end_index arguments.
75034         (gl_linked_remove): Update.
75035         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75036         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75037         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
75038         field to 'size_t'.
75039         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
75040         gl_tree_search. Add start_index, end_index arguments.
75041         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75042         start_index, end_index arguments.
75043         (gl_tree_remove): Update.
75044         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75045         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75046         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
75047         function.
75048         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
75049         gl_tree_search. Add start_index, end_index arguments.
75050         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75051         start_index, end_index arguments.
75052         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75053         Update.
75054         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
75055
75056 2006-10-05  Bruno Haible  <bruno@clisp.org>
75057
75058         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
75059
75060         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
75061         fwriteerror_temp): New declarations.
75062         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
75063         (descriptors): New variable.
75064         (cleanup): First, close the descriptors.
75065         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
75066         fclose_temp, fwriteerror_temp): New functions.
75067
75068 2006-10-04  Jim Meyering  <jim@meyering.net>
75069
75070         * lib/fts.c (fts_open): Tiny comment change.
75071
75072 2006-10-04  Bruno Haible  <bruno@clisp.org>
75073
75074         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
75075         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
75076         gl_LOCK_BODY.
75077         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
75078         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
75079         gl_LOCK_EARLY_BODY.
75080         (gl_LOCK): Require gl_LOCK_BODY.
75081
75082 2006-10-04  Bruno Haible  <bruno@clisp.org>
75083
75084         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
75085         (gl_oset_search_atleast): New declaration.
75086         (struct gl_oset_implementation): Add field 'search_atleast'.
75087         (gl_oset_search_atleast): New inline function.
75088         * lib/gl_oset.c (gl_oset_search_atleast): New function.
75089         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
75090         (gl_array_oset_implementation): Update.
75091         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
75092         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
75093         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
75094
75095 2006-10-04  Bruno Haible  <bruno@clisp.org>
75096
75097         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
75098
75099 2006-10-03  Bruno Haible  <bruno@clisp.org>
75100
75101         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
75102         from gl_avltreehash_list_implementation.
75103
75104 2006-10-03  Bruno Haible  <bruno@clisp.org>
75105
75106         * lib/gl_oset.c (gl_oset_add): Fix return type.
75107
75108 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
75109
75110         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
75111
75112 2006-10-02  Eric Blake  <ebb9@byu.net>
75113
75114         * modules/strnlen (Depends-on): Add extensions.
75115
75116 2006-10-02  Eric Blake  <ebb9@byu.net>
75117
75118         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
75119         definition in 2.60+.
75120
75121 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
75122
75123         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
75124         checks.
75125
75126 2006-10-02  Bruno Haible  <bruno@clisp.org>
75127
75128         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
75129         to the AUTOMAKE_OPTIONS.
75130         Reported by Jim Meyering.
75131
75132 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75133
75134         Work around bug in Solaris 10 /proc file system:
75135         /proc/self/fd/NNN/.. isn't the parent directory of
75136         the directory whose file descriptor is NNN.  This needs to
75137         be worked around at run time, not compile time, since a
75138         program might be built on Solaris 8, where things work, and
75139         run on Solaris 10.
75140         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
75141         to use the following interface instead:
75142         (OPENAT_BUFFER_SIZE): New macro.
75143         (openat_proc_name): New function.
75144         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
75145         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
75146         Likewise.
75147         * lib/openat-proc.c: New file.
75148         * modules/openat (Files): Add lib/openat-proc.c.
75149         (Depends-on): Add same-inode, stdbool.
75150         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
75151
75152 2006-09-29  Bruno Haible  <bruno@clisp.org>
75153
75154         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
75155         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
75156         argument. Set stdout_closed before testing for ferror, not after.
75157         (fwriteerror, fwriteerror_no_ebadf): New functions.
75158
75159 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75160
75161         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
75162
75163 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
75164
75165         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
75166         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
75167
75168 2006-09-28  Jim Meyering  <jim@meyering.net>
75169
75170         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
75171         Include <unistd.h>.
75172
75173 2006-09-28  Bruno Haible  <bruno@clisp.org>
75174
75175         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
75176         * modules/linkedhash-list (Depends-on): Likewise.
75177         * modules/rbtreehash-list (Depends-on): Likewise.
75178
75179 2006-09-28  Bruno Haible  <bruno@clisp.org>
75180
75181         * lib/strndup.h: Simplify the redefinition of strndup.
75182         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
75183         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
75184
75185 2006-09-28  Bruno Haible  <bruno@clisp.org>
75186
75187         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
75188         * lib/gl_linkedhash_list.c: Likewise.
75189         * lib/gl_rbtreehash_list.c: Likewise.
75190
75191 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
75192
75193         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
75194         getaddrinfo.
75195
75196         * lib/__fpending.h: Don't include <stdio_ext.h> unless
75197         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
75198         it causes <stdio_ext.h> to cause a compile-time error.
75199         Problem reported by Nelson H. F. Beebe.
75200         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
75201         of HAVE_DECL___PENDING.
75202
75203         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
75204         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
75205         declaration.
75206
75207 2006-09-27  Jim Meyering  <jim@meyering.net>
75208
75209         This file could end up with a definition for a function
75210         named __strndup, rather than rpl_strndup on a system with
75211         incomplete weak_alias support.
75212         * lib/strndup.c (strndup): Rename from __strndup.
75213         Remove #defines that used to map __strndup to strndup.
75214         Don't use K&R prototypes.
75215         Remove LIBC-related code, since this file is not sync'd with glibc.
75216         * lib/strndup.h: Revamp, accordingly.
75217         * m4/strndup.m4: Modernize.
75218
75219 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
75220
75221         * modules/savewd (Depends-on): Add 'raise'.
75222         * lib/savewd.c: Include <signal.h>, for 'raise'.
75223
75224 2006-09-26  Jim Meyering  <jim@meyering.net>
75225
75226         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
75227         when we detect Darwin 8.7.0's acl_get_file bug.
75228         Rearrange to perform the new (below) run-test while $LIBS
75229         contains any acl-related library.  Set USE_ACL at the end.
75230         (gl_ACL_GET_FILE): New function.
75231
75232 2006-09-26  Eric Blake  <ebb9@byu.net>
75233
75234         * lib/verror.c: Include <config.h> unconditionally.
75235
75236 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75237
75238         * modules/clock-time (Maintainer): Add self.
75239         * modules/getlogin_r (Depends-on): Add extensions.
75240
75241 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75242
75243         * modules/clock-time: New module.
75244         * modules/nanosleep (Depends-on): Add clock-time.
75245         * modules/gethrxtime (Depends-on): Likewise.
75246         * modules/gettime (Depends-on): Likewise.
75247         * modules/settime (Depends-on): Likewise.
75248
75249         * modules/fts-lgpl: Depend on openat.
75250         * modules/mkancesdirs: Depend on savewd.
75251         * modules/mkdir-p: Likewise.
75252
75253 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75254
75255         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
75256
75257         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
75258         `gl_have_arbitrary_file_name_length_limit' to
75259         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
75260         actually works between configure runs.
75261
75262 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75263             Bruno Haible  <bruno@clisp.org>
75264
75265         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
75266
75267 2006-09-25  Jim Meyering  <jim@meyering.net>
75268
75269         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
75270         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
75271
75272 2006-09-25  Eric Blake  <ebb9@byu.net>
75273
75274         * gnulib-tool (func_import, func_create_testdir): Fix typos in
75275         exec's in 2006-09-18 patch when shuffling fds.
75276
75277 2006-09-25  Bruno Haible  <bruno@clisp.org>
75278
75279         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
75280         Reported by Jim Meyering.
75281
75282 2006-09-24  Jim Meyering  <jim@meyering.net>
75283
75284         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
75285         compare a pointer against a literal "0".  That caused failures with
75286         at least HP-UX's hpcc.
75287
75288 2006-09-22  Simon Josefsson  <jas@extundo.com>
75289
75290         * modules/gc-sha1:
75291         * modules/gc-md4:
75292         * modules/gc-hmac-sha1:
75293         * modules/gc-hmac-md5:
75294         * modules/gc-des:
75295         * modules/gc-arcfour: Distribute more files.
75296
75297 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75298
75299         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
75300         (gl_linked_iterator_from_to): Initialize struct completely.
75301         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
75302         (gl_tree_iterator_from_to): Likewise
75303         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
75304         * lib/gl_array_list.c [lint] (gl_array_iterator)
75305         (gl_array_iterator_from_to): Likewise.
75306         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
75307         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
75308         (gl_carray_iterator_from_to): Likewise.
75309
75310         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
75311         * lib/md4.c (md4_process_block): Remove unused variable.
75312         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
75313         parentheses for clarity.
75314
75315 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75316
75317         * modules/bison-i18n (Depends-on): Add gettext.
75318
75319 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75320
75321         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
75322         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
75323         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
75324         also add missing comma that caused broken test.
75325         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
75326         stdlib.h, for `abort'.
75327         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
75328         variables.
75329         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
75330         include unistd.h if present, for `rmdir'.
75331         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
75332         variables.
75333         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
75334         in the process include standard headers for prototypes.
75335         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
75336         gets declared on GNU/Linux.
75337         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
75338         unistd.h, for `rmdir'.
75339         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
75340
75341         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
75342         always true.
75343         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
75344
75345         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
75346
75347 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75348
75349         * gnulib-tool (func_version): Create output all at once.  This
75350         may help avoid triggering unnecessary SIGPIPEs, and at any
75351         rate it doesn't hurt.
75352
75353 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75354             Bruno Haible  <bruno@clisp.org>
75355
75356         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
75357         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75358         * m4/signed.m4 (bh_C_SIGNED): Likewise.
75359
75360         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
75361         (gl_FUNC_VASPRINTF): Invoke it.
75362
75363 2006-09-22  Bruno Haible  <bruno@clisp.org>
75364
75365         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
75366         getloadavg.c as first argument.
75367
75368 2006-09-22  Bruno Haible  <bruno@clisp.org>
75369
75370         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
75371         at the beginning of the gl_INIT macro.
75372         * modules/getloadavg (configure.ac): Pass $gl_source_base to
75373         gl_GETLOADAVG.
75374
75375 2006-09-22  Bruno Haible  <bruno@clisp.org>
75376
75377         * gnulib-tool (func_create_megatestdir): Don't include the config-h
75378         module.
75379         Suggested by Ralf Wildenhues.
75380
75381 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75382
75383         Import this patch from libc:
75384
75385         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
75386
75387         * lib/regex_internal.c (re_string_reconstruct): Handle
75388         offset < pstr->valid_raw_len && pstr->offsets_needed case.
75389         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
75390         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
75391         re_string_context_at.
75392
75393         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
75394         now requires it.
75395         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
75396         gl_REGEX now does it for us.
75397         (gl_REGEX): Add test taken from
75398         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
75399
75400         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
75401         Check that large offsets work.  Modernize Autoconf usages.
75402         Prefer "yes" to mean a good thing rather than a bad.
75403         Don't put "#define mkstemp" in config.h, as this might interfere
75404         with standard system headers that "#define mkstemp mkstemp64".
75405
75406         * modules/mkstemp (Depends-on): Add extensions, so that
75407         mkstemp is visible on some platforms.
75408         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
75409         (Include): Change to "mkstemp.h" from <stdlib.h>.
75410         (Files): Add mkstemp.h.
75411
75412         * lib/mkstemp.h: New file, since some standard headers
75413         #define mkstemp.
75414         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
75415         Include "mkstemp.h".
75416         Make the _LIBC code resemble glibc original more,
75417         e.g., use K&R style.
75418         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
75419         (mkstemp): Remove, since mkstemp.h does this for us.
75420         * lib/stdlib--.h: Include mkstemp.h.
75421
75422         Import this patch from libc:
75423
75424         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75425
75426         * lib/tempname.c (__gen_tempname): Change attempts_min
75427         into a macro.  Use preprocessor to decide how to initialize
75428         attempts [Coverity CID 67].
75429
75430 2006-09-20  Bruno Haible  <bruno@clisp.org>
75431
75432         * lib/mkdtemp.c: Import from libc.
75433         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75434                 * sysdeps/posix/tempname.c (__gen_tempname): Change
75435                 attempts_min into a macro.  Use preprocessor to decide how to
75436                 initialize attempts [Coverity CID 67].
75437         2001-11-27  Paul Eggert  <eggert@twinsun.com>
75438                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
75439                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
75440
75441 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75442
75443         * gnulib-tool (func_exit): New function, to allow to pass the
75444         exit status portably through the trap.  Use everywhere.
75445         (--help, --version): Signal a write error.
75446         (trap): catch SIGPIPE, for write errors.
75447         Exit at the end of the trap, with the correct exit status.
75448
75449 2006-09-19  Karl Berry  <karl@gnu.org>
75450
75451         * doc/gnulib.texi: note about the license texinfo files.
75452
75453 2006-09-19  Eric Blake  <ebb9@byu.net>
75454
75455         * gnulib-tool: Avoid space-tab.
75456
75457 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75458
75459         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
75460         that prevented coreutils 6.1 from building.  Problem reported
75461         by Petter Reinholdtsen.
75462
75463 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75464
75465         * gnulib-tool (avoidlist): Fix typo that broke options like
75466         --avoid=lock that are used by coreutils bootstrap.
75467
75468 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
75469
75470         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
75471         more systematically.
75472
75473 2006-09-18  Jim Meyering  <jim@meyering.net>
75474
75475         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
75476
75477 2006-09-18  Bruno Haible  <bruno@clisp.org>
75478
75479         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
75480
75481 2006-09-18  Bruno Haible  <bruno@clisp.org>
75482
75483         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
75484         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
75485         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
75486         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
75487         * m4/gettext.m4: Require autoconf >= 2.52.
75488         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
75489         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
75490         of gl_cv_header_inttypes_h.
75491
75492 2006-09-18  Bruno Haible  <bruno@clisp.org>
75493
75494         * lib/javaversion.c: Include configmake.h.
75495
75496 2006-09-18  Bruno Haible  <bruno@clisp.org>
75497
75498         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
75499         avoid that the while loops be executed in a subshell.
75500
75501 2006-09-18  Bruno Haible  <bruno@clisp.org>
75502
75503         * MODULES.html.sh (func_module): Break long lines.
75504         Suggested by Bruce Korb <bkorb@gnu.org>.
75505
75506 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75507
75508         Speed up by a factor of 1.12.
75509         * gnulib-tool (nl): New variable.
75510         (func_import): Rewrite include directive extraction to only read each
75511         directive once.
75512
75513 2006-09-17  Bruno Haible  <bruno@clisp.org>
75514
75515         * modules/javaversion (Makefile.am): Remove DEFS setting.
75516         (Depends-on): Add configmake, for PKGDATADIR definition.
75517
75518 2006-09-17  Bruno Haible  <bruno@clisp.org>
75519
75520         * gnulib-tool (func_create_testdir): Rewrite all files at once.
75521
75522 2006-09-17  Bruno Haible  <bruno@clisp.org>
75523
75524         * gnulib-tool (func_append): New function, stolen from libtool.m4.
75525         (func_modules_transitive_closure, func_modules_add_dummy,
75526         func_modules_to_filelist, func_import, func_create_testdir,
75527         func_create_megatestdir, ...): Use it wherever possible.
75528         Suggested by Ralf Wildenhues.
75529
75530 2006-09-16  Karl Berry  <karl@gnu.org>
75531
75532         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
75533         to avoid sectioning errors.
75534         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
75535         [ifinfo]: blank line after @center-ed titles.
75536         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
75537         Spell FSF address consistently with others.
75538         (These changes approved by rms.)
75539
75540 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75541
75542         Speed up by a factor of 1.61.
75543         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
75544         already checked module names again.
75545
75546 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75547
75548         Speed up by a factor of 1.13.
75549         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
75550         for new_files, and the input to func_add_or_update.
75551
75552 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75553
75554         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
75555         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
75556
75557 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75558
75559         * modules/mkancesdirs (Depends-on): Add fcntl.
75560         * modules/savewd: New file.
75561         * MODULES.html.sh (File system functions): Add savewd.
75562
75563         * modules/configmake (Makefile.am): Add support for the
75564         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
75565
75566 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75567
75568         * m4/savewd.m4: New file.
75569
75570 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75571
75572         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
75573         (dirchownmod): New arg FD.  All callers changed.
75574         Use FD rather than opening the directory ourself, as opening is
75575         now the caller's responsibility.
75576         * lib/dirchownmod.h: Likewise.
75577         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
75578         hosts that require <sys/types.h> before <sys/stat.h>.  Include
75579         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
75580         (test_dir): Remove.
75581         (mkancesdirs): Return length of prefix of FILE that has already
75582         been made, or -2 if there is a child doing the work.  Redo
75583         algorithm so that it is O(N) rather than O(N**2).  Optimize away
75584         ".", and treat ".." specially since it might stray back into
75585         already-created areas.  Use a subprocess if necessary.  New arg
75586         WD; all users changed.  MAKE_DIR function should now return 1
75587         if it creates a directory that is not readable.  Return -2 if
75588         a child process is spun off.
75589         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
75590         Adjust signature to match code.
75591         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
75592         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
75593         all users changed.
75594         * lib/savewd.c, lib/savewd.h: New files.
75595
75596 2006-09-15  Jim Meyering  <jim@meyering.net>
75597
75598         * modules/rename-dest-slash: New module.
75599         * MODULES.html.sh (posix_compat): Add it here.
75600
75601         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
75602
75603 2006-09-15  Jim Meyering  <jim@meyering.net>
75604
75605         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
75606         file.
75607
75608         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
75609
75610 2006-09-15  Jim Meyering  <jim@meyering.net>
75611
75612         * lib/rename-dest-slash.c (has_trailing_slash): Use
75613         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
75614         (rpl_rename_dest_slash): Perform the cheaper trailing slash
75615         test before testing whether SRC is a directory.
75616         Suggestions from Bruno Haible.
75617
75618         Avoid a warning about an unused variable.
75619         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
75620         into the #ifdef block where it's used.
75621
75622         * lib/rename-dest-slash.c: New file.
75623
75624 2006-09-14  Bruno Haible  <bruno@clisp.org>
75625
75626         * lib/allocsa.c: Include <config.h> unconditionally.
75627         * lib/asnprintf.c: Likewise.
75628         * lib/asprintf.c: Likewise.
75629         * lib/c-strcasecmp.c: Likewise.
75630         * lib/c-strcasestr.c: Likewise.
75631         * lib/c-strncasecmp.c: Likewise.
75632         * lib/c-strstr.c: Likewise.
75633         * lib/classpath.c: Likewise.
75634         * lib/clean-temp.c: Likewise.
75635         * lib/concatpath.c: Likewise.
75636         * lib/copy-file.c: Likewise.
75637         * lib/csharpcomp.c: Likewise.
75638         * lib/csharpexec.c: Likewise.
75639         * lib/execute.c: Likewise.
75640         * lib/fatal-signal.c: Likewise.
75641         * lib/findprog.c: Likewise.
75642         * lib/fwriteerror.c: Likewise.
75643         * lib/gl_array_list.c: Likewise.
75644         * lib/gl_array_oset.c: Likewise.
75645         * lib/gl_avltree_list.c: Likewise.
75646         * lib/gl_avltree_oset.c: Likewise.
75647         * lib/gl_avltreehash_list.c: Likewise.
75648         * lib/gl_carray_list.c: Likewise.
75649         * lib/gl_linked_list.c: Likewise.
75650         * lib/gl_linkedhash_list.c: Likewise.
75651         * lib/gl_list.c: Likewise.
75652         * lib/gl_oset.c: Likewise.
75653         * lib/gl_rbtree_list.c: Likewise.
75654         * lib/gl_rbtree_oset.c: Likewise.
75655         * lib/gl_rbtreehash_list.c: Likewise.
75656         * lib/imaxabs.c: Likewise.
75657         * lib/imaxdiv.c: Likewise.
75658         * lib/javacomp.c: Likewise.
75659         * lib/javaexec.c: Likewise.
75660         * lib/javaversion.c: Likewise.
75661         * lib/linebreak.c: Likewise.
75662         * lib/localcharset.c: Likewise.
75663         * lib/lock.c: Likewise.
75664         * lib/mbchar.c: Likewise.
75665         * lib/mbswidth.c: Likewise.
75666         * lib/mkdtemp.c: Likewise.
75667         * lib/pipe.c: Likewise.
75668         * lib/printf-args.c: Likewise.
75669         * lib/printf-parse.c: Likewise.
75670         * lib/progname.c: Likewise.
75671         * lib/progreloc.c: Likewise.
75672         * lib/readlink.c: Likewise.
75673         * lib/sh-quote.c: Likewise.
75674         * lib/stpcpy.c: Likewise.
75675         * lib/stpncpy.c: Likewise.
75676         * lib/strcasecmp.c: Likewise.
75677         * lib/strcasestr.c: Likewise.
75678         * lib/strcspn.c: Likewise.
75679         * lib/striconv.c: Likewise.
75680         * lib/strncasecmp.c: Likewise.
75681         * lib/strnlen1.c: Likewise.
75682         * lib/strstr.c: Likewise.
75683         * lib/strtok_r.c: Likewise.
75684         * lib/tls.c: Likewise.
75685         * lib/tmpdir.c: Likewise.
75686         * lib/unicodeio.c: Likewise.
75687         * lib/unsetenv.c: Likewise.
75688         * lib/vasnprintf.c: Likewise.
75689         * lib/vasprintf.c: Likewise.
75690         * lib/wait-process.c: Likewise.
75691         * lib/xallocsa.c: Likewise.
75692         * lib/xsetenv.c: Likewise.
75693         * lib/xstriconv.c: Likewise.
75694
75695 2006-09-13  Simon Josefsson  <jas@extundo.com>
75696
75697         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
75698         that internally, suggested by Ralf Wildenhues
75699         <Ralf.Wildenhues@gmx.de>.
75700
75701 2006-09-13  Simon Josefsson  <jas@extundo.com>
75702
75703         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
75704         @LIBOBJS@.
75705         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75706
75707 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75708
75709         * lib/_fpending.c: Include <config.h> unconditionally, since we no
75710         longer worry about uses that don't define HAVE_CONFIG_H.
75711         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
75712         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
75713         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
75714         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
75715         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
75716         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
75717         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
75718         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
75719         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
75720         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
75721         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
75722         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
75723         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
75724         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
75725         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
75726         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
75727         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
75728         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
75729         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
75730         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
75731         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
75732         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
75733         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
75734         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
75735         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
75736         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
75737         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
75738         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
75739         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
75740         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
75741         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
75742         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
75743         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
75744         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
75745         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
75746         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
75747         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
75748         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
75749         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
75750         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
75751         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
75752         Likewise.
75753
75754 2006-09-13  Eric Blake  <ebb9@byu.net>
75755
75756         * lib/getopt.c: Fix typo in last commit.
75757
75758 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75759
75760         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
75761         dgettext.
75762
75763 2006-09-12  Jim Meyering  <jim@meyering.net>
75764
75765         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
75766         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
75767         Reported by Nelson H. F. Beebe.
75768
75769 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75770
75771         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
75772         program_invocation_name and program_invocation_short_name are
75773         initialized.
75774         * lib/argp-namefrob.h: Move declarations of program_invocation_name
75775         and program_invocation_short_name to argp.h, so they are visible
75776         to user programs.
75777         * lib/argp.h: Likewise
75778
75779 2006-09-10  Bruno Haible  <bruno@clisp.org>
75780
75781         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75782         m4/inttypes_h.m4, m4/uintmax_t.m4.
75783
75784 2006-09-10  Bruno Haible  <bruno@clisp.org>
75785
75786         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
75787         gl_AC_TYPE_UINTMAX_T.
75788
75789 2006-09-10  Bruno Haible  <bruno@clisp.org>
75790
75791         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
75792
75793 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75794
75795         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
75796         convention.  Text proposed by Bruno Haible.
75797         (struct argp_option): Document the use of N_() wrappers.
75798
75799         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
75800         '\v', and translate the two parts separately, instead of feeding
75801         the whole string to gettext.  This allows to exclude
75802         '\v' from the strings visible to the translator by writing doc
75803         strings as N_("..") "\v" N_("..").
75804
75805 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
75806
75807         * config/srclist.txt: Undo latest change; the bug was fixed.
75808
75809 2006-09-09  Bruno Haible  <bruno@clisp.org>
75810
75811         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
75812         assignments if building a library without libtool.
75813         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
75814         in func_emit_lib_Makefile_am.
75815         (func_import): When building a static library libfoo.a, arrange to
75816         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
75817         (func_create_testdir): Likewise.
75818         * modules/gc (configure.ac, Makefile.am): If building statically,
75819         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
75820         * modules/iconvme (configure.ac, Makefile.am): Likewise.
75821         * modules/striconv (configure.ac, Makefile.am): Likewise.
75822         Based on a suggestion by Ralf Wildenhues.
75823
75824 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75825
75826         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75827         Check for unistd.h too, since Autoconf doesn't assume POSIX.
75828         Also:
75829
75830         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75831         Add year_2050_test to catch glibc bug 2821
75832         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75833
75834         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75835         Prefer #ifdef to #if.
75836
75837         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
75838         Return from 'main' instead of calling 'exit'.
75839
75840 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75841
75842         * lib/mktime.c (guess_time_tm): Fix bug where mktime
75843         returned the maximum time_t value rather than (time_t) -1.
75844         Problem originally reported by William Bardwell
75845         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75846
75847         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75848         Moved to here ...
75849         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75850         ... from here.
75851
75852 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75853
75854         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
75855         2821 is fixed.
75856
75857 2006-09-08  Jim Meyering  <jim@meyering.net>
75858
75859         Don't make generated files read-only.  That would bother too many
75860         people.  However, do retain the ability to work when targets are
75861         read-only: remove the destination and temporary files before writing
75862         them (when generated via sed or echo), or by using the -f option for
75863         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
75864         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75865         * modules/byteswap, modules/configmake, modules/fcntl:
75866         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75867         * modules/localcharset, modules/netinet_in, modules/poll:
75868         * modules/stdbool, modules/stdint, modules/sys_select:
75869         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75870
75871 2006-09-08  Jim Meyering  <jim@meyering.net>
75872
75873         Avoid new build failure on FreeBSD 6.0.
75874         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
75875         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
75876         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
75877
75878 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75879
75880         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
75881
75882 2006-09-07  Jim Meyering  <jim@meyering.net>
75883
75884         Fix global typo in last change: use chmod u-w, not chmod u-x.
75885         Spotted by Paul Eggert and Bruce Korb.
75886         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75887         * modules/byteswap, modules/configmake, modules/fcntl:
75888         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75889         * modules/localcharset, modules/netinet_in, modules/poll:
75890         * modules/stdbool, modules/stdint, modules/sys_select:
75891         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75892
75893 2006-09-06  Jim Meyering  <jim@meyering.net>
75894
75895         Make generated files be read-only.
75896         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
75897         Ensure that each generated file is now read-only.
75898         * modules/argz: Likewise.
75899         * modules/arpa_inet: Likewise.
75900         * modules/byteswap: Likewise.
75901         * modules/configmake: Likewise.
75902         * modules/fcntl: Likewise.
75903         * modules/fnmatch: Likewise.
75904         * modules/getopt: Likewise.
75905         * modules/glob: Likewise.
75906         * modules/inttypes: Likewise.
75907         * modules/netinet_in: Likewise.
75908         * modules/poll: Likewise.
75909         * modules/stdbool: Likewise.
75910         * modules/stdint: Likewise.
75911         * modules/sys_select: Likewise.
75912         * modules/sys_socket: Likewise.
75913         * modules/sys_stat: Likewise.
75914         * modules/sysexits: Likewise.
75915         * modules/localcharset: Same as above, but continue using temporary
75916         file named "t-$@" (why different?) rather than the "$@-t" used
75917         everywhere else.
75918
75919         * modules/sysexits (Makefile.am): Replace literal occurrences
75920         of "sysexit.h" more readable, and more consistent, "$@".
75921
75922 2006-09-06  Bruno Haible  <bruno@clisp.org>
75923
75924         * modules/striconv: New file.
75925         * modules/xstriconv: New file.
75926         * MODULES.html.sh (Internationalization functions): Add striconv,
75927         xstriconv.
75928
75929 2006-09-06  Bruno Haible  <bruno@clisp.org>
75930
75931         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
75932         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
75933         not using libtool correctly.
75934
75935 2006-09-06  Bruno Haible  <bruno@clisp.org>
75936
75937         * lib/striconv.h: New file.
75938         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
75939         iconvstring.c.
75940         * lib/xstriconv.h: New file.
75941         * lib/xstriconv.c: New file.
75942
75943 2006-09-06  Bruno Haible  <bruno@clisp.org>
75944
75945         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75946         lib_..._LDFLAGS.
75947
75948 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75949
75950         * lib/argz_.h: Sync from Libtool.
75951
75952         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
75953                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75954
75955         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
75956
75957 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75958
75959         * modules/trim: New file.
75960
75961 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75962
75963         * lib/trim.h: New file.
75964         * lib/trim.c: New file.
75965
75966 2006-09-05  Bruno Haible  <bruno@clisp.org>
75967
75968         * MODULES.html.sh (String handling): Add trim.
75969
75970 2006-09-04  Karl Berry  <karl@gnu.org>
75971
75972         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
75973         until next release.
75974
75975 2006-09-03  Bruno Haible  <bruno@clisp.org>
75976
75977         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
75978         correctly.
75979
75980 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75981
75982         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
75983         not gl_GETLOADAVG.  Omit unneeded semicolons.
75984         Problems reported by Ralf Wildenhues in
75985         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75986         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
75987         at the end, which is the usual gnulib style.
75988
75989         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
75990         of doing all the work ourselves.
75991         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
75992         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
75993
75994 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75995
75996         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
75997         Problem reported by Ralf Wildenhues in
75998         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75999
76000         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
76001         HAVE_STRUCT_STATFS_F_FSTYPENAME.
76002
76003 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76004
76005         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
76006         yesterday's patch by changing test -n to test -z.
76007
76008 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76009
76010         * modules/getloadavg (Files): Add m4/getloadavg.m4.
76011         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
76012         the former is now obsolescent.
76013
76014         * modules/chdir-long (Depends-on): Add fcntl.
76015
76016 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76017
76018         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
76019         obsolescent, and programs should use gnulib instead.
76020         * m4/getloadavg.m4: New file, with contents taken from Autoconf
76021         but with prefixes changed.
76022
76023 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76024
76025         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
76026         or stdbool.h, because they might not exist while configuring.
76027
76028         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
76029         Don't include unistd.h or limits.h; not needed, since chdir-long.h
76030         does that for us.
76031         (O_DIRECTORY): Remove.
76032
76033 2006-08-31  Eric Blake  <ebb9@byu.net>
76034
76035         * gnulib-tool: Don't let emacs change spaces to TAB.
76036
76037 2006-08-31  Bruno Haible  <bruno@clisp.org>
76038
76039         * gnulib-tool: When calling func_import more than once, do it in a
76040         subshell.
76041         Reported by Eric Blake <ebb9@byu.net>.
76042
76043 2006-08-31  Bruno Haible  <bruno@clisp.org>
76044
76045         * gnulib-tool (nl): Remove variable.
76046         (sed_transform_lib_file): Use more robust test for config-h module.
76047         (func_import): Fix typo in 2006-08-25 patch.
76048
76049 2006-08-31  Bruno Haible  <bruno@clisp.org>
76050
76051         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
76052         specified, augment Makefile.am variables instead of assigning them.
76053
76054 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76055
76056         Work around a bug in both the Linux and SunOS 64-bit kernels:
76057         nanosleep mishandles sleeps for longer than 2**31 seconds.
76058         Problem reported by Frank v Waveren in
76059         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
76061         Check for nanosleep bug.
76062         (LIB_NANOSLEEP): Append clock_gettime library if needed.
76063
76064 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76065
76066         Work around a bug in both the Linux and SunOS 64-bit kernels:
76067         nanosleep mishandles sleeps for longer than 2**31 seconds.
76068         Problem reported by Frank v Waveren in
76069         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76070         * lib/nanosleep.c (BILLION): New constant.
76071         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
76072         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
76073         implementation.
76074
76075 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76076
76077         * modules/nanosleep (Depends-on): Add gettime.
76078
76079 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76080         and Simon Josefsson  <jas@extundo.com>
76081         and Oskar Liljeblad  <oskar@osk.mine.nu>
76082
76083         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
76084         * gnulib-tool (func_import): New license type 'unmodifiable license
76085         text'.
76086         * modules/fdl: Use it.  Longer description.
76087         * module/gpl, module/lgpl: New files.
76088
76089 2006-08-30  Jim Meyering  <jim@meyering.net>
76090
76091         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
76092         shadowing the parameter.
76093
76094 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76095
76096         Sync from Libtool:
76097
76098         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76099
76100         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
76101         sharing with gnulib.  Report by Eric Blake.
76102
76103 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76104
76105         * modules/isapipe: New file.
76106         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
76107
76108 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76109
76110         * modules/configmake (Makefile.am): Add a comment, and omit
76111         the CONFIGMAKE_ prefix from generated macro names.  Suggested
76112         by Bruno Haible.
76113
76114 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76115
76116         * m4/isapipe.m4: New file.
76117
76118 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76119
76120         * lib/isapipe.c, lib/isapipe.h: New files.
76121
76122 2006-08-29  Jim Meyering  <jim@meyering.net>
76123
76124         * modules/configmake (Makefile.am): Make configmake.h depend on
76125         Makefile.  Otherwise, a stale configmake.h could hang around.
76126
76127 2006-08-29  Eric Blake  <ebb9@byu.net>
76128
76129         * lib/error.c (error_at_line, print_errno_message): Match libc, after
76130         resolution of upstream bug 3044.
76131
76132 2006-08-29  Bruno Haible  <bruno@clisp.org>
76133
76134         * modules/localcharset (Depends-on): Add configmake.
76135         (Makefile.am): Remove setting of LIBDIR through DEFS.
76136
76137 2006-08-29  Bruno Haible  <bruno@clisp.org>
76138
76139         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
76140         defined.
76141
76142 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76143
76144         * modules/fcntl: New file.
76145         * modules/chdir-safer (Depends-on): Add fcntl.
76146         * modules/fts: Likewise.
76147         * modules/mkdir-p: Likewise.
76148
76149         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
76150         This undoes the most recent change, since we're now addressing the
76151         problem in a different way.
76152
76153         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
76154         into output, since the output might be called Makefile.am even
76155         if $makefile_name is something different.
76156         (func_import): Use $makefile_am rather than
76157         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
76158         empty.
76159
76160         * modules/inttypes (Files): Add m4/inttypes-h.m4.
76161
76162 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76163
76164         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
76165         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
76166         recent change to stdint.m4, since we're now addressing the problem in a
76167         different way.
76168
76169 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76170
76171         * m4/fcntl_h.m4: New file.
76172
76173 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76174
76175         * lib/fcntl_.h: New file.
76176         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
76177         the fcntl module.
76178         * lib/dirchownmod.c: Likewise.
76179         * lib/fts.c: Likewise.
76180
76181         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
76182         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
76183         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
76184         just before including <inttypes.h>, to avoid circular inclusion.
76185
76186 2006-08-28  Jim Meyering  <jim@meyering.net>
76187
76188         * doc/visibility.texi: Actually read and correct the grammar of the
76189         sentence affected by yesterday's change.
76190
76191 2006-08-28  Eric Blake  <ebb9@byu.net>
76192
76193         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
76194         needs wrapper.
76195
76196 2006-08-28  Eric Blake  <ebb9@byu.net>
76197
76198         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
76199
76200 2006-08-28  Eric Blake  <ebb9@byu.net>
76201
76202         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
76203
76204 2006-08-28  Bruno Haible  <bruno@clisp.org>
76205
76206         * modules/c-strstr: New file, from GNU gettext.
76207         * MODULES.html.sh (String handling): Add c-strstr.
76208
76209 2006-08-28  Bruno Haible  <bruno@clisp.org>
76210
76211         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
76212         macros.
76213         Reported by Eric Blake.
76214
76215 2006-08-28  Bruno Haible  <bruno@clisp.org>
76216
76217         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
76218         (VASNPRINTF): Return a string of length > INT_MAX without failing.
76219         * lib/vasprintf.c: Include errno.h, limits.h.
76220         (EOVERFLOW): New fallback definition.
76221         (vasprintf): Test here whether the string length is > INT_MAX.
76222         * lib/vsnprintf.c: Include errno.h, limits.h.
76223         (EOVERFLOW): New fallback definition.
76224         (vsnprintf): Fix bug when generated string was too long for the buffer.
76225         Test here whether the string length is > INT_MAX.
76226
76227 2006-08-28  Bruno Haible  <bruno@clisp.org>
76228
76229         * lib/inttypes_.h (SCNX*): Remove definitions.
76230         Reported by Eric Blake.
76231
76232 2006-08-28  Bruno Haible  <bruno@clisp.org>
76233
76234         * lib/c-strstr.h: New file, from GNU gettext.
76235         * lib/c-strstr.c: New file, from GNU gettext.
76236
76237 2006-08-28  Bruno Haible  <bruno@clisp.org>
76238
76239         * gnulib-tool: Reorder some statements.
76240
76241 2006-08-28  Bruno Haible  <bruno@clisp.org>
76242
76243         * gnulib-tool: New option --makefile-name.
76244         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
76245         $makefile_name.
76246         (func_import): Write $makefile_name to the cache file, and read it from
76247         there unless explicitly specified. Use $makefile_name as file name
76248         instead of Makefile.am. Adjust the recommendations accordingly.
76249
76250 2006-08-28  Bruno Haible  <bruno@clisp.org>
76251
76252         * gnulib-tool (func_verify_module): Check against misapplying patch.
76253
76254 2006-08-28  Bruno Haible  <bruno@clisp.org>
76255
76256         * gnulib-tool (func_relativize, func_relconcat): New functions.
76257         Give an error if --local-dir is given with --update.
76258         Remove trailing slashes from $local_gnulib_dir.
76259         (func_import): Store the relativized $local_gnulib_dir in
76260         gnulib-cache.m4, and read it from there if not specified explicitly.
76261
76262 2006-08-28  Bruno Haible  <bruno@clisp.org>
76263
76264         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
76265         is the current directory. Respect also $local_gnulib_dir.
76266
76267 2006-08-28  Bruno Haible  <bruno@clisp.org>
76268             Simon Josefsson  <jas@extundo.com>
76269
76270         BeOS portability.
76271         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
76272
76273 2006-08-27  Jim Meyering  <jim@meyering.net>
76274
76275         * doc/visibility.texi: Remove duplicate word: "pointer".
76276
76277 2006-08-26  Bruno Haible  <bruno@clisp.org>
76278
76279         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
76280         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
76281         (Makefile.am): Create inttypes.h from inttypes_.h.
76282         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
76283
76284         * modules/imaxabs: New file.
76285
76286         * modules/imaxdiv: New file.
76287
76288 2006-08-26  Bruno Haible  <bruno@clisp.org>
76289
76290         * m4/inttypes.m4: New file.
76291         * m4/_inttypes_h.m4: Remove file.
76292         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
76293         PRI_MACROS_BROKEN.
76294         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
76295
76296         * m4/imaxabs.m4: New file.
76297
76298         * m4/imaxdiv.m4: New file.
76299
76300 2006-08-26  Bruno Haible  <bruno@clisp.org>
76301
76302         * lib/inttypes_.h: New file.
76303         * lib/inttypes.h: Remove file.
76304         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
76305
76306         * lib/imaxabs.c: New file.
76307
76308         * lib/imaxdiv.c: New file.
76309
76310 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76311
76312         New config-h module, so that "make" output needn't be cluttered
76313         by -DHAVE_CONFIG_H.
76314         * MODULES.html.sh (Support for building libraries and executables):
76315         Add config-h.
76316         * modules/config-h: New file.
76317         * gnulib-tool (nl, sed_transform_lib_file): New vars.
76318         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
76319         the config-h module is used.
76320
76321         New configmake module, so that "make" output needn't be cluttered
76322         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
76323         * MODULES.html.sh (Support for building libraries and executables):
76324         Add configmake.
76325         * modules/configmake: New file.
76326
76327 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76328
76329         * m4/config-h.m4: New file.
76330
76331 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76332
76333         * config/srclist.txt: Add elisp-comp.
76334
76335 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76336
76337         * MODULES.html.sh (Support for building libraries and executables):
76338         Add elisp-comp.
76339         * build-aux/elisp-comp: New file.
76340         * modules/elisp-comp: New file.
76341
76342 2006-08-24  Bruno Haible  <bruno@clisp.org>
76343
76344         * gnulib-tool (func_create_testdir): Use non-default values of
76345         sourcebase and m4base.
76346
76347 2006-08-24  Bruno Haible  <bruno@clisp.org>
76348
76349         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
76350         HTML structure.
76351
76352 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76353
76354         * modules/openat (Depends-on): Add lchown.
76355
76356 2006-08-23  Bruno Haible  <bruno@clisp.org>
76357
76358         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
76359         of gl_LOCK_EARLY instead of gl_LOCK.
76360
76361 2006-08-23  Bruno Haible  <bruno@clisp.org>
76362
76363         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
76364         on OSF/1 to no.
76365         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
76366
76367 2006-08-23  Bruno Haible  <bruno@clisp.org>
76368
76369         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
76370         as unusable.
76371
76372         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
76373         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
76374         (gl_LOCK): New macro.
76375
76376 2006-08-22  Simon Josefsson  <jas@extundo.com>
76377
76378         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
76379         to md5 module.
76380
76381 2006-08-22  Simon Josefsson  <jas@extundo.com>
76382
76383         * MODULES.html.sh: Add "Support for maintaining and release
76384         projects".
76385
76386         * build-aux/gnupload: New file, from coreutils.
76387
76388 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76389
76390         Avoid the need for AC_LIBSOURCES in m4 macros.
76391         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
76392         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
76393         * modules/check-version (EXTRA_DIST): Add check-version.h.
76394         * modules/crc (EXTRA_DIST): Add crc.h.
76395         * modules/des (EXTRA_DIST): Add des.h.
76396         * modules/gc (EXTRA_DIST): Add gc.h.
76397         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
76398         * modules/getline (EXTRA_DIST): Add getline.h.
76399         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
76400         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
76401         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
76402         * modules/md2 (EXTRA_DIST): Add md2.h.
76403         * modules/md4 (EXTRA_DIST): Add md4.h.
76404         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
76405         * modules/read-file (EXTRA_DIST): Add read-file.h.
76406         * modules/readline (EXTRA_DIST): Add readline.h.
76407         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
76408         rijndael-api-fst.h.
76409
76410 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76411
76412         * m4/rijndael.m4 (gl_ARCFOUR):
76413         * m4/arctwo.m4 (gl_ARCTWO):
76414         * m4/check-version.m4 (gl_CHECK_VERSION):
76415         * m4/crc.m4 (gl_CRC):
76416         * m4/des.m4 (gl_DES):
76417         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
76418         * m4/gc.m4 (gl_GC):
76419         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
76420         * m4/getline.m4 (gl_FUNC_GETLINE):
76421         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
76422         * m4/hmac-md5.m4 (gl_HMAC_MD5):
76423         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
76424         * m4/md2.m4 (gl_MD2):
76425         * m4/md4.m4 (gl_MD4):
76426         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
76427         * m4/read-file.m4 (gl_FUNC_READ_FILE):
76428         * m4/readline.m4 (gl_FUNC_READLINE):
76429         * m4/rijndael.m4 (gl_RIJNDAEL):
76430         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76431         to get the necessary .h files and whatnot.
76432
76433 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76434
76435         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
76436         gnulib rather than the other way around.
76437         * config/srclistvars.sh (COREUTILS): Remove.
76438
76439 2006-08-22  Jim Meyering  <jim@meyering.net>
76440
76441         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
76442
76443         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
76444
76445 2006-08-22  Eric Blake  <ebb9@byu.net>
76446
76447         * modules/regexprops-generic: New file.
76448         * MODULES.html.sh (Support for building documentation): List it.
76449
76450 2006-08-22  Eric Blake  <ebb9@byu.net>
76451
76452         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
76453         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
76454         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
76455         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
76456
76457 2006-08-22  Bruno Haible  <bruno@clisp.org>
76458
76459         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
76460         and lib_LTLIBRARIES like the other lib_* variables.
76461
76462 2006-08-22  Bruno Haible  <bruno@clisp.org>
76463
76464         * build-aux/x-to-1.in: New file, from GNU gettext.
76465
76466 2006-08-22  Bruno Haible  <bruno@clisp.org>
76467
76468         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
76469         <utmpx.h> exists.
76470
76471 2006-08-22  Bruno Haible  <bruno@clisp.org>
76472
76473         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
76474         <utmpx.h> exists.
76475
76476 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76477
76478         BeOS portability.
76479         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
76480         exist.
76481         Problem reported by Bruno Haible.
76482
76483 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76484
76485         Avoid the need for AC_LIBSOURCES in m4 macros.
76486         * modules/acl (EXTRA_DIST): Add acl.h.
76487         * modules/argmatch (Files): Add m4/argmatch.m4.
76488         (configure.ac): Add gl_ARGMATCH.
76489         (EXTRA_DIST): Renamed from lib_SOURCES, for
76490         consistency with the other modules.  Remove argmatch.c.
76491         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
76492         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
76493         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
76494         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
76495         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
76496         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
76497         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
76498         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
76499         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
76500         * modules/closeout (EXTRA_DIST): Add closeout.h.
76501         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
76502         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
76503         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
76504         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
76505         dirname.h; remove basename.c and stripslash.c.
76506         * modules/exclude (EXTRA_DIST): Add exclude.h.
76507         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
76508         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
76509         * modules/file-type (EXTRA_DIST): Add file-type.h.
76510         * modules/filemode (EXTRA_DIST): Add filemode.h.
76511         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
76512         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76513         * modules/fpending (EXTRA_DIST): Add __fpending.h.
76514         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
76515         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
76516         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
76517         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
76518         * modules/getdate (EXTRA_DIST): Add getdate.c.
76519         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
76520         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
76521         * modules/getpass (EXTRA_DIST): Add getpass.h.
76522         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
76523         * modules/group-member (EXTRA_DIST): Add group-member.h.
76524         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
76525         * modules/hash (EXTRA_DIST): Add hash.h.
76526         * modules/human (EXTRA_DIST): Add human.h.
76527         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
76528         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
76529         * modules/lchown (EXTRA_DIST): Add lchown.h.
76530         * modules/long-options (EXTRA_DIST): Add long-options.h.
76531         * modules/lstat (EXTRA_DIST): Add lstat.h.
76532         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
76533         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
76534         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
76535         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
76536         * modules/memxor (EXTRA_DIST): Add memxor.h.
76537         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
76538         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
76539         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
76540         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
76541         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
76542         * modules/physmem (EXTRA_DIST): Add physmem.h.
76543         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
76544         * modules/posixver (EXTRA_DIST): Add posixver.h.
76545         * modules/quote (EXTRA_DIST): Add quote.h.
76546         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
76547         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
76548         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
76549         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
76550         regex_internal.h regexec.c.
76551         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
76552         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
76553         * modules/same (EXTRA_DIST): Add same.h.
76554         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
76555         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
76556         * modules/savedir (EXTRA_DIST): Add savedir.h.
76557         * modules/sha1 (EXTRA_DIST): Add sha1.h.
76558         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
76559         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
76560         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
76561         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
76562         * modules/strdup (EXTRA_DIST): Add strdup.h.
76563         * modules/strftime (EXTRA_DIST): Add strftime.h.
76564         * modules/strndup (EXTRA_DIST): Add strndup.h.
76565         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
76566         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
76567         * modules/time_r (EXTRA_DIST): Add time_r.h.
76568         * modules/timespec (EXTRA_DIST): Add timespec.h.
76569         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76570         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
76571         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
76572         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
76573         * modules/userspec (EXTRA_DIST): Add userspec.h.
76574         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
76575         * modules/utimens (EXTRA_DIST): Add utimens.h.
76576         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
76577         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
76578         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
76579         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
76580         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
76581         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
76582         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
76583         * modules/yesno (EXTRA_DIST): Add yesno.h.
76584
76585 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76586
76587         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
76588
76589         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
76590         * m4/dev-ino.m4, same-inode.m4: Remove.
76591
76592         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
76593         * m4/acl.m4 (AC_FUNC_ACL):
76594         * m4/backupfile.m4 (gl_BACKUPFILE):
76595         * m4/c-strtod.m4 (gl_C99_STRTOLD):
76596         * m4/canon-host.m4 (gl_CANON_HOST):
76597         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76598         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
76599         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
76600         * m4/cloexec.m4 (gl_CLOEXEC):
76601         * m4/close-stream.m4 (gl_CLOSE_STREAM):
76602         * m4/closeout.m4 (gl_CLOSEOUT):
76603         * m4/dirfd.m4 (gl_FUNC_DIRFD):
76604         * m4/dirname.m4 (gl_DIRNAME):
76605         * m4/exclude.m4 (gl_EXCLUDE):
76606         * m4/exitfail.m4 (gl_EXITFAIL):
76607         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
76608         * m4/file-type.m4 (gl_FILE_TYPE):
76609         * m4/filemode.m4 (gl_FILEMODE):
76610         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
76611         * m4/fpending.m4 (gl_FUNC_FPENDING):
76612         * m4/fprintftime.m4 (gl_FPRINTFTIME):
76613         * m4/fts.m4 (gl_FUNC_FTS):
76614         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
76615         * m4/getdate.m4 (gl_GETDATE):
76616         * m4/gethrxtime.m4 (gl_GETHRXTIME):
76617         * m4/getpagesize.m4 (gl_GETPAGESIZE):
76618         * m4/getpass.m4 (gl_FUNC_GETPASS):
76619         * m4/gettime.m4 (gl_GETTIME):
76620         * m4/getugroups.m4 (gl_GETUGROUPS):
76621         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
76622         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
76623         * m4/hard-locale.m4 (gl_HARD_LOCALE):
76624         * m4/hash.m4 (gl_HASH):
76625         * m4/idcache.m4 (gl_IDCACHE):
76626         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
76627         * m4/lchown.m4 (gl_FUNC_LCHOWN):
76628         * m4/long-options.m4 (gl_LONG_OPTIONS):
76629         * m4/lstat.m4 (gl_FUNC_LSTAT):
76630         * m4/md5.m4 (gl_MD5):
76631         * m4/memcasecmp.m4 (gl_MEMCASECMP):
76632         * m4/memcoll.m4 (gl_MEMCOLL):
76633         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
76634         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
76635         * m4/memxor.m4 (gl_MEMXOR):
76636         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
76637         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
76638         * m4/modechange.m4 (gl_MODECHANGE):
76639         * m4/mountlist.m4 (gl_MOUNTLIST):
76640         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
76641         * m4/openat.m4 (gl_FUNC_OPENAT):
76642         * m4/pathmax.m4 (gl_PATHMAX):
76643         * m4/physmem.m4 (gl_PHYSMEM):
76644         * m4/posixtm.m4 (gl_POSIXTM):
76645         * m4/posixver.m4 (gl_POSIXVER):
76646         * m4/quote.m4 (gl_QUOTE):
76647         * m4/quotearg.m4 (gl_QUOTEARG):
76648         * m4/readtokens.m4 (gl_READTOKENS):
76649         * m4/readutmp.m4 (gl_READUTMP):
76650         * m4/regex.m4 (gl_REGEX):
76651         * m4/safe-read.m4 (gl_SAFE_READ):
76652         * m4/safe-write.m4 (gl_SAFE_WRITE):
76653         * m4/same.m4 (gl_SAME):
76654         * m4/save-cwd.m4 (gl_SAVE_CWD):
76655         * m4/savedir.m4 (gl_SAVEDIR):
76656         * m4/settime.m4 (gl_SETTIME):
76657         * m4/sha1.m4 (gl_SHA1):
76658         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
76659         * m4/stat-macros.m4 (gl_STAT_MACROS):
76660         * m4/stat-time.m4 (gl_STAT_TIME):
76661         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
76662         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
76663         * m4/strdup.m4 (gl_FUNC_STRDUP):
76664         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
76665         * m4/strndup.m4 (gl_FUNC_STRNDUP):
76666         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
76667         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
76668         * m4/time_r.m4 (gl_TIME_R):
76669         * m4/timespec.m4 (gl_TIMESPEC):
76670         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
76671         * m4/unlinkdir.m4 (gl_UNLINKDIR):
76672         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
76673         * m4/userspec.m4 (gl_USERSPEC):
76674         * m4/utimecmp.m4 (gl_UTIMECMP):
76675         * m4/utimens.m4 (gl_UTIMENS):
76676         * m4/xalloc.m4 (gl_XALLOC):
76677         * m4/xgetcwd.m4 (gl_XGETCWD):
76678         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
76679         * m4/xreadlink.m4 (gl_XREADLINK):
76680         * m4/xstrtod.m4 (gl_XSTRTOD):
76681         * m4/yesno.m4 (gl_YESNO):
76682         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76683         to get the necessary .h files and whatnot.
76684
76685 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
76686             Bruno Haible  <bruno@clisp.org>
76687
76688         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
76689         /bin/sh understanding of '!' conditional negation.
76690
76691 2006-08-21  Jim Meyering  <jim@meyering.net>
76692
76693         * modules/openat (Depends-on): Really alphabetize.
76694
76695         * modules/acl (Depends-on): Add error and quote.
76696
76697         * check-module (find_included_lib_files): Add at-func.c to the
76698         ok-to-include-more-than-once white list.
76699
76700         * modules/openat (Depends-on): Add lstat.  Alphabetize.
76701
76702 2006-08-21  Bruno Haible  <bruno@clisp.org>
76703
76704         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76705         Emit a pkgdata_DATA variable only if some snippets add contents to it.
76706         Reported by Martin Lambers <marlam@marlam.de>.
76707
76708 2006-08-21  Bruno Haible  <bruno@clisp.org>
76709
76710         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
76711         specify an installation location, don't emit a noinst_LIBRARIES or
76712         noinst_LTLIBRARIES assignment.
76713
76714 2006-08-21  Bruno Haible  <bruno@clisp.org>
76715
76716         BeOS portability.
76717         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
76718         BeOS has mbrtowc() but no <wctype.h>.
76719
76720 2006-08-21  Bruno Haible  <bruno@clisp.org>
76721
76722         BeOS portability.
76723         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
76724         exist.
76725
76726 2006-08-21  Bruno Haible  <bruno@clisp.org>
76727
76728         BeOS portability.
76729         * lib/mbchar.h: Include <wctype.h> only if it exists.
76730
76731 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76732
76733         Remove files that are no longer needed by their respective modules.
76734         * m4/obstack.m4: Remove.
76735         * m4/strerror_r.m4: Remove.
76736         * m4/uint32_t.m4: Remove.
76737         * m4/uintptr_t.m4: Remove.
76738         * m4/ullong_max.m4: Remove.
76739         * m4/xstrtoimax.m4: Remove.
76740         * m4/xstrtoumax.m4: Remove.
76741
76742         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
76743         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
76744         dependencies now capture this.
76745
76746         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
76747         Do not use AC_LIBSOURCES, since gnulib modules now do this.
76748         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
76749         * m4/human.m4 (gl_HUMAN): Likewise.
76750         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
76751         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
76752
76753         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
76754
76755         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
76756         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
76757         stdint.
76758         * m4/human.m4 (gl_HUMAN): Likewise.
76759         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
76760         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
76761         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76762         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76763         * m4/xstrtol (gl_XSTRTOL): Likewise.
76764
76765         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
76766         AC_TYPE_LONG_LONG_INT.
76767         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76768         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
76769         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
76770         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76771
76772         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
76773         on stdbool.
76774
76775         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
76776         (gl_PREREQ_XSTRTOUL): Remove.
76777
76778         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
76779
76780         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
76781         mode.
76782
76783 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76784
76785         Add and change modules to make it easier for coreutils to use
76786         gnulib-tool.
76787         * modules/backupfile (Files): Remove m4/d-ino.m4.
76788         (Depends-on): Add d-ino.
76789         * modules/cycle-check (Depends-on): Add stdint.
76790         (lib_SOURCES): Add cycle-check.h.
76791         * modules/d-ino: New module.
76792         * modules/d-type: New module.
76793         * modules/error (Files): Remove m4/strerror_r.m4.
76794         * modules/filemode (Files): Add m4/st_dm_mode.m4.
76795         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76796         m4/inttypes_h.m4, m4/uintmax_t.m4.
76797         (Depends-on): Add stdint.
76798         (lib_SOURCES): Add fsusage.h.
76799         * modules/getcwd (Files): Remove d-ino.m4.
76800         (Depends-on): Add d-ino.
76801         * modules/getndelim2 (Depends-on): Add stdint.
76802         * modules/glob (Files): Remove m4/d-type.m4.
76803         (Depends-on): Add d-type.
76804         * modules/host-os: New module.
76805         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
76806         m4/inttypes_h.m4, m4/uintmax_t.m4.
76807         * Depends-on: Add stdint.
76808         (lib_SOURCES): Add human.h.
76809         * modules/inttostr (Files): Remove m4/intmax_t.m4,
76810         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
76811         m4/uintmax_t.m4, m4/ulonglong.m4.
76812         (Depends-on): Add stdint.
76813         (EXTRA_DIST): Add inttostr.h.
76814         * modules/lchmod: New module.
76815         * modules/link-follow: New module.
76816         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
76817         (Depends-on): Add lchmod.
76818         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
76819         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
76820         (Depends-on): Add stdint.
76821         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
76822         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
76823         (Depends-on): Add stdint.
76824         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
76825         * modules/perl: New module.
76826         * modules/regex (Depends-on): Add stdint.
76827         * modules/rmdir-errno: New module.
76828         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76829         m4/intmax_t.m4.
76830         (Depends-on): Add stdint.
76831         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76832         m4/uintmax_t.m4.
76833         (Depends-on): Add stdint.
76834         * modules/unlink-busy: New module.
76835         * modules/utimecmp (Depends-on): Add stdint.
76836         * modules/uptime: New module.
76837         * modules/winsz-ioctl: New module.
76838         * modules/winsz-termios: New module.
76839         * modules/xnanosleep (Depends-on): Add nanosleep.
76840         * modules/ullong_max: Remove.
76841         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
76842         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
76843         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
76844         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
76845         (Depends-on): Add inttypes.
76846         (lib_SOURCES): Add xstrtol.h.
76847         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
76848         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
76849         * MODULES.html.sh: Move 'assert' into the assert section.
76850         Move 'dummy' into the linking section.
76851         Remove ullong_max.
76852         Add section for compatibility checks for POSIX:2001 functions,
76853         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
76854         winsz-ioctl, and winsz-termios into it.
76855         Add lchmod.
76856         Add top-level Misc section and put host-os, perl, and uptime
76857         into it.
76858
76859 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76860
76861         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
76862         now assume the stdint module.  Do not include inttypes.h.
76863         * lib/fsusage.h: Likewise.
76864         * lib/getndelim2.c: Likewise.
76865         * lib/human.h: Likewise.
76866         * lib/inttostr.h: Likewise.
76867         * lib/obstack.c: Likewise.
76868         * lib/regex_internal.h: Likewise.
76869         * lib/tempname.c: Likewise.
76870         * lib/utimecmp.c: Likewise.
76871         * lib/xstrtol.h: Likewise.
76872
76873         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
76874
76875         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
76876         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
76877         * lib/xtime.h: Likewise.
76878
76879 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76880
76881         * modules/openat (Files): Add lib/fchmodat.c.
76882         Fixes problem reported by Jay Youngman.
76883
76884 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76885
76886         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
76887         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
76888
76889 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
76890             Bruno Haible  <bruno@clisp.org>
76891
76892         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
76893         and is a script that invokes bison. Tighten the code. Add comments.
76894
76895 2006-08-18  Jim Meyering  <jim@meyering.net>
76896
76897         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
76898         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
76899         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
76900         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
76901
76902 2006-08-18  Bruno Haible  <bruno@clisp.org>
76903
76904         * modules/bison-i18n: New file.
76905         * MODULES.html.sh (Internationalization functions): Add it.
76906
76907 2006-08-18  Bruno Haible  <bruno@clisp.org>
76908
76909         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
76910         sys/statvfs.h. When getmntinfo was found, check its declaration and
76911         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
76912
76913 2006-08-18  Bruno Haible  <bruno@clisp.org>
76914
76915         * m4/bison-i18n.m4: New file, from bison.
76916
76917 2006-08-18  Bruno Haible  <bruno@clisp.org>
76918
76919         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
76920         (ME_DUMMY): Treat "kernfs" as a dummy.
76921         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
76922
76923 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76924
76925         Update from coreutils.
76926
76927         2006-08-15  Jim Meyering  <jim@meyering.net>
76928
76929         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
76930
76931         2006-01-17  Jim Meyering  <jim@meyering.net>
76932
76933         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
76934
76935         2006-01-11  Jim Meyering  <jim@meyering.net>
76936
76937         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
76938         Check for the lchmod function.
76939
76940 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76941
76942         Update from coreutils.
76943
76944         * lib/__fpending.h: Add copyright notice.
76945         * lib/fprintftime.h: Likewise.
76946         * lib/savedir.c: Use (C) in copyright notice.
76947         * lib/savedir.h: Likewise.
76948
76949         2006-08-15  Jim Meyering  <jim@meyering.net>
76950
76951         * lib/at-func.c: New file, with the logic of all emulated at-functions.
76952         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
76953         in support of the EXPECTED_ERRNO macro.
76954         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
76955         definitions.  Instead, define the appropriate symbols and include
76956         "at-func.c".
76957         * lib/mkdirat.c (mkdirat): Likewise.
76958         * lib/fchmodat.c (fchmodat): Likewise.
76959         (ENOSYS): Remove definition.
76960         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
76961         it.  Don't include "unistd--.h" -- it wasn't ever used.
76962
76963         2006-01-17  Jim Meyering  <jim@meyering.net>
76964
76965         Rewrite fts.c not to change the current working directory,
76966         by using openat, fstatat, fdopendir, etc..
76967
76968         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
76969         (HAVE_OPENAT_SUPPORT): Define.
76970         [_LIBC] (fchdir): Don't undef or define; no longer used.
76971         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
76972         Now, this `function' always succeeds, and consumes its file descriptor
76973         parameter -- so callers must not close such FDs.  Update callers.
76974         (diropen_fd, opendirat, cwd_advance_fd): New functions.
76975         (diropen): Add parameter, SP.  Adjust all callers.
76976         Implement using diropen_fd, rather than open.
76977         (fts_open): Initialize new member, fts_cwd_fd.
76978         Remove fts_rft-setting code.
76979         (fts_close): Close fts_cwd_fd, if necessary.
76980         (__opendir2): Define in terms of opendir or opendirat,
76981         depending on whether the FST_NOCHDIR flag is set.
76982         (fts_build): Since fts_safe_changedir consumes its FD, and since
76983         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
76984         and close the dup'd file descriptor upon failure.
76985         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
76986         (fts_safe_changedir): Tweak semantics to reflect that this function
76987         now calls cwd_advance_fd and hence consumes its FD argument.
76988         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
76989         [struct FTS] (fts_rft): Remove now-unused member.
76990         [struct FTS] (fts_cycle.state): Improve comment.
76991
76992         * lib/openat.c (openat_needs_fchdir): New function.
76993         * lib/openat.h (openat_needs_fchdir): Declare it.
76994
76995 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76996
76997         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
76998         Problem and fix reported by Pádraig Brady in
76999         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
77000
77001 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77002
77003         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
77004
77005 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77006
77007         * lib/memcoll.c (memcoll): Optimize for the common case where the
77008         arguments are bytewise equal.
77009
77010 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77011
77012         * doc/regexprops-generic.texi: Add a copyright notice.
77013
77014 2006-08-15  Bruno Haible  <bruno@clisp.org>
77015
77016         * modules/tmpdir (License): Change to LGPL.
77017
77018 2006-08-15  Bruno Haible  <bruno@clisp.org>
77019
77020         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
77021         module.
77022
77023 2006-08-14  Simon Josefsson  <jas@extundo.com>
77024
77025         * config/srclist.txt: Add gnupload.
77026
77027 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77028
77029         Change copyright notice from LGPL 2 to GPL 2, since that's the
77030         standard form used in the gnulib repository.
77031         * tests/test-lock.c: Likewise.
77032         * tests/test-stdint.c: Likewise.
77033         * tests/test-tls.c: Likewise.
77034
77035         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
77036         prelude-manager.  User shorter URLs for GNU projects, without '?'.
77037         Add copyright notice.
77038
77039         * check-module: Add copyright notice.  Output a copyright
77040         notice if "--version" is specified.
77041         * modules/COPYING: New file.
77042         * tests/test-getaddrinfo.c: Add copyright notice.
77043         * tests/test-verify.c: Likewise.
77044
77045 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77046
77047         Change copyright notice from LGPL 2 to GPL 2, since that's the
77048         standard form used in the gnulib repository.
77049         * lib/lock.c: LGPL -> GPL.
77050         * lib/lock.h: Likewise.
77051         * lib/strnlen1.c: Likewise.
77052         * lib/strnlen1.h: Likewise.
77053         * lib/tls.c: Likewise.
77054         * lib/tls.h: Likewise.
77055         * lib/tmpdir.c: Likewise.
77056
77057         * lib/TODO: Remove; this belongs only in coreutils.
77058
77059 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77060
77061         Add copyright notices to long-enough files that lack them, since
77062         otherwise the files aren't clearly free.  Use the same notice that
77063         getdate.texi already uses.
77064         * doc/alloca-opt.texi: Add copyright notice.
77065         * doc/alloca.texi: Likewise.
77066         * doc/ctime.texi: Likewise.
77067         * doc/functions.texi: Likewise.
77068         * doc/gcd.texi: Likewise.
77069         * doc/gnulib-tool.texi: Likewise.
77070         * doc/inet_ntoa.texi: Likewise.
77071         * doc/visibility.texi: Likewise.
77072
77073         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
77074         * doc/quote.texi: Add copyright notice.
77075
77076         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
77077         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
77078         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
77079         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
77080         is now obsolete, and give a pointer to the Sun list.
77081         Add copyright notice.
77082
77083 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77084
77085         * config/srclistvars.sh: Add copyright notice.
77086
77087 2006-08-14  Eric Blake  <ebb9@byu.net>
77088
77089         Import the following change from libc:
77090
77091         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
77092
77093         Upstream bug 2997.
77094         * lib/misc/error.c: Add space between program name and message if file
77095         name is missing.
77096
77097 2006-08-12  Karl Berry  <karl@gnu.org>
77098
77099         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
77100         remove, these originate in gnulib now.
77101
77102 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77103
77104         * doc/Makefile (standards.info standards.html standards.dvi):
77105         Also depend on make-stds.texi.
77106
77107 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77108
77109         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
77110         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
77111
77112         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
77113         in wchar_t.  Problem reported by Eric Blake.
77114
77115         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
77116         LEN is smaller than SIZE.  Suggested by Bruno Haible.
77117         Also, help the compiler to keep LEN in a register.
77118
77119 2006-08-11  Eric Blake  <ebb9@byu.net>
77120
77121         * users.txt: Sort.  Add tar.
77122
77123 2006-08-11  Bruno Haible  <bruno@clisp.org>
77124
77125         * users.txt: New file.
77126
77127 2006-08-11  Bruno Haible  <bruno@clisp.org>
77128
77129         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
77130         before <wchar.h>. Needed for OSF/1 and BSD/OS.
77131
77132 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77133
77134         * modules/snprintf (Depends-on): Remove minmax.
77135         (Maintainer): Add self and Bruno.
77136
77137 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77138
77139         * lib/.cppi-disable: Add snprintf.h, socket_.h.
77140         * lib/snprintf.c: Include <errno.h> and <limits.h>.
77141         (EOVERFLOW): Define if the system does not.
77142         Do not include "minmax.h"; it wasn't used.
77143         (snprintf): Don't assume size_t promotes to an unsigned type.
77144         Fix bug when generated string was too long for the buffer: the
77145         buffer's contents are supposed to be the initial prefix of the
77146         output.  Don't assume vasnprintf returns EOVERFLOW if the size
77147         exceeds INT_MAX; do the check ourselves.
77148
77149         Import the following changes from libc:
77150
77151         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
77152
77153         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
77154         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
77155         set wc to the byte which couldn't be converted.
77156         (re_string_reconstruct): Don't clear valid_raw_len before calling
77157         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
77158         tip_context using re_string_context_at.
77159
77160         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
77161
77162         * lib/posix/regex.h: g++ still cannot handled [restrict].
77163
77164         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
77165
77166         * lib/posix/regex.h: Remove special handling for VMS.
77167
77168 2006-08-10  Jim Meyering  <jim@meyering.net>
77169
77170         * modules/same-inode: New module.
77171         * modules/dev-ino: New module.
77172         * modules/cycle-check: Depend on these modules, rather than simply
77173         including their .h files.
77174         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
77175         required via m4/cycle-check.m4.
77176         * modules/same: Depend on new same-inode module, rather than
77177         including same-inode.h.
77178         * modules/chdir-safer: New file.
77179
77180         * modules/chown (Depends-on): Add stat-macros.
77181
77182 2006-08-10  Jim Meyering  <jim@meyering.net>
77183
77184         * m4/cycle-check.m4: New file.
77185         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
77186         * m4/dev-ino.m4, m4/same-inode.m4: New files.
77187
77188 2006-08-10  Eric Blake  <ebb9@byu.net>
77189
77190         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
77191         in from original proposal.
77192
77193 2006-08-10  Eric Blake  <ebb9@byu.net>
77194         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77195
77196         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
77197         namespace.
77198
77199 2006-08-10  Bruno Haible  <bruno@clisp.org>
77200
77201         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
77202         as well.
77203
77204 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77205
77206         Sync from coreutils.
77207
77208         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
77209
77210         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
77211         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
77212
77213 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77214
77215         * modules/restrict: Remove; no longer needed now that we assume
77216         Autoconf 2.59 or later.
77217         * MODULES.html.sh: Remove 'restrict'.
77218         * modules/argp (Depends-on): Remove 'restrict'.
77219         * modules/base64 (Depends-on): Likewise.
77220         * modules/gc (Depends-on): Likewise.
77221         * modules/getaddrinfo (Depends-on): Likewise.
77222         * modules/glob (Depends-on): Likewise.
77223         * modules/inet_ntop (Depends-on): Likewise.
77224         * modules/inet_pton (Depends-on): Likewise.
77225         * modules/memxor (Depends-on): Likewise.
77226         * modules/regex (Depends-on): Likewise.
77227         * modules/strtok_r (Depends-on): Likewise.
77228         * modules/time_r (Depends-on): Likewise.
77229
77230 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77231
77232         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
77233         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
77234         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77235         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
77236         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
77237         * m4/memxor.m4 (gl_MEMXOR): Likewise.
77238         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
77239         gl_C_RESTRICT replaced by AC_C_RESTRICT.
77240
77241         Merge from coreutils.
77242         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
77243         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
77244         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
77245         * m4/time_r.m4 (gl_TIME_R): Likewise.
77246
77247 2006-08-09  Karl Berry  <karl@gnu.org>
77248
77249         * config/srclist.txt: no more gettext-tools, per Bruno.
77250
77251 2006-08-08  Eric Blake  <ebb9@byu.net>
77252
77253         * modules/verror: New module.
77254         * MODULES.html.sh: Document it.
77255
77256 2006-08-08  Eric Blake  <ebb9@byu.net>
77257
77258         * lib/verror.h, lib/verror.c: New files.
77259
77260 2006-08-08  Eric Blake  <ebb9@byu.net>
77261
77262         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
77263         verror_at_line output complies with GNU Coding Standards even when
77264         file is NULL.
77265
77266 2006-08-07  Bruno Haible  <bruno@clisp.org>
77267
77268         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
77269         versions of AIX.
77270         Reported by Ralf Wildenhues.
77271
77272 2006-08-07  Bruno Haible  <bruno@clisp.org>
77273
77274         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
77275         in an AC_DEFUN. Needed so that the autoconf snippets can use
77276         AC_REQUIRE.
77277
77278 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77279
77280         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77281         Initialize pkgdata_DATA.
77282         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
77283         overriding it.
77284
77285 2006-08-06  Eric Blake  <ebb9@byu.net>
77286
77287         * lib/error.h: Fold in some upstream changes from glibc.
77288         * lib/error.c: Likewise.
77289
77290 2006-08-04  Bruno Haible  <bruno@clisp.org>
77291
77292         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77293         Make the mostlyclean-local rule depend on mostlyclean-generic.
77294         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
77295
77296 2006-07-31  Bruno Haible  <bruno@clisp.org>
77297
77298         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
77299         <stdlib.h>, <string.h>.
77300
77301 2006-07-30  Bruno Haible  <bruno@clisp.org>
77302
77303         * modules/readlink (License): Change to LGPL.
77304
77305 2006-07-30  Bruno Haible  <bruno@clisp.org>
77306
77307         * modules/javaversion (Makefile.am): Distribute javaversion.java and
77308         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
77309         set PKGDATADIR to point to it.
77310
77311 2006-07-30  Bruno Haible  <bruno@clisp.org>
77312
77313         * modules/csharpexec (configure.ac): Comment out macro invocation.
77314         * modules/javaexec (configure.ac): Likewise.
77315         * modules/javacomp-script (configure.ac): Likewise.
77316
77317         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
77318
77319 2006-07-30  Bruno Haible  <bruno@clisp.org>
77320
77321         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
77322         linked-list.
77323
77324 2006-07-30  Bruno Haible  <bruno@clisp.org>
77325
77326         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
77327
77328 2006-07-30  Bruno Haible  <bruno@clisp.org>
77329
77330         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77331         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
77332         get removed.
77333
77334 2006-07-29  Bruno Haible  <bruno@clisp.org>
77335
77336         Make it possible for gnulib-tool to work with locally modified or
77337         augmented gnulib repositories.
77338         * gnulib-tool (func_usage): Document --local-dir option.
77339         (local_gnulib_dir): New variable.
77340         Handle --local-dir option.
77341         (func_lookup_file): New function.
77342         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
77343         (func_get_description, func_get_filelist, func_get_description,
77344         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
77345         func_get_automake_snippet, func_get_include_directive,
77346         func_get_license, func_get_maintainer): Use func_lookup_file.
77347         (func_import, func_create_testdir): Use func_lookup_file.
77348
77349 2006-07-29  Bruno Haible  <bruno@clisp.org>
77350
77351         * modules/setenv (Depends-on): Add unistd.
77352
77353 2006-07-29  Bruno Haible  <bruno@clisp.org>
77354
77355         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
77356
77357 2006-07-29  Bruno Haible  <bruno@clisp.org>
77358
77359         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
77360
77361 2006-07-29  Bruno Haible  <bruno@clisp.org>
77362
77363         * gnulib-tool (import, update): If there is no Makefile.am, look at
77364         aclocal.m4, instead of bailing out.
77365
77366 2006-07-29  Bruno Haible  <bruno@clisp.org>
77367
77368         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
77369         Categorize the options by when they are useful.
77370
77371 2006-07-29  Bruno Haible  <bruno@clisp.org>
77372
77373         * gnulib-tool (func_usage): Document option --no-libtool.
77374         Handle option --no-libtool.
77375         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
77376         for changed semantics of $libtool variable.
77377         (func_import): Likewise. If libtool is not used, show this through
77378         an option --no-libtool.
77379         (func_create_testdir): Update.
77380
77381 2006-07-29  Bruno Haible  <bruno@clisp.org>
77382
77383         * gnulib-tool (func_import): Extend error message about missing
77384         --doc-base.
77385
77386 2006-07-29  Bruno Haible  <bruno@clisp.org>
77387
77388         * gnulib-tool (func_import): Don't create the $docbase directory if
77389         there is no file to store there.
77390
77391 2006-07-29  Bruno Haible  <bruno@clisp.org>
77392
77393         * gnulib-tool (autoconf_minversion): If a --dir option is given and
77394         relevant, look for configure.ac there, not in the current directory.
77395         Also use a simple search for AC_PREREQ, not "autoconf --trace".
77396
77397 2006-07-29  Bruno Haible  <bruno@clisp.org>
77398
77399         * gnulib-tool (SORT): New variable.
77400         (func_usage): Undocument --assume-autoconf option.
77401         Remove --assume-autoconf option handling.
77402         (autoconf_minversion): Determine from the contents of configure.ac.
77403         (func_import): Remove autoconf_minversion handling.
77404         Suggested by Eric Blake.
77405
77406 2006-07-29  Bruno Haible  <bruno@clisp.org>
77407
77408         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
77409
77410 2006-07-29  Bruno Haible  <bruno@clisp.org>
77411
77412         * config/srclist.txt (*setenv.[ch]): Remove rules.
77413
77414 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77415
77416         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
77417
77418 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77419
77420         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
77421         arpa/inet.h.
77422
77423 2006-07-28  Simon Josefsson  <jas@extundo.com>
77424
77425         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
77426         * modules/inet_pton (Depends-on): Likewise.
77427
77428 2006-07-28  Simon Josefsson  <jas@extundo.com>
77429
77430         * m4/netinet_in_h.m4: New file.
77431
77432 2006-07-28  Simon Josefsson  <jas@extundo.com>
77433
77434         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
77435         #include's.
77436
77437 2006-07-28  Simon Josefsson  <jas@extundo.com>
77438
77439         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
77440         #include's.
77441
77442 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
77443
77444         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
77445         setgid on directories only if they set these bits.
77446         * lib/modechange.h: Remove obsolete comment about masks.
77447
77448 2006-07-28  Eric Blake  <ebb9@byu.net>
77449
77450         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
77451         macro expansion.
77452
77453 2006-07-28  Bruno Haible  <bruno@clisp.org>
77454
77455         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
77456
77457 2006-07-28  Bruno Haible  <bruno@clisp.org>
77458
77459         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
77460
77461 2006-07-28  Bruno Haible  <bruno@clisp.org>
77462
77463         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77464         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77465         Define fallbacks.
77466         Avoids link error on FreeBSD 4.x.
77467         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77468
77469         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
77470         encoding.
77471         * lib/mbswidth.c (iswcntrl): Likewise.
77472
77473 2006-07-27  Bruno Haible  <bruno@clisp.org>
77474
77475         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
77476         test.
77477
77478 2006-07-27  Bruno Haible  <bruno@clisp.org>
77479
77480         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
77481         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
77482         defined.
77483
77484 2006-07-26  Eric Blake  <ebb9@byu.net>
77485
77486         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
77487
77488 2006-07-26  Eric Blake  <ebb9@byu.net>
77489
77490         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
77491         like mingw that lack mkstemp.
77492         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
77493         avoid compilation warning on mingw.
77494
77495 2006-07-26  Bruno Haible  <bruno@clisp.org>
77496
77497         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
77498         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
77499         INT_FAST*_MIN, INTPTR_MIN.
77500
77501 2006-07-25  Bruno Haible  <bruno@clisp.org>
77502
77503         * modules/version-etc (Depends-on): Add stdarg.
77504
77505 2006-07-25  Bruno Haible  <bruno@clisp.org>
77506
77507         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
77508         complex commands.
77509
77510 2006-07-25  Bruno Haible  <bruno@clisp.org>
77511
77512         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
77513         defined in <stdarg.h> or config.h.
77514
77515 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77516
77517         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
77518         (gl_STDIO_SAFER): Remove.
77519
77520 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77521
77522         * MODULES.html.sh (File stream based Input/Output):
77523         Add fopen-safer, tmpfile-safer; remove stdio-safer.
77524         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
77525         * modules/fopen-safer, modules/tmpfile-safer: New files.
77526         * modules/stdio-safer: Remove.
77527
77528 2006-07-24  Bruno Haible  <bruno@clisp.org>
77529
77530         * modules/tmpdir: New file.
77531         * MODULES.html.sh (File system functions): Add it.
77532
77533 2006-07-24  Bruno Haible  <bruno@clisp.org>
77534
77535         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
77536         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
77537
77538 2006-07-24  Bruno Haible  <bruno@clisp.org>
77539
77540         * modules/clean-temp: New file.
77541
77542 2006-07-24  Bruno Haible  <bruno@clisp.org>
77543
77544         * m4/tmpdir.m4: New file, from GNU gettext.
77545
77546 2006-07-24  Bruno Haible  <bruno@clisp.org>
77547
77548         * lib/tmpdir.h: New file, from GNU gettext.
77549         * lib/tmpdir.c: New file, from GNU gettext.
77550
77551 2006-07-24  Bruno Haible  <bruno@clisp.org>
77552
77553         * lib/clean-temp.h: New file, from GNU gettext.
77554         * lib/clean-temp.c: New file, from GNU gettext.
77555
77556 2006-07-23  Eric Blake  <ebb9@byu.net>
77557
77558         * modules/stdio-safer (Files): Add tmpfile-safer.c.
77559         (Depends-on): Add binary-io.
77560
77561 2006-07-23  Eric Blake  <ebb9@byu.net>
77562
77563         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
77564
77565 2006-07-23  Eric Blake  <ebb9@byu.net>
77566
77567         * lib/tmpfile-safer.c: New file.
77568         * lib/stdio-safer.h (fopen_safer): Add prototype.
77569         * lib/stdio--.h (tmpfile): Make safer.
77570
77571 2006-07-23  Bruno Haible  <bruno@clisp.org>
77572
77573         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
77574         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
77575         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
77576         gl_linked_remove_at): Use it.
77577
77578 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77579         and Simon Josefsson <jas@extundo.com>
77580
77581         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
77582
77583         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
77584
77585 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77586
77587         * modules/close-stream: New file.
77588         * modules/closeout (Description): Make it clear that it exits
77589         with a diagnostic on error.
77590         (Depends-on): Add close-stream.  Remove fpending, stdbool.
77591         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
77592
77593 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77594
77595         * m4/close-stream.m4: New file.
77596
77597 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77598
77599         * lib/close-stream.c, lib/close-stream.h: New files.
77600
77601 2006-07-22  Bruno Haible  <bruno@clisp.org>
77602
77603         Merge from GNU gettext 0.15.
77604
77605         2006-05-01  Bruno Haible  <bruno@clisp.org>
77606
77607                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
77608
77609         2006-07-22  Bruno Haible  <bruno@clisp.org>
77610
77611                 * modules/javaversion: New file.
77612                 * MODULES.html.sh (Java): Add javaversion.
77613
77614         2006-03-12  Bruno Haible  <bruno@clisp.org>
77615
77616                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
77617
77618         2005-12-04  Bruno Haible  <bruno@clisp.org>
77619
77620                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
77621                 (untested).
77622
77623         2006-06-21  Bruno Haible  <bruno@clisp.org>
77624
77625                 Avoid warnings from recent versions of mcs.
77626                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
77627                 -o, -L, -r any more. Use options documented since mcs-1.0
77628                 instead. Similarly for -g.
77629
77630         2005-12-04  Bruno Haible  <bruno@clisp.org>
77631
77632                 * build-aux/csharpcomp.sh.in: Suffix for resources is
77633                 .resources, not .resource.
77634
77635         2005-07-09  Bruno Haible  <bruno@clisp.org>
77636
77637                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
77638                 add a .dll suffix.
77639                 Reported by Mark Junker <mjscod@gmx.de>.
77640
77641         2006-07-22  Bruno Haible  <bruno@clisp.org>
77642
77643                 * modules/gettext: Upgrade to gettext-0.15.
77644                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
77645                 m4/visibility.m4.
77646                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
77647
77648 2006-07-22  Bruno Haible  <bruno@clisp.org>
77649
77650         Merge from GNU gettext 0.15.
77651
77652         2006-03-25  Bruno Haible  <bruno@clisp.org>
77653
77654                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
77655
77656         2006-07-21  Bruno Haible  <bruno@clisp.org>
77657
77658                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
77659                 "1.1".
77660
77661         2006-05-09  Bruno Haible  <bruno@clisp.org>
77662
77663                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
77664                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
77665                 for the conftestver execution.
77666
77667         2006-05-01  Bruno Haible  <bruno@clisp.org>
77668
77669                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
77670                 optional target-version argument. Verify that the compiler
77671                 groks source of the specified source-version, or add -source
77672                 option as necessary. Verify that the compiler produces
77673                 bytecode in the specified target-version, or add -target and
77674                 -source options as necessary. Make the result of the test
77675                 available as variable CONF_JAVAC. Also log error output in
77676                 config.log.
77677
77678         2006-03-11  Bruno Haible  <bruno@clisp.org>
77679
77680                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
77681
77682         2006-05-09  Bruno Haible  <bruno@clisp.org>
77683
77684                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
77685                 CLASSPATH_SEPARATOR to a semicolon.
77686
77687         2006-03-12  Bruno Haible  <bruno@clisp.org>
77688
77689                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
77690                 available as variable CONF_JAVA, for subsequent autoconf
77691                 tests. Also log error output in config.log.
77692
77693         2006-07-19  Bruno Haible  <bruno@clisp.org>
77694
77695                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
77696                 that getline works on glibc2 systems. Needed to avoid trouble
77697                 in relocatable.c.
77698                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
77699
77700         2005-12-04  Bruno Haible  <bruno@clisp.org>
77701
77702                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
77703                 launcher (untested).
77704
77705         2005-12-04  Bruno Haible  <bruno@clisp.org>
77706
77707                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
77708
77709         2006-07-22  Bruno Haible  <bruno@clisp.org>
77710
77711                 * gettext.m4: Update from GNU gettext-0.15.
77712                 * nls.m4: Likewise.
77713                 * po.m4: Likewise.
77714                 * inttypes-pri.m4: Likewise.
77715                 * inttypes-h.m4: Renamed from inttypes.m4.
77716                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
77717
77718 2006-07-22  Bruno Haible  <bruno@clisp.org>
77719
77720         Merge from GNU gettext 0.15.
77721
77722         2005-07-05  Bruno Haible  <bruno@clisp.org>
77723
77724                 * printf-args.c (printf_fetchargs): Work around broken
77725                 definition of wint_t on mingw.
77726
77727         2005-02-12  Bruno Haible  <bruno@clisp.org>
77728
77729                 * xallocsa.h: Add extern "C" for C++.
77730
77731         2006-05-17  Bruno Haible  <bruno@clisp.org>
77732
77733                 Cygwin portability.
77734                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
77735
77736         2006-04-30  Bruno Haible  <bruno@clisp.org>
77737
77738                 * progreloc.c: Include <mach-o/dyld.h> if available.
77739                 (find_executable): Use _NSGetExecutablePath when possible.
77740
77741         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77742
77743                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
77744                 function.
77745
77746         2005-12-29  Bruno Haible  <bruno@clisp.org>
77747
77748                 * progreloc.c (set_program_name_and_installdir): Fix
77749                 compilation error.
77750
77751         2005-12-04  Bruno Haible  <bruno@clisp.org>
77752
77753                 Cygwin portability.
77754                 * progreloc.c: Include <windows.h> also on Cygwin.
77755                 (find_executable): Add support for Cygwin.
77756                 (set_program_name_and_installdir): Handle also platforms with
77757                 nonempty EXEEXT.
77758
77759         2006-07-11  Bruno Haible  <bruno@clisp.org>
77760
77761                 * javacomp.c: Fix a comment.
77762                 Reported by Jim Meyering.
77763
77764         2006-04-30  Bruno Haible  <bruno@clisp.org>
77765
77766                 * javacomp.h (compile_java_class): Add source_version,
77767                 target_version arguments.
77768                 * javacomp.c: Rewritten to choose only a compiler that
77769                 respects the specified source_version and target_version.
77770
77771         2006-06-27  Bruno Haible  <bruno@clisp.org>
77772
77773                 Assume correct S_ISDIR macro.
77774                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
77775
77776         2006-07-22  Bruno Haible  <bruno@clisp.org>
77777
77778                 * javaversion.h: New file, from GNU gettext.
77779                 * javaversion.c: New file, from GNU gettext.
77780                 * javaversion.java: New file, from GNU gettext.
77781                 * javaversion.class: New file, from GNU gettext.
77782
77783         2006-05-17  Bruno Haible  <bruno@clisp.org>
77784
77785                 Cygwin portability.
77786                 * javaexec.c (execute_java_class): Test for jview program
77787                 also on Cygwin.
77788
77789         2006-04-09  Bruno Haible  <bruno@clisp.org>
77790
77791                 * fatal-signal.c: Don't include string.h.
77792                 (at_fatal_signal): Use a copying loop instead of memcpy.
77793
77794         2005-12-04  Bruno Haible  <bruno@clisp.org>
77795
77796                 * csharpexec.c: Add support for 'clix' launcher (untested).
77797                 (execute_csharp_using_sscli): New function.
77798                 (execute_csharp_program): Call it.
77799
77800         2006-06-21  Bruno Haible  <bruno@clisp.org>
77801
77802                 Avoid warnings from recent versions of mcs.
77803                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
77804                 -o, -L, -r any more. Use options documented since mcs-1.0
77805                 instead. Similarly for -g.
77806
77807         2005-07-09  Bruno Haible  <bruno@clisp.org>
77808
77809                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
77810                 add a .dll suffix.
77811                 Reported by Mark Junker <mjscod@gmx.de>.
77812
77813         2006-06-17  Bruno Haible  <bruno@clisp.org>
77814
77815                 * config.charset: Update for NetBSD 3.0.
77816
77817         2006-05-17  Bruno Haible  <bruno@clisp.org>
77818
77819                 Cygwin portability.
77820                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
77821
77822         2006-05-16  Bruno Haible  <bruno@clisp.org>
77823
77824                 * localcharset.c [CYGWIN]: Include <windows.h>.
77825                 (get_charset_aliases): For Cygwin, return the same CPxxx
77826                 aliases list as under WIN32.
77827                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
77828                 the environment variables. Fall back to GetACP().
77829
77830         2006-04-05  Bruno Haible  <bruno@clisp.org>
77831
77832                 * config.charset: Update Juan Manuel Guerrero's address.
77833
77834         2005-02-12  Bruno Haible  <bruno@clisp.org>
77835
77836                 * allocsa.h: Add extern "C" for C++.
77837
77838         2005-02-10  Bruno Haible  <bruno@clisp.org>
77839
77840                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
77841                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
77842
77843         2006-07-22  Bruno Haible  <bruno@clisp.org>
77844
77845                 * gettext.h: Update to GNU gettext-0.15.
77846
77847 2006-07-22  Bruno Haible  <bruno@clisp.org>
77848
77849         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
77850         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
77851         lib-prefix.m4, longdouble.m4, ssize_t.m4.
77852
77853 2006-07-21  Eric Blake  <ebb9@byu.net>
77854
77855         * modules/stdlib-safer: New file.
77856         * MODULES.html.sh (File stream based Input/Output): Add
77857         stdlib-safer.
77858
77859 2006-07-21  Eric Blake  <ebb9@byu.net>
77860
77861         * lib/stdlib-safer.h: New file from coreutils, required by
77862         stdlib--.h.
77863
77864 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
77865
77866         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
77867
77868 2006-07-20  Bruno Haible  <bruno@clisp.org>
77869
77870         * gnulib-tool: Recognize new option --assume-autoconf.
77871         (autoconf_minversion): New variable.
77872         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
77873
77874 2006-07-20  Bruno Haible  <bruno@clisp.org>
77875
77876         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
77877
77878 2006-07-19  Derek R. Price  <derek@ximbiot.com>
77879
77880         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
77881         Reindent and repaginate.
77882
77883 2006-07-19  Derek Price  <derek@ximbiot.com>
77884
77885         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
77886         Correct grammar.
77887
77888 2006-07-17  Bruno Haible  <bruno@clisp.org>
77889
77890         * modules/list: New file.
77891         * modules/array-list: New file.
77892         * modules/carray-list, modules/carray-list-tests: New files.
77893         * modules/linked-list, modules/linked-list-tests: New files.
77894         * modules/avltree-list, modules/avltree-list-tests: New files.
77895         * modules/rbtree-list, modules/rbtree-list-tests: New files.
77896         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
77897         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
77898         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
77899         * modules/oset: New file.
77900         * modules/array-oset: New file.
77901         * modules/avltree-oset, modules/avltree-oset-tests: New files.
77902         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
77903         * tests/test-carray_list.c: New file.
77904         * tests/test-linked_list.c: New file.
77905         * tests/test-avltree_list.c: New file.
77906         * tests/test-rbtree_list.c: New file.
77907         * tests/test-linkedhash_list.c: New file.
77908         * tests/test-avltreehash_list.c: New file.
77909         * tests/test-rbtreehash_list.c: New file.
77910         * tests/test-avltree_oset.c: New file.
77911         * tests/test-rbtree_oset.c: New file.
77912         * MODULES.html.sh (Container data structures): New section.
77913
77914 2006-07-17  Bruno Haible  <bruno@clisp.org>
77915
77916         * m4/gl_list.m4: New file.
77917
77918 2006-07-17  Bruno Haible  <bruno@clisp.org>
77919
77920         * lib/gl_list.h: New file.
77921         * lib/gl_list.c: New file.
77922         * lib/gl_array_list.h: New file.
77923         * lib/gl_array_list.c: New file.
77924         * lib/gl_carray_list.h: New file.
77925         * lib/gl_carray_list.c: New file.
77926         * lib/gl_linked_list.h: New file.
77927         * lib/gl_linked_list.c: New file.
77928         * lib/gl_anylinked_list1.h: New file.
77929         * lib/gl_anylinked_list2.h: New file.
77930         * lib/gl_avltree_list.h: New file.
77931         * lib/gl_avltree_list.c: New file.
77932         * lib/gl_anyavltree_list1.h: New file.
77933         * lib/gl_anyavltree_list2.h: New file.
77934         * lib/gl_rbtree_list.h: New file.
77935         * lib/gl_rbtree_list.c: New file.
77936         * lib/gl_anyrbtree_list1.h: New file.
77937         * lib/gl_anyrbtree_list2.h: New file.
77938         * lib/gl_anytree_list1.h: New file.
77939         * lib/gl_anytree_list2.h: New file.
77940         * lib/gl_linkedhash_list.h: New file.
77941         * lib/gl_linkedhash_list.c: New file.
77942         * lib/gl_anyhash_list1.h: New file.
77943         * lib/gl_anyhash_list2.h: New file.
77944         * lib/gl_avltreehash_list.h: New file.
77945         * lib/gl_avltreehash_list.c: New file.
77946         * lib/gl_rbtreehash_list.h: New file.
77947         * lib/gl_rbtreehash_list.c: New file.
77948         * lib/gl_anytreehash_list1.h: New file.
77949         * lib/gl_anytreehash_list2.h: New file.
77950
77951         * lib/gl_oset.h: New file.
77952         * lib/gl_oset.c: New file.
77953         * lib/gl_array_oset.h: New file.
77954         * lib/gl_array_oset.c: New file.
77955         * lib/gl_avltree_oset.h: New file.
77956         * lib/gl_avltree_oset.c: New file.
77957         * lib/gl_rbtree_oset.h: New file.
77958         * lib/gl_rbtree_oset.c: New file.
77959         * lib/gl_anytree_oset.h: New file.
77960
77961 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77962
77963         * m4/mkancesdirs.m4: New file.
77964         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
77965         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
77966         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
77967         it.
77968
77969 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77970
77971         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
77972         * lib/mkancesdirs.h: New files.
77973         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
77974         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
77975         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
77976         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
77977         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
77978         callers changed.  Revamp internals significantly, by not
77979         attempting to create directories that are temporarily more
77980         permissive than the final results.  Do not attempt to use
77981         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
77982         This removes some race conditions, fixes some bugs, and simplifies
77983         things.  Use new dirchownmod function to do owner and mode changes.
77984         * lib/mkdir-p.h: Likewise.
77985         * lib/modechange.c (octal_to_mode): New function.
77986         (struct mode_change): New member mentioned.
77987         (make_node_op_equals): New arg mentioned.  All callers changed.
77988         (mode_compile): Keep track of which mode bits the user has explicitly
77989         mentioned.
77990         (mode_adjust): New arg DIR, so that we implement the X op correctly.
77991         New arg PMODE_BITS, to keep track of which mode bits the user
77992         mentioned; it treats S_ISUID and S_ISGID speciall.
77993         All callers changed.
77994         * lib/modechange.h: Likewise.
77995
77996 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77997
77998         * MODULES.html.sh: Add mkancestors.
77999         * modules/mkancesdirs: New module.
78000         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
78001         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
78002         The chdir-safer and afs files are now orphans; I'll remove them
78003         unless someone speaks up.
78004         Add lib/dirchownmod.c, lib/dirchownmod.h.
78005         (Depends-on): Remove alloca, chown, save-cwd, dirname.
78006         Add lchown, mkancesdirs.
78007         (Maintainer): Add self.
78008
78009 2006-07-15  Karl Berry  <karl@gnu.org>
78010
78011         * gnulib-tool: help message wording/arrangement.
78012
78013 2006-07-14  Simon Josefsson  <jas@extundo.com>
78014
78015         * doc/gnulib.texi (Libtool and Windows): New section.
78016
78017 2006-07-12  Simon Josefsson  <jas@extundo.com>
78018
78019         * modules/gendocs (License): Fix license, approved by Karl.
78020
78021 2006-07-12  Eric Blake  <ebb9@byu.net>
78022
78023         * MODULES.html.sh: Add gendocs.
78024
78025 2006-07-11  Eric Blake  <ebb9@byu.net>
78026
78027         * modules/fdl: New module, to install doc/fdl.texi.
78028         * MODULES.html.sh: Add new section for documentation modules.
78029         * gnulib-tool: Avoid space-tab.
78030         (--doc-base): New option, to manage files from doc.
78031
78032 2006-07-11  Eric Blake  <ebb9@byu.net>
78033
78034         * m4/absolute-header.m4: Fix comments to match recent change.
78035
78036 2006-07-11  Eric Blake  <ebb9@byu.net>
78037
78038         * gnulib-tool: List --doc-base before --tests-base.
78039
78040 2006-07-11  Derek R. Price  <derek@ximbiot.com>
78041
78042         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
78043
78044 2006-07-11  Bruno Haible  <bruno@clisp.org>
78045
78046         * README: Mention where to put documentation.
78047
78048 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78049
78050         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
78051
78052 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78053
78054         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
78055         to stdint.m4.
78056
78057 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78058
78059         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
78060         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
78061         "no/such/file/stdint.h" when there is no such file, so that
78062         the resulting C code can be parsed by dodgy compilers.
78063         Problems reported by Bob Proulx.
78064
78065 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78066
78067         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
78068         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78069         macros into the GNU _D_EXACT_NAMLEN.
78070         * lib/savedir.c:  Likewise.
78071         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
78072
78073 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78074         and Paul Eggert  <eggert@cs.ucla.edu>
78075
78076         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
78077         * m4/savedir.m4:
78078         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78079         macros into the GNU _D_EXACT_NAMLEN.
78080
78081 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78082
78083         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
78084         around the absolute name, to work around a problem with the HP-UX
78085         11.23 native C compiler, reported by Bob Proulx.
78086
78087 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78088
78089         * doc/maintain.texi, make-stds.texi: Sync from
78090         <http://savannah.gnu.org/projects/gnustandards>.
78091
78092 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78093
78094         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
78095
78096 2006-07-09  Jim Meyering  <jim@meyering.net>
78097
78098         * m4/glob.m4: Remove a doubled word in a comment.
78099
78100 2006-07-09  Jim Meyering  <jim@meyering.net>
78101
78102         * lib/argp-pv.c: Remove a doubled word in a comment.
78103         * lib/check-version.c (check_version): Likewise.
78104         * lib/javacomp.c (compile_java_class): Likewise.
78105
78106 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78107
78108         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
78109         for the benefit of people using Autoconf 2.60.  If you want to
78110         support older Autoconf versions you can copy m4/onceonly_2_57.m4
78111         (or m4/onceonly.m4, if pre-2.57) manually.
78112
78113 2006-07-08  Jim Meyering  <jim@meyering.net>
78114
78115         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
78116         comment.
78117         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
78118         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
78119         comment.
78120
78121 2006-07-08  Jim Meyering  <jim@meyering.net>
78122
78123         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
78124
78125 2006-07-07  Simon Josefsson  <jas@extundo.com>
78126
78127         * tests/test-crc.c: Change expected crc value, the test vector
78128         were probably computed using the old broken crc.c?
78129
78130 2006-07-06  Simon Josefsson  <jas@extundo.com>
78131
78132         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
78133         now the canonical place for the M4 file).
78134
78135         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
78136         from the sys_socket dependency now.
78137
78138         * modules/inet_pton (Files): Ditto.
78139
78140         * modules/inet_ntop (Files): Ditto.
78141
78142 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78143
78144         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
78145         not gl_PREREQ_GETUSERSHELL.
78146
78147 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78148
78149         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
78150         with only one argument, for Autoconf 2.60.
78151         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
78152         expand to nothing, so add a shell command to avoid syntax error.
78153         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78154
78155 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78156
78157         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
78158
78159 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78160
78161         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
78162         no longer needed.  Check for isblank decl.
78163         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
78164         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
78165         of existence.
78166
78167 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78168
78169         * lib/getloadavg.c: Use __VMS, not VMS.
78170         * lib/getopt.c: Likewise.
78171         * lib/getpagesize.h: Likewise.
78172         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
78173         and probably does not work.
78174
78175 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78176
78177         * lib/.cppi-disable: Add wcwidth.
78178         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
78179         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
78180         (ISGRAPH): Remove.  All uses changed to isgraph.
78181         (FOLD) [!defined _LIBC]: Remove special case.
78182         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
78183         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
78184         HAVE_ISBLANK.
78185         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
78186         case.
78187
78188 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78189
78190         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
78191         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
78192         brackets.  Other minor changes to suppress some compiler
78193         warnings.
78194
78195 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78196         and Paul Eggert  <eggert@cs.ucla.edu>
78197
78198         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
78199         of invoking obsolescent AC_HEADER_DIRENT macro.
78200         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
78201         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
78202         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
78203         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
78204         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
78205         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
78206         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
78207         * m4/readdir.m4: Remove; no longer needed.
78208
78209 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78210         and Paul Eggert  <eggert@cs.ucla.edu>
78211
78212         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
78213         Don't worry about this obsolete case any more.
78214         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
78215         directories.
78216         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
78217         worry about this obsolete case any more.
78218         * lib/fts.c: Likewise.
78219         * lib/getcwd.c: Likewise.
78220         * lib/glob.h: Likewise.
78221         * lib/savedir.c: Likewise.
78222
78223 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78224
78225         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
78226         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
78227         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
78228         needed.
78229         All uses removed.
78230         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78231         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78232         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
78233         needed.
78234         * m4/getdate.m4 (gl_GETDATE): Likewise.
78235         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78236         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78237         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78238         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78239         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78240         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78241         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
78242         needed.
78243
78244 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78245
78246         * lib/memcasecmp.c: Include <limits.h>.
78247         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
78248         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
78249         Don't assume isdigit succeeds only on '0' through '9'.
78250
78251 2006-07-05  Eric Blake  <ebb9@byu.net>
78252
78253         * modules/getaddrinfo (Depends-on): Add snprintf.
78254
78255 2006-07-05  Eric Blake  <ebb9@byu.net>
78256
78257         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
78258         to avoid 'header present but could not be compiled' on cygwin.
78259
78260 2006-07-05  Eric Blake  <ebb9@byu.net>
78261
78262         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
78263         missing from netdb.h.
78264         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
78265
78266 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78267
78268         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
78269         no longer needed.
78270         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
78271         * m4/getdate.m4 (gl_GETDATE): Likewise.
78272         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78273         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78274         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78275         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78276         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78277
78278 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78279
78280         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
78281         All uses of is_space replaced by isspace.
78282         * lib/exit.h: Don't talk about STDC_HEADERS.
78283         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
78284         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
78285         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
78286         replaced by isprint etc.
78287         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
78288         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78289         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
78290         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
78291         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
78292         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78293
78294 2006-07-05  Bruno Haible  <bruno@clisp.org>
78295
78296         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
78297         the function exists, before testing against AIX.
78298         Reported by Martin Lambers <marlam@marlam.de>.
78299
78300 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78301
78302         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
78303         From Mark D. Baushke.
78304
78305 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78306
78307         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
78308         to the absolute name, not just one, to bypass Sun C 5.8's
78309         "warning: #include of /usr/include/... may be non-portable".
78310
78311 2006-07-04  Eric Blake  <ebb9@byu.net>
78312
78313         * modules/dirname-tests: New test module.
78314         * tests/test-dirname.c: New file, replacing dirname.c
78315         TEST_DIRNAME section that was recently deleted.
78316
78317 2006-07-04  Bruno Haible  <bruno@clisp.org>
78318
78319         Assume ANSI C header files and <ctype.h> functions.
78320         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
78321         (mbsnwidth): Use isprint, iscntrl instead.
78322
78323 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78324
78325         Merge from coreutils.
78326         * MODULES.html.sh: Add xstrtold.
78327         * modules/xstrtold: New file.
78328         * modules/cycle-check (Files): Add lib/same-inode.h.
78329         * modules/dirname (Files): Add m4/double-slash-root.m4.
78330         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
78331         * modules/mkdir-p (Files): Add lib/same-inode.h.
78332         * modules/same (Files): Add lib/same-inode.h.
78333
78334 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78335
78336         * m4/absolute-header.m4: Renamed from full-header-path.m4.
78337         This is to keep the terminology clean; POSIX talks about
78338         "absolute pathnames", not "full pathnames", but the GNU
78339         Coding Standards say to use "path" for something else;
78340         so use "absolute" to keep both sides happy.
78341         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
78342         Set gl_absolute_header, not gl_full_header_path.
78343         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
78344         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
78345         All uses changed.
78346
78347         Merge from coreutils.
78348
78349         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78350
78351         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
78352         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
78353         want to require the building of c-strtod.o.
78354         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
78355         needs -lm directly.
78356         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
78357
78358         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78359
78360         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
78361         --as-needed option if available.  Problem reported by Albert Chin in
78362         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
78363         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
78364         cc merely issues a bunch of annoying warnings for --as-needed
78365         (this problem was reported by Bob Proulx).  Also, try linking with
78366         -lm to detect a bug in binutils 2.16 (this problem was reported
78367         by Ralf Wildenhues).
78368
78369         2006-06-18  Jim Meyering  <jim@meyering.net>
78370
78371         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
78372         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
78373         macro.
78374         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
78375         also check for glibc-2.4's abort-inducing bug.
78376
78377         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
78378         Low-probability clean-up should be to use rmdir to get rid of
78379         the just-created directory, not unlink.
78380
78381         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
78382         configure fail, and request a bug report to inform us about it.
78383         Add a comment that, barring reports to the contrary, in 2007 we'll
78384         assume ftruncate is universally available.
78385
78386         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78387
78388         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
78389
78390         2006-03-12  Jim Meyering  <jim@meyering.net>
78391
78392         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
78393         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
78394         * m4/same.m4 (gl_SAME): Likewise.
78395         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
78396
78397         2006-03-11  Eric Blake  <ebb9@byu.net>
78398
78399         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
78400         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
78401         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
78402         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
78403
78404 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78405
78406         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
78407         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
78408         reported by Mark D. Baushke, one in
78409         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
78410
78411         Merge from coreutils.
78412
78413         * lib/.cppi-disable: Add stdint_.h.
78414         * lib/.cvsignore: Add stdint.h.
78415
78416         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78417
78418         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
78419         both double and long double versions.
78420         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
78421         * lib/xstrtold.c: New file.
78422         * lib/xstrtod.h (xstrtold): New decl.
78423
78424         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
78425
78426         * lib/filemode.c (setst): Remove.
78427         (strmode): Rewrite to avoid setst.  This makes the code shorter,
78428         (arguably) clearer, and the generated code is a bit smaller on my
78429         Debian GNU/Linux stable x86 host.
78430
78431         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78432
78433         * lib/filemode.c: Include "filemode.h" first, to test the interface.
78434         Assume that filemode.h includes sys/types.h and sys/stat.h.
78435         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
78436         (ftypelet): Reorder to put common cases first, for efficiency.
78437         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
78438         to do 'M'.
78439         (strmode): Renamed from mode_string, and now stores 12 bytes instead
78440         of 10, for compatibility with FreeBSD.  All callers changed.
78441         (filemodestring): Now stores 12 bytes instead of 10, and sets file
78442         types that can't be deduced solely from st_mode.  First arg is now a
78443         const pointer.
78444         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
78445         (strmode): Renamed from mode_string.
78446         (filemodestring): New decl.
78447         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
78448         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
78449         needed.
78450         (S_ISPORT, S_ISWHT): New macros, if not already defined.
78451
78452         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
78453
78454         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
78455         fsusage.h now does that.  Include fsusage.h first, to test interface.
78456         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
78457         at most one method (the old code could have generated decls that
78458         didn't conform to C89, not that this was ever exercised).
78459         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
78460
78461         2006-03-19  Jim Meyering  <jim@meyering.net>
78462
78463         Work even in a chroot where d_ino values for entries in "/"
78464         don't match the stat.st_ino values for the same names.
78465         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
78466         number, iterate through all entries again, using lstat instead.
78467         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
78468         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
78469
78470         * lib/getcwd.c (__getcwd): Clarify a comment.
78471         Use memcpy in place of a call to strcpy.
78472
78473         2006-03-12  Jim Meyering  <jim@meyering.net>
78474
78475         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
78476         matches that of the current directory (which we're about to chdir ".."
78477         out of), then save the dev-ino of the parent, instead.
78478
78479         * lib/same-inode.h (SAME_INODE): New file/macro.
78480         * lib/chdir-safer.c (SAME_INODE): Remove definition.
78481         Include "same-inode.h", instead.
78482         * lib/same.c: Likewise.
78483         * lib/cycle-check.h: Include "same-inode.h".
78484         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
78485         * lib/cycle-check.c (SAME_INODE): Remove definition.
78486         * lib/root-dev-ino.h: Include "same-inode.h".
78487
78488         2006-03-11  Eric Blake  <ebb9@byu.net>
78489
78490         * lib/same.c (same_name): s/base_name/last_component/
78491         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
78492         * lib/filenamecat.c (file_name_concat): Likewise.
78493
78494         2006-03-11  Eric Blake  <ebb9@byu.net>,
78495                     Paul Eggert  <eggert@cs.ucla.edu>
78496
78497         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
78498         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
78499         drive prefix.
78500         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
78501         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
78502         (last_component): New method.
78503         * lib/dirname.c (dir_len): Determine when drive letters need a
78504         subsequent slash.  Preserve // when it is special.
78505         (dir_name): Don't append dot when drive letter is absolute.
78506         [TEST_DIRNAME]: Move into a full-blown gnulib test.
78507         * lib/basename.c (base_name): New semantics - malloc the result.
78508         Preserve // when it is special.  Preserve relative files that look
78509         like drive letters.
78510         (base_len): Preserve // when it is special.
78511         (last_component): New method, similar to old base_name semantics.
78512         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
78513         base_name.  Strip redundant slashes from ///.
78514
78515 2006-07-03  Jim Meyering  <jim@meyering.net>
78516
78517         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
78518         macro is used before the first cycle_check call.
78519
78520 2006-07-03  Eric Blake  <ebb9@byu.net>
78521
78522         * modules/dirname (Depends-on): Add xstrndup.
78523
78524 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78525
78526         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
78527         test cases, so that config.log is a bit easier to follow.
78528
78529 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78530
78531         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
78532         both are 64 bits, since this seems to be the tradition, and this
78533         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
78534         we ever run into a host that prefers long long to long in this
78535         case, we'll need another configure-time test.  Problem reported by
78536         Jim Meyering.
78537
78538 2006-07-02  Eric Blake  <ebb9@byu.net>
78539
78540         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
78541
78542 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78543
78544         * modules/inttypes (Depends-on): No longer depends on stdint.
78545         * modules/stdint (Description): Say more about assumptions.
78546         Say that the fast types might differ.  Say macros are used.
78547         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
78548         (Makefile.am): Revise list of substituted symbols to match
78549         new stdint.m4.
78550         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
78551         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
78552         * tests/test-stdint.c (verify_same_types)
78553         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
78554         the code conforms to C99/C89.
78555         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
78556         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
78557
78558 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78559
78560         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
78561         but fix a bug, by requiring at least 64 bits.
78562         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
78563         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
78564         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
78565         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78566
78567         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
78568         changes.  Make 2.59 a prerequisite.  Check and substitute for
78569         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
78570         inttypes.h.  Do not use special include files; just use the
78571         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
78572         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
78573         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
78574         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
78575         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
78576         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
78577         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
78578         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
78579         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
78580         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
78581         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
78582         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
78583         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
78584         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
78585         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
78586         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
78587         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
78588         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
78589         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
78590         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
78591         WINT_MAX.  Check for C99 conformance more strictly, by detecting
78592         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
78593         not check for things that C99 does not require, e.g., int8_t.  If
78594         a test isn't needed unless <stdint.h> isn't working, and is
78595         unlikely to be needed for any other reason, then don't do it
78596         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
78597         size_t, since we assume C89 freestanding at least.  Do not check
78598         for sig_atomic_t, wchar_t, or wint_t, since the code now does
78599         the right thing even if the types are not defined.  Instead use:
78600         (gl_STDINT_TYPE_PROPERTIES): New macro.
78601         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
78602         testing whether <sys/types.h> clashes, as Autoconf does this for
78603         us now.  All uses removed.
78604         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
78605         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
78606         (gl_CHECK_TYPE_SAME):
78607         Remove; no longer needed.
78608         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
78609         exists, since we'll return 0 anyway in that case.
78610         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
78611
78612 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78613
78614         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
78615         possible collision with system files.
78616         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
78617         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
78618         WCHAR_MIN and WCHAR_MAX in this case.
78619         (<stddef.h>): Do not include; no longer needed.
78620         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
78621         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
78622         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
78623         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
78624         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
78625         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
78626         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
78627         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
78628         !defined(__c99))]: Include in this case too, since it's harmless
78629         now.
78630         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
78631         dangerous to do so.
78632         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
78633         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
78634         (_STDINT_MIN, _STDINT_MAX): New macros.
78635         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
78636         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
78637         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
78638         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
78639         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
78640         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
78641         macros, not typedefs; this simplifies things quite a bit.
78642         Use long int for all types narrower than int64_t.
78643         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
78644         Define in terms of long long int or int64_t or long int,
78645         not int64_t or int32_t.  This saves some compile-time testing.
78646         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
78647         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
78648         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
78649         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
78650         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
78651         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
78652         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
78653         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
78654         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
78655         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
78656         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78657         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78658         undef any previous version and define our own version, for
78659         simplicity and consistency with the new macros for types.
78660         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78661         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78662         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
78663         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
78664         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
78665         @WINT_T_SUFFIX@ to keep things simple here.
78666         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
78667         Simplify by assuming typical 8/16/32/64 host, since we're
78668         already doing that elsewhere anyway.
78669         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
78670         and assume long long int is 64 bits if available.  This
78671         speeds up 'configure'.
78672
78673 2006-07-01  Eric Blake  <ebb9@byu.net>
78674
78675         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
78676         Reported by Andreas Buening.
78677
78678 2006-07-01  Eric Blake  <ebb9@byu.net>
78679
78680         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
78681
78682 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78683
78684         * lib/getaddrinfo.c: fixed typo
78685
78686 2006-06-29  Jim Meyering  <jim@meyering.net>
78687
78688         * modules/strftime (Maintainer): Add my name, since with the
78689         FPRINTFTIME changes strftime.c has forked from glibc.
78690
78691 2006-06-29  Eric Blake  <ebb9@byu.net>
78692
78693         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
78694
78695 2006-06-29  Eric Blake  <ebb9@byu.net>
78696
78697         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
78698
78699 2006-06-29  Eric Blake  <ebb9@byu.net>
78700
78701         * lib/stat_.h: New file.
78702
78703 2006-06-29  Eric Blake  <ebb9@byu.net>
78704
78705         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
78706         unused static function.
78707
78708 2006-06-29  Eric Blake  <ebb9@byu.net>
78709
78710         * doc/functions.texi (Function Portability): Document missing lstat
78711         on mingw.
78712
78713 2006-06-29  Eric Blake  <ebb9@byu.net>
78714
78715         * MODULES.html.sh: Add sys_stat.
78716         * modules/sys_stat: New module.
78717         * modules/mkstemp (Depends-on): Add sys_stat.
78718
78719 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78720
78721         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
78722
78723 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78724
78725         * m4/c-bs-a.m4: Removed.
78726
78727 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78728
78729         * lib/strftime.c: Assume strftime() exists.
78730
78731 2006-06-29  Derek Price  <derek@ximbiot.com>
78732
78733         * modules/c-bs-a: Removed - \a is C89.
78734         * MODULES.html.sh: Remove c-bs-a.
78735
78736 2006-06-29  Bruno Haible  <bruno@clisp.org>
78737
78738         * modules/wcwidth (License): Change to LGPL.
78739
78740 2006-06-28  Simon Josefsson  <jas@extundo.com>
78741
78742         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
78743         on _WIN32.
78744
78745         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
78746         getnameinfo.
78747
78748 2006-06-28  Simon Josefsson  <jas@extundo.com>
78749
78750         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
78751
78752 2006-06-28  Simon Josefsson  <jas@extundo.com>
78753
78754         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
78755         functions there.  It will succeed on Windows XP, but on Windows
78756         2000 and (presumably) earlier, it will fail, and use the internal
78757         re-implementation.
78758         (use_win32_p): New function.
78759         (getaddrinfo): Use strtoul on servname, to support numeric ports.
78760         Support AI_NUMERICSERV to disable getservbyname.
78761         (getnameinfo): New function, only supports
78762         NI_NUMERICHOST|NI_NUMERICSERV for now.
78763
78764         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
78765         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
78766         getnameinfo.
78767
78768 2006-06-28  Eric Blake  <ebb9@byu.net>
78769
78770         * modules/wcwidth: New file.
78771         * modules/mbchar (Depends-on): Add wcwidth.
78772         * modules/mbswidth (Depends-on): Add wcwidth.
78773         * MODULES.html.sh: Add wcwidth.
78774
78775 2006-06-28  Eric Blake  <ebb9@byu.net>
78776
78777         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
78778         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
78779
78780 2006-06-28  Eric Blake  <ebb9@byu.net>
78781
78782         * lib/xvasprintf.h: Fix comments.
78783
78784 2006-06-28  Eric Blake  <ebb9@byu.net>
78785
78786         * lib/mbchar.h (wcwidth): Include wcwidth.h.
78787         * lib/mbswidth.c (wcwidth): Move from here...
78788         * lib/wcwidth.h: ...to this new file.
78789
78790 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78791
78792         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
78793
78794         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
78795         it's obsolete.
78796         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
78797
78798 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78799
78800         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
78801         Autoconf 2.60 says this stuff was obsolete.
78802
78803 2006-06-28  Bruno Haible  <bruno@clisp.org>
78804
78805         * modules/wcwidth (Files): Add m4/wchar_t.m4.
78806
78807 2006-06-28  Bruno Haible  <bruno@clisp.org>
78808
78809         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
78810         gt_TYPE_WCHAR_T.
78811
78812 2006-06-28  Bruno Haible  <bruno@clisp.org>
78813
78814         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
78815         declaration for wcwidth.
78816         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
78817
78818 2006-06-28  Bruno Haible  <bruno@clisp.org>
78819
78820         * lib/mkdtemp.c [MINGW]: Include <io.h>.
78821         (mkdir): Define using _mkdir.
78822
78823 2006-06-28  Bruno Haible  <bruno@clisp.org>
78824
78825         * lib/getaddrinfo.h: Fix POSIX URL.
78826         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
78827         _WIN32.
78828         (use_win32_p): Make static.
78829         (getaddrinfo): Reject service name if it is empty or does not consist
78830         solely of decimal digits, or if its value is > 65535.
78831         (getnameinfo): Remove useless casts.
78832
78833 2006-06-27  Simon Josefsson  <jas@extundo.com>
78834
78835         * modules/sys_select: New file, suggested by Bruno Haible, Paul
78836         Eggert and Martin Lambers.
78837
78838 2006-06-27  Simon Josefsson  <jas@extundo.com>
78839
78840         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
78841         Eggert and Martin Lambers.
78842
78843 2006-06-27  Bruno Haible  <bruno@clisp.org>
78844
78845         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
78846         result to 0, not to empty.
78847         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
78848
78849 2006-06-27  Bruno Haible  <bruno@clisp.org>
78850
78851         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
78852
78853 2006-06-26  Simon Josefsson  <jas@extundo.com>
78854
78855         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
78856         present.
78857
78858 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
78859
78860         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
78861         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
78862         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
78863
78864 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
78865
78866         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
78867
78868 2006-06-26  Bruno Haible  <bruno@clisp.org>
78869
78870         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
78871
78872 2006-06-26  Bruno Haible  <bruno@clisp.org>
78873
78874         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
78875
78876 2006-06-26  Bruno Haible  <bruno@clisp.org>
78877
78878         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
78879         SGI C compiler in pre-C99 mode.
78880         Suggested by Mark D. Baushke and Larry Jones.
78881
78882 2006-06-26  Bruno Haible  <bruno@clisp.org>
78883
78884         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
78885         WCHAR_MAX.
78886         Reported by Mark D. Baushke and Larry Jones.
78887
78888 2006-06-26  Bruno Haible  <bruno@clisp.org>
78889
78890         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
78891         in pre-C99 mode.
78892         Suggested by Mark D. Baushke and Larry Jones.
78893
78894 2006-06-23  Simon Josefsson  <jas@extundo.com>
78895             Bruno Haible  <bruno@clisp.org>
78896
78897         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
78898         Emit mostlyclean-local rule.
78899         (func_emit_tests_Makefile_am): Likewise.
78900         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
78901
78902 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
78903
78904         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
78905
78906 2006-06-23  Bruno Haible  <bruno@clisp.org>
78907
78908         * tests/test-stdint.c: Update to match ISO C 99 Technical
78909         Corrigendum 1.
78910
78911 2006-06-23  Bruno Haible  <bruno@clisp.org>
78912
78913         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
78914
78915 2006-06-23  Bruno Haible  <bruno@clisp.org>
78916
78917         * lib/stdint_.h: Treat IRIX like OpenBSD.
78918
78919 2006-06-23  Bruno Haible  <bruno@clisp.org>
78920
78921         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
78922         ISO C 99 Technical Corrigendum 1.
78923
78924 2006-06-22  Simon Josefsson  <jas@extundo.com>
78925
78926         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
78927         MinGW.
78928
78929 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78930
78931         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
78932         needed.  Some compiler complained about some of them.  Problem reported
78933         by Larry Jones in
78934         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
78935
78936 2006-06-21  Simon Josefsson  <jas@extundo.com>
78937
78938         * tests/test-getaddrinfo.c: New file.
78939
78940         * modules/getaddrinfo-tests: New file.
78941
78942         * MODULES.html.sh: Add inet_pton.
78943
78944         * modules/inet_pton: New file.
78945
78946 2006-06-21  Simon Josefsson  <jas@extundo.com>
78947
78948         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
78949         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
78950         of using the (limited) gnulib implementation on Windows XP.
78951
78952         * m4/inet_pton.m4: New file.
78953
78954 2006-06-21  Simon Josefsson  <jas@extundo.com>
78955
78956         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
78957         variable.
78958
78959         * lib/socket_.h: Don't define WINVER.
78960
78961         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
78962         slightly modified to work in gnulib.
78963
78964 2006-06-21  Simon Josefsson  <jas@extundo.com>
78965
78966         * doc/gnulib.texi (Windows sockets): Add.
78967
78968 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
78969
78970         * lib/read-file.c (fread_file): Start with buffer allocation of
78971         0 bytes rather than 1 byte; this simplifies the code.
78972         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
78973         code to free buffer and save/restore errno.
78974         (internal_read_file): Remove unused local.
78975
78976 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
78977
78978         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
78979         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
78980         Problem reported by Denis Excoffier in
78981         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
78982
78983 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78984
78985         * modules/sys_socket, modules/socklen: Include sys/types since
78986         FreeBSD 4.x's sys/socket.h needs it.
78987
78988 2006-06-19  Simon Josefsson  <jas@extundo.com>
78989
78990         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
78991
78992 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78993
78994         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
78995
78996 2006-06-19  Bruno Haible  <bruno@clisp.org>
78997
78998         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
78999         and FULL_PATH_INTTYPES_H in angle brackets.
79000         Reported by Mark D. Baushke <mdb@gnu.org>.
79001
79002 2006-06-17  Eric Blake  <ebb9@byu.net>
79003
79004         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
79005         errno.
79006
79007 2006-06-17  Bruno Haible  <bruno@clisp.org>
79008
79009         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
79010         <sys/inttypes.h>.
79011
79012 2006-06-17  Bruno Haible  <bruno@clisp.org>
79013
79014         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
79015         whether errno is declared. Assume <errno.h> declares errno.
79016
79017 2006-06-17  Bruno Haible  <bruno@clisp.org>
79018
79019         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
79020
79021 2006-06-17  Bruno Haible  <bruno@clisp.org>
79022
79023         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
79024         problem on Solaris 2.5.1.
79025
79026 2006-06-16  Eric Blake  <ebb9@byu.net>
79027
79028         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
79029         * lib/unicodeio.c [!defined errno]: Likewise.
79030         * lib/strtol.c [!defined errno]: Likewise.
79031         * lib/strtod.c [!defined errno]: Likewise.
79032
79033 2006-06-15  Eric Blake  <ebb9@byu.net>
79034
79035         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
79036
79037 2006-06-15  Eric Blake  <ebb9@byu.net>
79038
79039         * config/srclist.txt (ssize_t.m4): Lose sync.
79040
79041 2006-06-15  Bruno Haible  <bruno@clisp.org>
79042
79043         * modules/stdint (Files): Include m4/full-header-path.m4,
79044         m4/size_max.m4, m4/wchar_t.m4.
79045         (Makefile.am): Many more substitutions.
79046         * modules/stdint-tests: New file.
79047         * tests/test-stdint.c: New file.
79048
79049 2006-06-15  Bruno Haible  <bruno@clisp.org>
79050
79051         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
79052         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
79053         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
79054         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
79055         gl_CHECK_TYPE_SAME): New macros.
79056
79057 2006-06-15  Bruno Haible  <bruno@clisp.org>
79058
79059         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
79060
79061 2006-06-15  Bruno Haible  <bruno@clisp.org>
79062
79063         * lib/stdint_.h: Rewritten to be fully auto-configured.
79064         Fixes bug on HP-UX/IA64.
79065
79066 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
79067
79068         * lib/getdate.y (__attribute__): Don't define if already defined.
79069         Problem reported by Larry Jones.
79070         * lib/utimens.c (__attribute__): Likewise.
79071
79072 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
79073
79074         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
79075         reported by Andreas Schwab.
79076
79077 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79078             Bruno Haible  <bruno@clisp.org>
79079
79080         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
79081         check for the declaration of strnlen and a run test that exposes the
79082         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
79083         rpl_strndup.
79084
79085 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79086             Bruno Haible  <bruno@clisp.org>
79087
79088         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
79089
79090 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79091
79092         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
79093         compile test, for Tru64 4.0D.
79094
79095 2006-05-28  Karl Berry  <karl@gnu.org>
79096
79097         * config/srclist.txt (printf-args.c): lose sync.
79098
79099 2006-05-26  Martin Lambers  <marlam@marlam.de>
79100
79101         * lib/getpass.c: Updates the test for the native W32 API, and adds
79102         missing includes, thus fixing compilation warnings.
79103
79104 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79105
79106         * lib/exclude.c (exclude_fnmatch): New function.
79107         (excluded_file_name): Call exclude_fnmatch.
79108         * lib/exclude.h (excluded_file_name): New prototype
79109
79110 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
79111
79112         * lib/tempname.c (small_open, large_open): New macros.
79113         (__open, __open64) [!_LIBC]: Remove.
79114         (__gen_tempname): Use small_open and large_open instead of __open
79115         and __open64.  This fixes a portability bug on HP-UX 11.11i
79116         reported by Simon Wing-Tang in
79117         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
79118
79119 2006-05-24  Bruno Haible  <bruno@clisp.org>
79120
79121         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
79122         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
79123         Reported by Thorsten Maerz <torte@netztorte.de> via
79124         Aaron Stone <aaron@serendipity.cx>.
79125
79126 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79127
79128         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
79129         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
79130         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
79131         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
79132         not really conditional on the cache.
79133         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
79134
79135 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79136
79137         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
79138         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
79139         (my_usleep): Don't mishandle maximum value.
79140
79141 2006-05-19  Jim Meyering  <jim@meyering.net>
79142
79143         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
79144
79145 2006-05-17  Bruno Haible  <bruno@clisp.org>
79146
79147         Cygwin portability.
79148         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
79149
79150 2006-05-17  Bruno Haible  <bruno@clisp.org>
79151
79152         * lib/stdint_.h: Fix recognition of Cygwin.
79153
79154 2006-05-15  Bruno Haible  <bruno@clisp.org>
79155
79156         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
79157         on libtool patch by Ralf Wildenhues.
79158
79159 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79160
79161         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
79162         test for C99 conformance; (bool) 0.5 is an integer constant
79163         expression, but (bool) -0.5 is not.  Problem reported by Fedor
79164         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
79165
79166 2006-05-11  Simon Josefsson  <jas@extundo.com>
79167
79168         * m4/xvasprintf.m4: Fix obvious typo.
79169
79170 2006-05-11  Jim Meyering  <jim@meyering.net>
79171
79172         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
79173         James Lemley.
79174
79175 2006-05-10  Simon Josefsson  <jas@extundo.com>
79176
79177         * lib/md4.c: Typo fix, update copyright years.
79178         (K1, K2): Don't use L because it turn computations into 64-bit on
79179         64-bit platforms.
79180
79181 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
79182
79183         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
79184         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
79185         unwanted sign propagation, e.g., on hosts with 64-bit int.
79186         There still are some problems with reeelly weird theoretical hosts
79187         (e.g., 33-bit int) but it's not worth worrying about now.
79188         * lib/sha1.c (rol): Likewise.
79189         (K1, K2, K3, K4): Remove unnecessary L suffix.
79190
79191 2006-05-10  Bruno Haible  <bruno@clisp.org>
79192
79193         * lib/des.c: Cast to avoid warnings.
79194
79195 2006-05-09  Bruno Haible  <bruno@clisp.org>
79196
79197         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
79198         (Depends-on): Depend also on xsize, stdarg.
79199         (configure.ac): Add gl_XVASPRINTF.
79200
79201 2006-05-09  Bruno Haible  <bruno@clisp.org>
79202
79203         * m4/xvasprintf.m4: New file.
79204
79205 2006-05-09  Bruno Haible  <bruno@clisp.org>
79206
79207         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
79208         (EOVERFLOW): Define fallback value.
79209         (xstrcat): New function.
79210         (xvasprintf): Recognize the special case of a string concatenation.
79211
79212 2006-05-08  Eric Blake  <ebb9@byu.net>
79213
79214         * gnulib-tool (func_version): Base copyright year on CVS date.
79215         (func_emit_copyright_notice): New function.
79216         (func_emit_lib_Makefile_am): Use it.
79217         (func_emit_tests_Makefile_am): Likewise.
79218         (func_import): Likewise.
79219
79220 2006-05-08  Bruno Haible  <bruno@clisp.org>
79221
79222         * modules/stdarg: New file.
79223         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
79224
79225 2006-05-08  Bruno Haible  <bruno@clisp.org>
79226
79227         * m4/stdarg.m4: New file, from GNU gettext.
79228
79229 2006-05-08  Bruno Haible  <bruno@clisp.org>
79230
79231         * config/srclist.txt (build-aux/config.rpath): different from latest
79232         release.
79233
79234 2006-05-08  Bruno Haible  <bruno@clisp.org>
79235
79236         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
79237
79238 2006-05-05  Jim Meyering  <jim@meyering.net>
79239
79240         * m4/warning.m4: New file, derived from bison's file by the same name.
79241
79242 2006-05-03  Bruno Haible  <bruno@clisp.org>
79243
79244         * lib/stdint_.h: Shorter URL.
79245         * lib/inttypes.h: Likewise.
79246
79247 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79248
79249         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
79250
79251 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79252
79253         * lib/verify.h: Document the internals better.  Most of this change
79254         was written by Bruno Haible.
79255
79256 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79257
79258         * doc/verify.texi: New file, partly based on a proposal by
79259         Bruno Haible.
79260
79261 2006-05-02  Bruno Haible  <bruno@clisp.org>
79262
79263         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
79264         test from here...
79265         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
79266
79267 2006-04-29  Bruno Haible  <bruno@clisp.org>
79268
79269         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
79270         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
79271
79272 2006-04-29  Bruno Haible  <bruno@clisp.org>
79273
79274         * gnulib-tool: Make --update option actually work.
79275
79276 2006-04-29  Bruno Haible  <bruno@clisp.org>
79277
79278         * doc/gcd.texi: New file.
79279         * doc/gnulib.texi: Include it.
79280
79281 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
79282
79283         * lib/getdate.y (get_date): When adding relative date, start with the
79284         initial time, not with the result of the first mktime call.
79285
79286 2006-04-25  Bruno Haible  <bruno@clisp.org>
79287
79288         * gnulib-tool (func_import): Output the include directives in three
79289         blocks, sorted separately.
79290         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79291
79292 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79293
79294         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
79295         to define main with arguments, for C++.  Reported by Eric Blake.
79296         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
79297         Prefer 'int main ()' to 'int main (void)', for C++.
79298         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
79299         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
79300         for 'main', for C99 and C++.
79301
79302 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79303
79304         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
79305         Don't assume that exit status -1 is valid.
79306         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79307         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
79308         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
79309         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
79310         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
79311         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
79312         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
79313         functions can be used without declaring them, or that you can
79314         exit with status -1.
79315         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
79316
79317 2006-04-24  Karl Berry  <karl@gnu.org>
79318
79319         * config/srclist.txt (longdouble.m4): sync lost.
79320
79321 2006-04-24  Eric Blake  <ebb9@byu.net>
79322
79323         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
79324
79325 2006-04-24  Bruno Haible  <bruno@clisp.org>
79326
79327         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
79328         poll() implementation in AIX.
79329         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79330
79331 2006-04-24  Bruno Haible  <bruno@clisp.org>
79332
79333         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
79334         assigned exactly once.
79335
79336 2006-04-23  Claudio Fontana  <claudio@gnu.org>
79337             Bruno Haible  <bruno@clisp.org>
79338
79339         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
79340         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
79341         for AM_CPPFLAGS.
79342
79343 2006-04-23  Bruno Haible  <bruno@clisp.org>
79344
79345         * modules/copy-file: Depend on unistd.
79346         * modules/execute: Likewise.
79347         * modules/fatal-signal: Likewise.
79348         * modules/findprog: Likewise.
79349         * modules/mkdtemp : Likewise.
79350         * modules/pipe: Likewise.
79351         * modules/wait-process: Likewise.
79352
79353 2006-04-23  Bruno Haible  <bruno@clisp.org>
79354
79355         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
79356         condition was already detected.
79357         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79358
79359 2006-04-23  Bruno Haible  <bruno@clisp.org>
79360
79361         * lib/copy-file.c: Include <unistd.h> unconditionally.
79362         * lib/execute.c: Likewise.
79363         * lib/fatal-signal.c: Likewise.
79364         * lib/findprog.c: Likewise.
79365         * lib/mkdtemp.c: Likewise.
79366         * lib/pipe.h: Likewise.
79367         * lib/pipe.c: Likewise.
79368         * lib/wait-process.h: Likewise.
79369
79370 2006-04-23  Bruno Haible  <bruno@clisp.org>
79371
79372         * gnulib-tool (func_usage): Fix --import description. Document
79373         --update.
79374         (func_import): Create temporary file in a temporary directory, if
79375         --dry-run is specified. Silence errors from 'grep' when there are no
79376         m4 files in $m4dir.
79377         (func_create_testdir): Silence errors from 'grep' when there are no
79378         m4 files in $m4dir.
79379         Reported by Karl Berry <karl@freefriends.org>.
79380
79381 2006-04-20  Bruno Haible  <bruno@clisp.org>
79382
79383         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
79384         one argument, so that the code will be portable to Autoconf 2.60.
79385         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
79386         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79387         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
79388
79389 2006-04-19  Derek Price  <derek@ximbiot.com>
79390             Eric Blake  <ebb9@byu.net>
79391
79392         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
79393         rather than "/full/path.h".  Update comment to match.  Shorten &
79394         generalize m4_translit call via AS_TR_CPP.
79395
79396 2006-04-19  Derek Price  <derek@ximbiot.com>
79397             Eric Blake  <ebb9@byu.net>
79398
79399         * lib/inttypes.h: Correct grammar in comment.
79400
79401 2006-04-18  Derek Price  <derek@ximbiot.com>
79402             Paul Eggert  <eggert@cs.ucla.edu>
79403
79404         * modules/inttypes: New file.
79405         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
79406
79407 2006-04-18  Derek Price  <derek@ximbiot.com>
79408             Paul Eggert  <eggert@cs.ucla.edu>
79409
79410         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
79411         New files.
79412
79413 2006-04-18  Derek Price  <derek@ximbiot.com>
79414             Paul Eggert  <eggert@cs.ucla.edu>
79415
79416         * lib/inttypes.h: New file.
79417         * lib/strtoimax.c: Assume <inttypes.h>.
79418
79419 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
79420
79421         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
79422         isn't mounted.  Problem reported by Kir Kolyshkin.
79423
79424 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79425
79426         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
79427         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
79428         Derek R. Price.
79429         * lib/regex.h (RE_DUP_MAX): Update comment to match current
79430         implementation.
79431
79432 2006-04-12  Eric Blake  <ebb9@byu.net>
79433
79434         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
79435         is now done automatically by the corresponding Autoconf macro.
79436
79437 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
79438
79439         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
79440         time_r.h.
79441
79442 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79443
79444         Merge regex changes from libc, removing some of our
79445         POSIX-conformance changes that were rejected and redoing them in a
79446         less-intrusive way.
79447
79448         * lib/regcomp.c (re_compile_internal, init_dfa):
79449         Length arg is now size_t, not Idx.  All uses changed.
79450         (peek_token): Forward decl now says internal_function.
79451         (__re_error_msgid, __re_error_msgid_idx):
79452         Now static rather than extern with attribute_hidden.
79453         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
79454         For some reason libc prefers K&R style defns for external functions.
79455         (regerror) [!defined _LIBC]: Likewise.
79456         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
79457         (seek_collating_symbol_entry, lookup_collation_sequence_value):
79458         (build_range_exp, build_collating_symbol):
79459         Use K&R-style defn.
79460         (re_compile_fastmap): Use '\0' to memset, not 0.
79461         (utf8_sb_map): Make the calculations more obvious.
79462         (init_dfa, parse_bracket_exp, build_charclass_op):
79463         Call calloc and cast result, as glibc does.
79464         (init_word_char, fetch_token, peek_token, peek_token_bracket):
79465         (build_range_exp, build_collating_symbol):
79466         Now internal functions.
79467
79468         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
79469
79470         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
79471         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
79472         Don't depend on VMS; depend on __VMS instead, for POSIX
79473         namespace cleanness.
79474         (regoff_t): Define to ssize_t, not long int.
79475
79476         Remove the REG_ macros named below.  Instead, make the old names
79477         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
79478         __USE_GNU_REGEX.
79479         (REG_BACKSLASH_ESCAPE_IN_LISTS):
79480         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
79481         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
79482         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
79483         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
79484         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
79485         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
79486         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
79487         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
79488         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
79489         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
79490         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
79491         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
79492         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
79493         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
79494         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
79495         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
79496         (REG_NREGS):
79497         Remove.  All uses replaced by the old RE_* names.
79498         (RE_BACKSLASH_ESCAPE_IN_LISTS):
79499         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
79500         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
79501         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
79502         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
79503         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
79504         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
79505         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
79506         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
79507         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
79508         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
79509         Don't bother having these macros be independent of each others'
79510         values, since they no longer exist in the POSIX name space.
79511
79512         Rename the following member names back to their old names,
79513         unless !__USE_GNU_REGEX.  All uses changed back.
79514         (buffer): Renamed from re_buffer.
79515         (allocated): Renamed from re_allocated.
79516         (used): Renamed from re_used.
79517         (syntax): Renamed from re_syntax.
79518         (fastmap): Renamed from re_fastmap.
79519         (translate): Renamed from re_translate.
79520         (can_be_null): Renamed from re_can_be_null.
79521         (regs_allocated): Renamed from re_regs_allocated.
79522         (fastmap_accurate): Renamed from re_fastmap_accurate.
79523         (no_sub): Renamed from re_no_sub.
79524         (not_bol): Renamed from re_not_bol.
79525         (not_eol): Renamed from re_not_eol.
79526         (newline_anchor): Renamed from re_newline_anchor.
79527         (num_regs): Renamed from rm_num_regs.
79528         (start): Renamed from rm_start.
79529         (end): Renamed from rm_end.
79530
79531         (free_state): Move up a bit.
79532
79533         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
79534         #define to be empty.
79535         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
79536         when that is what is intended.
79537         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
79538         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
79539         (MAX): New macro.
79540         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
79541         All uses changed back to re_malloc, etc.  It's now the caller's
79542         responsibility to check for overflow; all callers changed.
79543         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
79544         (re_x2nrealloc): Remove.
79545         (free_state): Remove decl.
79546
79547         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
79548         (re_set_registers, re_exec):
79549         Use K&R-style defn.
79550
79551         2006-01-31  Roland McGrath  <roland@redhat.com>
79552
79553         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
79554         Reported by Mike Frysinger <vapier@gentoo.org>.
79555
79556         2006-01-15  Andreas Jaeger  <aj@suse.de>
79557
79558         [BZ #1950]
79559         * lib/regex_internal.c (re_string_reconstruct): Adjust for
79560         build_wcs_upper_buffer change.
79561         (build_wcs_upper_buffer): Change return type.
79562
79563         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
79564
79565         * lib/regex_internal.h: Include <stdint.h> if available.
79566
79567         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
79568
79569         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
79570
79571         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
79572
79573         * lib/regcomp.c: Adjust for changed secondary hash function.
79574
79575         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
79576
79577         * lib/regex.h: Pretty printing.
79578         Clean up namespace a bit.
79579
79580         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
79581
79582         * lib/regexec.c (update_cur_sifted_state, check_arrival,
79583         check_arrival_add_next_nodes): Avoid using uninitialized variable.
79584
79585         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79586                     Ulrich Drepper  <drepper@redhat.com>
79587
79588         [BZ #1302]
79589         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
79590         changed.
79591         (bitset_word_t): Renamed from bitset_word.  All uses changed.
79592
79593         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
79594
79595         [BZ #281]
79596         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
79597         * lib/regcomp.c: Remove unnecessary uses of
79598         unsigned RE_TRANSLATE_TYPE.
79599         * lib/regex_internal.h: Likewise.
79600         * lib/regex_internal.c: Likewise.
79601         * lib/regexec.c: Likewise.
79602         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
79603
79604         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
79605
79606         * lib/regexec.c (find_recover_state): Remove unnecessary
79607         initialization.
79608         (transit_state_bkref): Make DFA a const pointer.
79609         (get_subexp): Likewise.
79610         (check_arrival): Likewise.
79611         (update_cur_sifted_state): Likewise.
79612         (re_search_internal): Likewise.
79613         (prune_impossible_nodes): Likewise.
79614         (acquire_init_state_context): Likewise.
79615         (proceed_next_node): Likewise.
79616         (set_regs): Likewise.
79617         (free_fail_stack_return): Likewise.
79618         (check_arrival_expand_ecl): Mark DFA parameter as const.
79619         (check_arrival_expand_ecl_sub): Likewise.
79620         (check_subexp_limits): Likewise.
79621         (sub_epsilon_src_nodes):  Likewise.
79622         (add_epsilon_src_nodes):  Likewise.
79623         (merge_state_array): Likewise.
79624         (update_regs): Likewise.
79625         (build_trtable): Likewise.
79626         (sift_states_backward): Mark MCTX parameter as const.
79627         (build_sifted_states): Likewise.
79628         (update_cur_sifted_state): Likewise.
79629         (sift_states_mkref): Likewise.
79630         (check_arrival_expand_ecl): Mark eclosure as const.
79631         (check_dst_limits_calc_pos_1): Likewise.
79632         * lib/regex_internal.h (re_match_context_t): Make dfa a const
79633         pointer.
79634
79635         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
79636
79637         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
79638         (transit_state_sb): Likewise.
79639         (transit_state_mb): Likewise.
79640         (sift_states_iter_mb): Likewise.
79641         (check_arrival_add_next_nodes): Likewise.
79642         (check_node_accept_bytes): Change first parameter to pointer-to-const.
79643         [_LIBC] (re_search_2_stub): Use mempcpy.
79644
79645         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
79646         mbrtowc for very simple UTF-8 case.
79647
79648         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
79649         a pointer-to-const.
79650         (re_acquire_state_context): Likewise.
79651         * lib/regex_internal.h: Adjust prototypes.
79652
79653         * lib/regex.c: Prevent using C++ compilers.
79654
79655         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
79656         (re_acquire_state_context): Likewise.
79657
79658 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79659
79660         * modules/regex (Depends-on): Add ssize_t.
79661
79662 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79663
79664         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
79665         translation table.
79666
79667 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79668
79669         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
79670
79671 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
79672             Bruno Haible  <bruno@clisp.org>
79673
79674         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
79675         <sys/types.h> and <inttypes.h>.
79676
79677 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79678
79679         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
79680         `__error_t_defined', so argp.h will not typedef the former.
79681
79682 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
79683
79684         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
79685         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
79686         glibc names.  Even if glibc is changed to conform to POSIX, the
79687         traditional names will be available anyway, since regex depends on
79688         the extensions module.  Also, fix a longstanding typo in the
79689         implementation of Spencer ERE test #75 from grep 2.3.  Problems
79690         reported by Emanuele Giaquinta.  Also, change sense of cached
79691         variable, so that the message makes sense.
79692
79693 2006-03-24  Simon Josefsson  <jas@extundo.com>
79694
79695         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
79696         including some doc fixes.
79697         (base64_encode_alloc): Fix +1 bug on allocation failures.
79698
79699 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79700
79701         * lib/base64.c (base64_encode): Do not read past end of array with
79702         unsanitized input on systems with CHAR_BIT > 8.
79703
79704 2006-03-24  Eric Blake  <ebb9@byu.net>
79705
79706         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
79707
79708 2006-03-22  Karl Berry  <karl@gnu.org>
79709
79710         * config/srclist.txt (*setenv.[ch]): get from coreutils.
79711         * config/srclistvars.sh (COREUTILS): new var.
79712
79713 2006-03-17  Jim Meyering  <jim@meyering.net>
79714
79715         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
79716         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
79717
79718 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79719
79720         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
79721         no longer needs it.  Instead, check that regoff_t is as least
79722         as wide as ptrdiff_t.
79723
79724         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
79725         so that our regex.h stays compatible with the installed regex.
79726         This is helpful for installers who configure --without-included-regex.
79727         Problem reported by Emanuele Giaquinta.
79728
79729 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79730
79731         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
79732         Typedef to long int, not to off_, as POSIX will likely change
79733         in that direction.
79734
79735 2006-03-15  Eric Blake  <ebb9@byu.net>
79736
79737         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
79738
79739 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79740
79741         * lib/argp-help.c (validate_uparams): Fix typo
79742         * lib/argp-parse.c (argp_default_options): Consistently begin help
79743         messages with a lowercase letter.
79744
79745 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
79746
79747         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
79748         overrun buffers and shouldn't be used (much as gets shouldn't be
79749         used).
79750         * lib/time_r.c (asctime_r, ctime_r): Likewise.
79751
79752 2006-03-08  Simon Josefsson  <jas@extundo.com>
79753
79754         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
79755         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79756
79757 2006-03-08  Simon Josefsson  <jas@extundo.com>
79758
79759         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
79760         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79761
79762 2006-03-08  Simon Josefsson  <jas@extundo.com>
79763
79764         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
79765         signal that configure disabled the device.
79766
79767 2006-03-08  Simon Josefsson  <jas@extundo.com>
79768
79769         * build-aux/maint.mk: Fix refresh-po, to handle no translated
79770         languages.
79771
79772 2006-03-07  Simon Josefsson  <jas@extundo.com>
79773
79774         * modules/getopt (Depends-on): Add unistd.
79775
79776         * modules/unistd: New file.
79777
79778 2006-03-07  Simon Josefsson  <jas@extundo.com>
79779
79780         * modules/gc-random: New file.
79781
79782 2006-03-07  Simon Josefsson  <jas@extundo.com>
79783
79784         * m4/unistd_h.m4: New file.
79785
79786 2006-03-07  Simon Josefsson  <jas@extundo.com>
79787
79788         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
79789         test to be side-effect free by storing the result in the cache
79790         variable gl_cv_lib_readline, and moving the assignment of
79791         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
79792         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79793
79794 2006-03-07  Simon Josefsson  <jas@extundo.com>
79795
79796         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
79797         error on missing devices (the functions will return an error).
79798
79799         * m4/gc.m4: Move random stuff to gc-random.m4
79800
79801 2006-03-07  Simon Josefsson  <jas@extundo.com>
79802
79803         * lib/unistd_.h: New file.
79804
79805 2006-03-07  Simon Josefsson  <jas@extundo.com>
79806
79807         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
79808
79809 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79810
79811         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
79812         Problem reported by Juan Manuel Guerrero.
79813
79814 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79815
79816         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
79817         the unistd module.
79818         * lib/getlogin_r.c: Likewise.
79819         * lib/getlogin_r.h: Likewise.
79820         * lib/glob.c: Likewise.
79821         * lib/pagealign_alloc.c: Likewise.
79822         * lib/unistd_.h: Remove; no longer needed.
79823
79824 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79825
79826         * MODULES.html.sh (Support for systems lacking POSIX:2001):
79827         Add unistd.
79828         * modules/c-stack (Depends-on): Add unistd.
79829         * modules/getlogin_r: Likewise.
79830         * modules/glob: Likewise.
79831         * modules/pagealign_alloc: Likewise.
79832         * modules/unistd (Files): Remove lib/unistd_.h.
79833         (EXTRA_DIST): Remove.
79834         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
79835         need unistd_.h.
79836         (MOSTLYCLEANFILES): Remove unistd.h-t.
79837
79838 2006-03-03  Simon Josefsson  <jas@extundo.com>
79839
79840         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
79841
79842 2006-03-03  Simon Josefsson  <jas@extundo.com>
79843
79844         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
79845         libidn and bison.
79846
79847 2006-03-03  Simon Josefsson  <jas@extundo.com>
79848
79849         * build-aux/maint.mk: Add indent target.
79850
79851 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
79852
79853         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
79854         our replacement poll.h in any case, to avoid a differing
79855         declaration from a system header.  Seen on AIX.
79856
79857 2006-03-01  Simon Josefsson  <jas@extundo.com>
79858
79859         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
79860         <kasal@ucw.cz>.
79861
79862 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79863
79864         * modules/gettime (Depends-on): Add extensions module.
79865         * modules/nanosleep (Depends-on): Likewise.
79866         * modules/settime (Depends-on): Likewise.
79867
79868 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79869
79870         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
79871         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
79872         pedantically.
79873         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79874         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
79875
79876         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
79877         not "==".  Reported by Ralf Wildenhues.
79878
79879 2006-03-01  Karl Berry  <karl@gnu.org>
79880
79881         * doc/Copyright/request-*: new files, synced from gnuorg.
79882
79883 2006-03-01  Karl Berry  <karl@gnu.org>
79884
79885         * config/srclist.txt (Copyright/*): new entries.
79886
79887 2006-02-28  Simon Josefsson  <jas@extundo.com>
79888
79889         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
79890
79891 2006-02-27  Simon Josefsson  <jas@extundo.com>
79892
79893         * lib/base64.h: Indent #define's.  From Jim Meyering
79894         <jim@meyering.net>.
79895
79896 2006-02-27  Jim Meyering  <jim@meyering.net>
79897
79898         Revert the change of 2006-02-24, so these files can continue
79899         to be sync'd from gettext.
79900         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
79901         of `config.h'.
79902
79903 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79904
79905         * modules/intprops: New file.
79906         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
79907         Add intprops.
79908         * modules/getloadavg (Files): Remove lib/intprops.h.
79909         (Depends-on): Add intprops.
79910         * modules/human: Likewise.
79911         * modules/inttostr: Likewise.
79912         * modules/openat: Likewise.
79913         * modules/sig2str: Likewise.
79914         * modules/userspec: Likewise.
79915         * modules/utimecmp: Likewise.
79916         * modules/xnanosleep: Likewise.
79917         * modules/xstrtol: Likewise.
79918
79919 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
79920
79921         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
79922         * modules/lock-tests (TESTS): Use $(EXEEXT).
79923         * modules/tls-tests: Likewise.
79924         * modules/argp-tests: Likewise.
79925         (check_PROGRAMS): New var, replacing...
79926         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
79927
79928 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79929
79930         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
79931         `config.h'.
79932
79933 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
79934
79935         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
79936
79937 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79938
79939         Sync from coreutils.
79940         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
79941         gl_CHDIR_SAFER.
79942
79943 2006-02-22  Jim Meyering  <jim@meyering.net>
79944
79945         Sync from coreutils.
79946         * m4/chdir-safer.m4: New file.
79947
79948 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
79949
79950         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
79951         AT_FDCWD exceeds INT_MAX.
79952         * lib/openat.h (AT_FDCWD): Likewise.
79953
79954 2006-02-17  Eric Blake  <address@hidden>
79955
79956         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
79957
79958 2006-02-16  Simon Josefsson  <jas@extundo.com>
79959
79960         * modules/getaddrinfo (Depends-on): Add sys_socket.
79961
79962 2006-02-15  Simon Josefsson  <jas@extundo.com>
79963
79964         * build-aux/maint.mk: Add dsyntax-check rule.
79965
79966 2006-02-15  Eric Blake  <ebb9@byu.net>
79967
79968         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
79969         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
79970         'present but cannot compile' warnings on cygwin.
79971         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
79972         use ws2tcpip.h if sys/socket.h works.
79973         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
79974         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
79975
79976 2006-02-14  Simon Josefsson  <jas@extundo.com>
79977
79978         * modules/maintainer-makefile (Files): Rename.
79979
79980         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
79981         and (the local) Makefile.cfg to maint-cfg.mk.
79982
79983         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
79984         to the latter.
79985
79986         * modules/maintainer-makefile: New module.
79987
79988         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
79989         severaly stripped to make it possible to build it up from scratch
79990         with reliable tests.
79991
79992         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
79993         fixes to permit overriding the default actions when configure and
79994         makefile are not available.
79995
79996 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
79997
79998         Sync from coreutils.
79999         * modules/lstat (Depends-on): Don't depend on xalloc.
80000         (License): Change from GPL to LGPL, since this is now simply a
80001         replacement for a libc function.
80002
80003 2006-02-14  Jim Meyering  <jim@meyering.net>
80004
80005         Sync from coreutils.
80006
80007         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
80008         failure on deficient systems, and simplify gnulib lgpl dependencies.
80009         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
80010         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
80011
80012         * lib/xalloc-die.c: Remove unused definition of N_.
80013
80014 2006-02-14  Jim Meyering  <jim@meyering.net>
80015
80016         Sync from coreutils.
80017         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
80018         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
80019         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
80020         double-quote uses of that variable, to accommodate the rare case in
80021         which getmntent is available in none of the libraries checked.  This
80022         happens at least on FreeBSD 5.0.
80023
80024 2006-02-13  Simon Josefsson  <jas@extundo.com>
80025
80026         * gnulib-tool (Usage): Fix --import, from
80027         karl@freefriends.org (Karl Berry).
80028
80029 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80030
80031         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
80032
80033 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
80034
80035         * lib/argp-namefrob.h: Restore changes accidentally lost during the
80036         "autoupdate" on 2005-12-12.
80037
80038 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80039
80040         * modules/closeout (Depends-on): Remove atexit.
80041
80042 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80043
80044         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
80045         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
80046
80047 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
80048
80049         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
80050         __EXTENSIONS__ if this causes compilation to fail.  Problem
80051         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
80052         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
80053
80054 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
80055
80056         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
80057         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
80058         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
80059         All uses changed.
80060
80061 2006-01-26  Simon Josefsson  <jas@extundo.com>
80062
80063         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
80064         prototype is visible on mingw32.
80065
80066         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
80067         for mingw32.
80068
80069         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
80070         mingw32).
80071
80072 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
80073
80074         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
80075         attempt to open for write; this always fails, at least on POSIX
80076         hosts.  This reinstates the 2006-01-09 change, which was
80077         inadvertently removed.
80078
80079 2006-01-26  Bruno Haible  <bruno@clisp.org>
80080
80081         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
80082         Reported by Paul Eggert.
80083
80084 2006-01-26  Bruno Haible  <bruno@clisp.org>
80085             Paul Eggert  <eggert@cs.ucla.edu>
80086
80087         * lib/stdbool_.h (_Bool)
80088         [(! (defined __cplusplus || defined __BEOS__)
80089           && !defined __GNUC__
80090           && !(defined __HP_cc || defined __xlc__
80091                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
80092                || defined __sgi))]:
80093         #define to signed char in these cases too; this simplifies
80094         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
80095         etc., separately) and makes it more conservative.
80096
80097 2006-01-25  Simon Josefsson  <jas@extundo.com>
80098
80099         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
80100         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
80101         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
80102
80103 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
80104
80105         * lib/argp-namefrob.h: Bugfix. Remove stray #
80106
80107 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80108
80109         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
80110         so that we test the test.
80111         Check for yet another HP-UX cc bug involving *bool |= bool.
80112
80113 2006-01-25  Karl Berry  <karl@gnu.org>
80114
80115         * config/srclist.txt (vasnprintf.c): sync lost.
80116
80117 2006-01-25  Jim Meyering  <jim@meyering.net>
80118
80119         Sync from the stable (b5) branch of coreutils:
80120
80121         * lib/fts.c (fts_children): Don't let close() clobber errno from
80122         failed fchdir().
80123
80124         * lib/fts.c (fts_stat): When following a symlink-to-directory,
80125         don't necessarily interpret stat-fails+lstat-succeeds as indicating
80126         a dangling symlink.  That can also happen at least for ELOOP.
80127         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
80128         FYI, this bug predates the inclusion of fts.c in coreutils.
80129
80130         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
80131         in their own block, so pre-c99 compilers don't object.
80132
80133         Avoid the double-free (first in fts_read, second in fts_close) that
80134         would occur when an `active' directory is made inaccessible (e.g.,
80135         via chmod a-x) during a traversal.
80136         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80137         before returning.  Reproduce this failure by
80138         mkdir -p a/b; cd a; chmod a-x . b
80139         Reported by Stavros Passas.
80140
80141 2006-01-25  Jim Meyering  <jim@meyering.net>
80142
80143         * lib/fileblocks.c: Remove more useless parentheses.
80144         * lib/readutmp.h: Likewise.
80145
80146 2006-01-25  Bruno Haible  <bruno@clisp.org>
80147
80148         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
80149         warnings.
80150         Reported by Paul Eggert.
80151
80152 2006-01-25  Bruno Haible  <bruno@clisp.org>
80153
80154         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
80155         rid of a trap command. For Solaris sh.
80156         Reported by Mark D. Baushke <mdb@gnu.org>.
80157
80158 2006-01-24  Simon Josefsson  <jas@extundo.com>
80159
80160         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
80161         Bruno.
80162
80163 2006-01-24  Karl Berry  <karl@gnu.org>
80164
80165         * config/srclist.txt (argp-namefrob.h): sync lost.
80166
80167 2006-01-24  Jim Meyering  <jim@meyering.net>
80168
80169         * modules/openat (Files): Add lib/intprops.h.
80170         From Mark D. Baushke.
80171
80172 2006-01-24  Jim Meyering  <jim@meyering.net>
80173
80174         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
80175         Reported by Mark D. Baushke.
80176
80177 2006-01-24  Jim Meyering  <jim@meyering.net>
80178
80179         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
80180
80181 2006-01-24  Bruno Haible  <bruno@clisp.org>
80182
80183         * modules/strnlen (Maintainer): Change from glibc to all.
80184
80185 2006-01-24  Bruno Haible  <bruno@clisp.org>
80186
80187         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
80188         Patch by Paul Eggert.
80189
80190 2006-01-24  Bruno Haible  <bruno@clisp.org>
80191
80192         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
80193         already has it.
80194         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
80195         2005-11-26.
80196
80197         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
80198         'signed char' to avoid problems with the built-in _Bool type.
80199         Reported by Paul Eggert on 2005-11-26.
80200
80201 2006-01-24  Bruno Haible  <bruno@clisp.org>
80202
80203         * gnulib-tool (func_import): Avoid constructing complicated sed
80204         expressions inside backquote.
80205         Report and solution by Mark D. Baushke <mdb@gnu.org>.
80206
80207 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
80208
80209         These changes imported from libc.
80210         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
80211         test and two separate function calls.
80212         * lib/strndup.c (__strndup): Add libc_hidden_def.
80213
80214 2006-01-23  Simon Josefsson  <jas@extundo.com>
80215
80216         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
80217         Remove the test_*_SOURCES variable: automake infers it by default.
80218         * modules/tls-tests: Likewise.
80219
80220 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80221
80222         Work around porting bugs reported by Dieter in
80223         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
80224         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
80225         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
80226         Include "getopt.h" first, to check interface.
80227         (getenv): Declare only if defined HAVE_DECL_GETENV &&
80228         !HAVE_DECL_GETENV.
80229         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
80230         (__strndup): Revert to K&R-style function dfns, the glibc style.
80231         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
80232         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
80233         Include strnlen.h first, to get prototype properly.
80234         (strnlen): Renamed from __strnlen.
80235         Remove weak alias.
80236
80237 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80238
80239         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
80240
80241 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80242
80243         * config/srclist.txt: Adjust to reflect glibc reorganization.
80244         This affects only comments.
80245
80246 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80247
80248          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
80249          Reported by Bruce Korb <bkorb@gnu.org>.
80250
80251 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
80252
80253         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
80254         to pacify gcc -Wswitch-default.
80255
80256 2006-01-22  Bruno Haible  <bruno@clisp.org>
80257
80258         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
80259         temporary buffer for sprintf, take into account the precision also
80260         for 'd', 'i', 'u', 'o', 'x', 'X'.
80261
80262 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80263
80264         * modules/argp-tests: New module
80265         * tests/test-argp.c: New file
80266         * tests/test-argp-2.sh: New file
80267
80268 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80269
80270         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
80271         (__argp_base_name): Removed
80272         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
80273         typo.
80274         (__argp_base_name): Provide macro definition or extern declaration
80275         depending on the configuration
80276
80277 2006-01-20  Simon Josefsson  <jas@extundo.com>
80278
80279         * modules/inet_ntop (Depends-on): Depend on sys_socket.
80280
80281 2006-01-20  Simon Josefsson  <jas@extundo.com>
80282
80283         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
80284
80285 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80286
80287         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
80288         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
80289         Suggested by Bruno Haible.
80290
80291 2006-01-20  Karl Berry  <karl@gnu.org>
80292
80293         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
80294         until changes propagate, I guess.
80295
80296 2006-01-19  Simon Josefsson  <jas@extundo.com>
80297
80298         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
80299
80300 2006-01-19  Simon Josefsson  <jas@extundo.com>
80301
80302         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
80303
80304 2006-01-19  Simon Josefsson  <jas@extundo.com>
80305
80306         * gnulib-tool: Set check_PROGRAMS.
80307
80308         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80309         modules/des-tests, modules/gc-arcfour-tests,
80310         modules/gc-arctwo-tests, modules/gc-des-tests,
80311         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80312         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80313         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80314         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80315         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80316         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
80317         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
80318         test_*_SOURCES.
80319
80320 2006-01-18  Simon Josefsson  <jas@extundo.com>
80321
80322         * modules/socklen (Depends-on): Depend on sys_socket.
80323
80324 2006-01-18  Simon Josefsson  <jas@extundo.com>
80325
80326         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80327         modules/des-tests, modules/gc-arcfour-tests,
80328         modules/gc-arctwo-tests, modules/gc-des-tests,
80329         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80330         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80331         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80332         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80333         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80334         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
80335         $(EXEEXT) to automake TESTS variable, for mingw32.
80336
80337 2006-01-17  Simon Josefsson  <jas@extundo.com>
80338
80339         * modules/socklen (Include): Need sys/socket.h.
80340
80341 2006-01-17  Bruno Haible  <bruno@clisp.org>
80342
80343         * modules/ssize_t (Include): Add <sys/types.h>.
80344
80345 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
80346
80347         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
80348         it's not portable and it doesn't work with cross-compiles.
80349         Problem reported by Bruno Haible.  Fix missing-$ typo in
80350         'test "gl_cv_ignore_unused_libraries" ...' that prevented
80351         -zignore from being used with Sun's C compiler.
80352
80353 2006-01-12  Simon Josefsson  <jas@extundo.com>
80354
80355         * lib/base64.c: Fix warning, reported by Bruno Haible
80356         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
80357
80358 2006-01-12  Bruno Haible  <bruno@clisp.org>
80359
80360         * modules/ldd: New file.
80361         * build-aux/ldd.sh.in: New file.
80362         * MODULES.html.sh (Support for building libraries and executables): Add
80363         ldd.
80364
80365 2006-01-12  Bruno Haible  <bruno@clisp.org>
80366
80367         * m4/ldd.m4: New file.
80368
80369 2006-01-12  Bruno Haible  <bruno@clisp.org>
80370
80371         * gnulib-tool (func_import, func_create_testdir): Don't go into an
80372         endless loop while replacing $auxdir with build-aux.
80373
80374 2006-01-11  Simon Josefsson  <jas@extundo.com>
80375
80376         * lib/stdint_.h (SIZE_MAX): Add missing (.
80377
80378 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
80379
80380         Sync from coreutils.
80381         * lib/md5.c: Fix commentary typos.
80382         (alignof, UNALIGNED_P): No need for a GCC-specific version.
80383         * lib/md5.h (__attribute__): Remove; unused.
80384         * lib/sha1.c: Fix commentary to match md5 better.
80385         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
80386         so that we don't need to worry about alignment.  All uses changed.
80387         This merges the 2005-10-28 md5 change into sha1.
80388
80389 2006-01-11  Jim Meyering  <jim@meyering.net>
80390
80391         Sync from coreutils.
80392         * lib/md5.c (OP): Fix spacing.
80393
80394 2006-01-11  Bruno Haible  <bruno@clisp.org>
80395
80396         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80397         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
80398         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
80399
80400 2006-01-11  Bruno Haible  <bruno@clisp.org>
80401
80402         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80403         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
80404         the "early" section as well.
80405
80406 2006-01-11  Bruno Haible  <bruno@clisp.org>
80407
80408         Avoid "ar: no archive members specified" error on MacOS X.
80409         * gnulib-tool (func_modules_add_dummy): New function.
80410         (func_import, func_create_testdir): Invoke it.
80411
80412 2006-01-11  Bruno Haible  <bruno@clisp.org>
80413
80414         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
80415         with $auxdir in AC_CONFIG_FILES statements.
80416
80417 2006-01-11  Bruno Haible  <bruno@clisp.org>
80418
80419         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80420         Initialize also noinst_HEADERS to empty.
80421
80422 2006-01-11  Bruno Haible  <bruno@clisp.org>
80423
80424         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
80425         variables.
80426         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
80427         autoreconf.
80428
80429 2006-01-11  Bruno Haible  <bruno@clisp.org>
80430
80431         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
80432         overridable by the user.
80433         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80434
80435 2006-01-10  Simon Josefsson  <jas@extundo.com>
80436
80437         * modules/sys_socket: New file.
80438
80439 2006-01-10  Simon Josefsson  <jas@extundo.com>
80440
80441         * m4/sys_socket_h.m4: New file.
80442
80443 2006-01-10  Simon Josefsson  <jas@extundo.com>
80444
80445         * lib/socket_.h: New file.
80446
80447 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80448
80449         * modules/readutmp (Maintainer): Add myself.
80450
80451 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80452
80453         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
80454         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
80455         People who are still concerned with buggy memcmp implementations
80456         can invoke gl_FUNC_MEMCMP themselves.
80457
80458 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80459
80460         * lib/regex_internal.h (BITSET_WORD_BITS):
80461         Work around a bug in 64-bit PGC (before version 6.1-2), where the
80462         preprocessor mishandles large unsigned values as if they were signed.
80463         Problem reported by Claudio Fontana in
80464         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
80465
80466 2006-01-10  Jim Meyering  <jim@meyering.net>
80467
80468         Avoid the double-free (first in fts_read, second in fts_close) that
80469         would occur when an `active' directory is made inaccessible (e.g.,
80470         via chmod a-x) during a traversal.
80471         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80472         before returning.  Reproduce this failure by
80473         mkdir -p a/b; cd a; chmod a-x . b
80474         Reported by Stavros Passas.
80475
80476         Sync from coreutils.
80477         * lib/sha1.c: Tweak grammar in a comment.
80478
80479 2006-01-10  Jim Meyering  <jim@meyering.net>
80480
80481         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
80482         Patch by Joerg Sonnenberger.
80483
80484 2006-01-10  Bruno Haible  <bruno@clisp.org>
80485
80486         * modules/readutmp: Depend on module free.
80487         * modules/strtok_r: Depend on module restrict.
80488
80489 2006-01-10  Bruno Haible  <bruno@clisp.org>
80490
80491         * modules/gettext (configure.ac): Add an invocation of
80492         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
80493
80494 2006-01-10  Bruno Haible  <bruno@clisp.org>
80495
80496         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
80497         Reported by Werner Lemberg <wl@gnu.org>.
80498
80499 2006-01-10  Bruno Haible  <bruno@clisp.org>
80500
80501         * lib/localcharset.c: Update from GNU gettext.
80502
80503 2006-01-10  Bruno Haible  <bruno@clisp.org>
80504
80505         * lib/argp.h (__const): Remove macro. Use const instead.
80506         * lib/argp-fmtstream.h (__const): Likewise.
80507         * lib/glob_.h (__const): Remove macro.
80508         * lib/glob-libc.h: Use const instead of __const.
80509
80510 2006-01-10  Bruno Haible  <bruno@clisp.org>
80511
80512         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
80513         variable.
80514         Needed to avoid an automake error regarding the 'gettext' module.
80515
80516 2006-01-09  Simon Josefsson  <jas@extundo.com>
80517
80518         * modules/inet_ntop (Depends-on): Add restrict.
80519
80520 2006-01-09  Simon Josefsson  <jas@extundo.com>
80521
80522         * modules/gc-rijndael-tests (License): Put under LGPL.
80523
80524         * modules/gc-des-tests (License): Likewise.
80525
80526         * modules/gc-arcfour-tests (License): Likewise.
80527
80528         * modules/gc-arctwo-tests (License): Likewise.
80529
80530         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
80531
80532         * modules/gc-hmac-sha1-tests (Files): Likewise.
80533
80534         * modules/gc-hmac-md5-tests (License): Likewise.
80535
80536         * modules/gc-sha1-tests (License): Likewise.
80537
80538         * modules/gc-md5-tests (License): Likewise.
80539
80540         * modules/gc-md4-tests (License): Likewise.
80541
80542         * modules/gc-md2-tests (License): Likewise.
80543
80544         * modules/gc-tests (License): Likewise.
80545
80546         * modules/des-tests (License): Likewise.
80547
80548         * modules/md4-tests (License): Likewise.
80549
80550         * modules/md2-tests (License): Likewise.
80551
80552 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80553
80554         Sync from coreutils:
80555
80556         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
80557         * modules/lib-ignore: New file.
80558         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
80559         chdir-safer.m4, lchmod.m4.
80560         * modules/openat: Add mkdirat.c, openat-priv.h.
80561
80562 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80563
80564         Sync from coreutils.
80565         * m4/lib-ignore.m4: New file.
80566         * m4/lchmod.m4: New file.
80567
80568 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80569
80570         Sync from coreutils.
80571         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
80572         for write access: POSIX says that must fail.
80573         * lib/fts.c (diropen): Likewise.
80574         * lib/save-cwd.c (save_cwd): Likewise.
80575         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
80576         well, for minor improvements on hosts that lack O_DIRECTORY.
80577         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
80578         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
80579         Fall back on chown if open failed with EACCES.
80580
80581         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
80582         Report an error at compile-time if only a 1-second nominal clock
80583         resolution is found.
80584
80585         * lib/lchmod.h: New file.
80586         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
80587         (make_dir_parents): Use lchown rather than chown, and
80588         lchmod rather than chmod.
80589
80590         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
80591         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
80592         "proc" reported by n0dalus.
80593
80594         * lib/mountlist.c: Include <limits.h>.
80595         (dev_from_mount_options)
80596         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
80597         New function.  It no longer assumes "dev=" has the System V meaning
80598         on Linux (since it doesn't).  It also parses "dev=" more carefully.
80599         (read_file_system_list)
80600         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
80601         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
80602         dev= in that case.
80603
80604         * lib/posixtm.h (PDS_PRE_2000): New macro.
80605         * lib/posixtm.c (year): Arg is now syntax_bits rather than
80606         allow_century.  All usages changed.  Reject dates outside the range
80607         1969-1999 if PDS_PRE_2000 is used.
80608
80609 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80610
80611         Sync from coreutils.
80612         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
80613         (Time of day items): Mention the possibility of leap seconds.
80614         Problem reported by Dr. David Alan Gilbert.
80615
80616 2006-01-09  Jim Meyering  <jim@meyering.net>
80617
80618         Sync from coreutils.
80619
80620         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
80621
80622         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
80623
80624         * lib/modechange.c (mode_compile): Reject an invalid mode string
80625         that starts with an octal digit.  From Andreas Gruenbacher.
80626
80627         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
80628         and dup to open_safer and dup_safer, respectively.
80629         (openat_permissive): Fix typo in comment.
80630
80631         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
80632         "gettext.h"; either no longer needed or are guaranteed by openat.h.
80633         (_): Remove; no longer needed.
80634         (openat): Renamed from rpl_openat; no need for rpl_openat
80635         since openat.h renames openat for us.
80636         Replace most of the body with a call to openat_permissive,
80637         to avoid duplicate code.
80638         Port to (probably hypothetical) environments were mode_t is
80639         wider than int.
80640         (openat_permissive): Require mode arg, so that we can check
80641         types better.  Put it just after flags.  Change cwd failure
80642         indicator from pointer-to-bool to pointer-to-errno-value.
80643         All callers changed.
80644         Invoke openat_save_fail and/or openat_restore_fail if
80645         cwd_errno is null, so that openat can call us.
80646         (openat_permissive, fdopendir, fstatat, unlinkat):
80647         Simplify errno handling to avoid some duplicate code,
80648         as it's OK to set errno on success.
80649         * lib/openat.h: Revamp code so that function macros depend on
80650         __OPENAT_PREFIX only, not also on AT_FDCWD.
80651         (openat_ro): Remove.  Caller changed to use openat_permissive.
80652         (openat_permissive): Now a macro, if not a function.
80653         (openat_restore_fail, openat_save_fail): Now always functions,
80654         since mkdirat needs them even if __OPENAT_PREFIX is defined.
80655
80656         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
80657         and openat.c.
80658         * lib/mkdirat.c: Include openat-priv.h.
80659         Remove definitions of macros defined therein.
80660         * lib/openat.c: Likewise.
80661
80662         * lib/mkdirat.c (mkdirat): New file and function.
80663         * lib/openat.h (mkdirat): Declare.
80664
80665         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
80666
80667         * lib/openat.h (openat_permissive): Declare.
80668         (openat_ro): Define.
80669
80670         * lib/openat.c (EXPECTED_ERRNO): New macro.
80671         (openat_permissive): New function -- used in remove.c rewrite.
80672         (all functions): Set errno just before returning, only if there
80673         was an actual failure.
80674         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
80675
80676         Emulate openat-family functions using Linux's procfs, if possible.
80677         Idea and some code based on Ulrich Drepper's glibc changes.
80678
80679         * lib/openat.c: (BUILD_PROC_NAME): New macro.
80680         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
80681         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
80682         before falling back on save_cwd and restore_cwd.
80683         (fdopendir, fstatat, unlinkat): Likewise.
80684
80685         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
80686         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
80687
80688         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
80689         as second argument to va_arg.  Otherwise, some versions of gcc
80690         warn that `if this code is reached, the program will abort'.
80691
80692 2006-01-09  Jim Meyering  <jim@meyering.net>
80693
80694         Sync from coreutils.
80695         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
80696         Require openat-priv.h.
80697
80698 2006-01-09  Bruno Haible  <bruno@clisp.org>
80699
80700         * modules/strnlen (Include): Use strnlen.h.
80701
80702 2006-01-09  Bruno Haible  <bruno@clisp.org>
80703
80704         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
80705
80706 2006-01-09  Bruno Haible  <bruno@clisp.org>
80707
80708         * lib/sysexit_.h (EX_OK): New macro.
80709         Suggested by Martin Lambers <marlam@marlam.de>.
80710
80711 2006-01-09  Bruno Haible  <bruno@clisp.org>
80712
80713         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
80714         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
80715
80716 2006-01-09  Bruno Haible  <bruno@clisp.org>
80717
80718         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
80719         numbers.
80720
80721 2006-01-09  Bruno Haible  <bruno@clisp.org>
80722
80723         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
80724         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
80725         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
80726         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
80727
80728 2006-01-09  Bruno Haible  <bruno@clisp.org>
80729
80730         * build-aux/javacomp.sh.in: New file, moved from lib/.
80731         * modules/javacomp-script (Files): Update.
80732         (configure.ac): Add AC_CONFIG_FILES invocation.
80733         (EXTRA_DIST): Remove variable.
80734
80735         * build-aux/javaexec.sh.in: New file, moved from lib/.
80736         * modules/javaexec (Files): Update.
80737         (configure.ac): Add AC_CONFIG_FILES invocation.
80738         (EXTRA_DIST): Remove javaexec.sh.in.
80739
80740         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
80741         * modules/csharpcomp-script (Files): Update.
80742         (configure.ac): Add AC_CONFIG_FILES invocation.
80743         (EXTRA_DIST): Remove variable.
80744
80745         * build-aux/csharpexec.sh.in: New file, moved from lib/.
80746         * modules/csharpexec (Files): Update.
80747         (configure.ac): Add AC_CONFIG_FILES invocation.
80748         (EXTRA_DIST): Remove csharpexec.sh.in.
80749
80750 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80751
80752         Sync from coreutils.
80753
80754         Add POSIX ACL support
80755         * lib/acl.h (copy_acl, set_acl): Add declarations.
80756         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
80757         systems other than Linux.
80758         (chmod_or_fchmod): New function: use fchmod when possible,
80759         and chmod otherwise.
80760         (file_has_acl): Add a POSIX ACL implementation, with a
80761         Linux-specific subcase.
80762         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
80763         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
80764         acls are unsupported.
80765         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
80766         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
80767         are unsupported.
80768
80769 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80770
80771         Sync from coreutils.
80772         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
80773
80774 2006-01-07  Bruno Haible  <bruno@clisp.org>
80775
80776         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
80777         gl_EARLY.
80778
80779 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80780
80781         * lib/strftime.c (tzname): Don't declare if it is already #defined.
80782         Problem reported for Mingw by Mark Junker.
80783
80784 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80785
80786         * README: Gnulib normally doesn't generate a tarball.
80787
80788 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
80789
80790         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
80791         long int, not int, for nanosecond counts, so that people who are
80792         used to POSIX struct timespec won't be surprised.  Reported by Jim
80793         Meyering.
80794
80795 2005-12-28  Bruno Haible  <bruno@clisp.org>
80796
80797         * build-aux/config.rpath: Update from GNU gettext.
80798
80799 2005-12-16  Jim Meyering  <jim@meyering.net>
80800
80801         * modules/fprintftime: New module.
80802         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
80803
80804 2005-12-16  Jim Meyering  <jim@meyering.net>
80805
80806         * m4/fprintftime.m4: New file.
80807
80808 2005-12-16  Jim Meyering  <jim@meyering.net>
80809
80810         * lib/fprintftime.c, lib/fprintftime.h: New files.
80811
80812 2005-12-15  Simon Josefsson  <jas@extundo.com>
80813
80814         * modules/socklen (configure.ac): Fix M4 macro name, to align with
80815         new m4/socklen.m4.
80816
80817 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80818
80819         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
80820         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
80821
80822 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80823
80824         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
80825         * lib/argp-help.c (fill_in_uparams): Check if the constructed
80826         struct uparams is valid. Fall back to the default values if it is
80827         not.
80828
80829 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80830
80831         * modules/argp (Files): Add argp-pin.c
80832         (Depends-on): dirname
80833         (lib_SOURCES): Add argp-pin.c
80834
80835 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80836
80837         * m4/argp.m4:  Check if program_invocation_name and
80838         program_invocation_short_name are declared and define appropriate
80839         macros if they are not.
80840
80841 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80842
80843         * lib/argp-help.c (__argp_base_name): New function
80844         (__argp_short_program_name): Rewrite using __argp_base_name
80845         * lib/argp-namefrob.h: Define program_invocation_name and
80846         program_invocation_short_name if requested
80847         (__argp_base_name): Add prototype
80848         * lib/argp-parse.c (argp_def): Use gettext wrappers
80849         (argp_default_parser): Use __argp_base_name
80850         * lib/argp-pin.c: New file. Defines program_invocation_name and
80851         program_invocation_short_name on systems that lack them.
80852
80853 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80854
80855         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
80856         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80857         porting problem reported by Georg Schwarz in
80858         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80859
80860 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80861
80862         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
80863         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80864         porting problem reported by Georg Schwarz in
80865         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80866
80867 2005-12-05  Bruno Haible  <bruno@clisp.org>
80868
80869         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
80870         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
80871         Reported by Mark Junker <mjscod@gmx.de>.
80872
80873 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
80874
80875         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
80876         Use implementation from Albert Chin, with some
80877         comments/corrections by Stepan Kasal and myself.
80878
80879 2005-12-02  Bruno Haible  <bruno@clisp.org>
80880
80881         * gnulib-tool (func_import): Accept GPLed build tool modules when
80882         --lgpl is given.
80883         * modules/csharpcomp-script: New file.
80884         * modules/csharpcomp: Depend on it.
80885         * modules/javacomp-script: New file.
80886         * modules/javacomp: Depend on it.
80887         Suggested by Simon Josefsson.
80888
80889 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
80890
80891         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
80892         statement, to work around an HP-UX 10.20 compiler bug reported by
80893         Peter O'Gorman.
80894
80895 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80896
80897         * modules/savedir (Depends-on): Add openat.
80898
80899 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80900
80901         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
80902         (uintmax_t) [defined uintmax_t]: Do not declare.
80903         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
80904         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
80905         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
80906         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
80907         sake of portability to weird hosts that C allows (though we don't
80908         know of any practical examples).
80909
80910         * lib/savedir.h (fdsavedir): New decl.
80911         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
80912         contains most of the former guts of savedir.
80913         (savedir): Use savedirstream.
80914         Include "openat.h".
80915
80916 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80917
80918         * modules/obstack (Files): Add m4/ulonglong.m4.
80919         Problem reported by Davide Angelocola.
80920
80921 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80922
80923         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
80924         coreutils no longer futzes with rounding modes.
80925
80926 2005-11-14  Jim Meyering  <jim@meyering.net>
80927
80928         * lib/mkstemp-safer.c: Include <config.h>, required for possible
80929         replacement of mkstemp.
80930
80931 2005-11-10  Simon Josefsson  <jas@extundo.com>
80932
80933         * lib/readline.c: Remove EOL.
80934
80935 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80936
80937         * modules/gethrxtime (Depends-on): Add gettime.
80938
80939 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80940
80941         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
80942         or gettimeofday; no longer needed.
80943
80944 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80945
80946         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
80947         time business.
80948         (gethrxtime) [! (HAVE_NANOUPTIME
80949         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
80950         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
80951         our own approximation.
80952
80953 2005-11-08  Eric Blake  <ebb9@byu.net>
80954
80955         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80956
80957 2005-11-08  Eric Blake  <ebb9@byu.net>
80958
80959         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80960
80961 2005-11-04  Bruno Haible  <bruno@clisp.org>
80962
80963         * gnulib-tool: Implement --update mode.
80964
80965 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80966
80967         Fix porting problem reported by Theodoros V. Kalamatianos.
80968         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
80969         Don't assume that futimes failing means we must fail.
80970
80971 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80972
80973         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
80974         variables to suggest the intended function of the PATH_MAX check.
80975
80976 2005-10-30  Kean Johnston  <jkj@sco.com>
80977
80978         Trivial changes to support SCO systems.
80979         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
80980         as PATH_MAX.
80981         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
80982         where __ptr is null when no I/O is pending.
80983
80984 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80985
80986         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
80987         leave errno alone.  Problem reported by Dmitry V. Levin.
80988
80989 2005-10-28  Simon Josefsson  <jas@extundo.com>
80990
80991         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
80992         Test more.
80993
80994         * tests/test-gc-md2.c, tests/test-md2.c: New files.
80995
80996         * modules/md2, modules/md2-tests: New files.
80997
80998 2005-10-28  Simon Josefsson  <jas@extundo.com>
80999
81000         * m4/inet_ntop.m4: More tests.
81001
81002         * m4/gc-md2.m4, md2.m4: New file.
81003
81004 2005-10-28  Simon Josefsson  <jas@extundo.com>
81005
81006         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
81007         "restrict" keywords, as per POSIX.  Protect the function
81008         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
81009         Don't use K&R prototypes.  Check the sprintf return values.
81010         Re-define EAFNOSUPPORT if not present.  Indent.
81011
81012         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
81013         suggested by Bruno Haible <bruno@clisp.org>.
81014
81015         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
81016
81017         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
81018
81019         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
81020         libgcrypt).
81021
81022         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
81023
81024         * lib/md2.h, lib/md2.c: New files.
81025
81026 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
81027
81028         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
81029         errno alone.  Problem reported by Frederic Jolliton.
81030
81031 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
81032
81033         * modules/verify (License): Change from GPL to LGPL.  This is a
81034         tiny module and there are apparently near-equivalents that are
81035         under the BSD license.
81036
81037 2005-10-24  Simon Josefsson  <jas@extundo.com>
81038
81039         * modules/sha1: Relicense to LGPL.
81040
81041 2005-10-24  Simon Josefsson  <jas@extundo.com>
81042
81043         * lib/md4.h: Shrink buffer size, now that we changed the type.
81044
81045 2005-10-23  Simon Josefsson  <jas@extundo.com>
81046
81047         * gnulib-tool (func_import): Fix --tests-base.
81048
81049 2005-10-22  Simon Josefsson  <jas@extundo.com>
81050
81051         * modules/arcfour (Depends-on): Need stdint.
81052
81053 2005-10-22  Simon Josefsson  <jas@extundo.com>
81054
81055         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
81056         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
81057
81058 2005-10-22  Simon Josefsson  <jas@extundo.com>
81059
81060         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
81061         suggested by Bruno Haible <bruno@clisp.org>.
81062
81063 2005-10-22  Simon Josefsson  <jas@extundo.com>
81064
81065         * lib/crc.h: Include stddef.h, for size_t.
81066
81067 2005-10-22  Simon Josefsson  <jas@extundo.com>
81068
81069         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
81070         arcfour_context struct (simplify test vector testing in GNU
81071         Shishi).
81072
81073 2005-10-21  Simon Josefsson  <jas@extundo.com>
81074
81075         * modules/des, modules/des-tests: New files.
81076
81077         * modules/gc-des, modules/gc-des-tests: New files.
81078
81079         * tests/test-des.c, tests/test-gc-des.c: New file.
81080
81081 2005-10-21  Simon Josefsson  <jas@extundo.com>
81082
81083         * modules/arctwo, modules/arctwo-tests: New files.
81084
81085         * tests/test-arctwo.c: New file.
81086
81087         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
81088
81089         * tests/test-gc-arctwo.c: New file.
81090
81091 2005-10-21  Simon Josefsson  <jas@extundo.com>
81092
81093         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
81094         Bruno Haible <bruno@clisp.org>.
81095
81096         * m4/gc-des.m4: New file.
81097
81098 2005-10-21  Simon Josefsson  <jas@extundo.com>
81099
81100         * m4/arctwo.m4: New file.
81101
81102         * m4/gc-arctwo.m4: New file.
81103
81104 2005-10-21  Simon Josefsson  <jas@extundo.com>
81105
81106         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
81107         block.
81108
81109 2005-10-21  Simon Josefsson  <jas@extundo.com>
81110
81111         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
81112         <bruno@clisp.org>.
81113
81114         * lib/hmac-sha1.c (hmac_sha1): Likewise.
81115
81116         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
81117         Bruno Haible <bruno@clisp.org>.
81118
81119         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
81120         <bruno@clisp.org>.
81121
81122 2005-10-21  Simon Josefsson  <jas@extundo.com>
81123
81124         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
81125
81126 2005-10-21  Simon Josefsson  <jas@extundo.com>
81127
81128         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
81129
81130 2005-10-21  Simon Josefsson  <jas@extundo.com>
81131
81132         * lib/des.h, lib/des.c: New files.
81133
81134         * lib/gc-gnulib.c: Support DES.c
81135
81136 2005-10-21  Simon Josefsson  <jas@extundo.com>
81137
81138         * lib/arctwo.h, lib/arctwo.c: New files.
81139
81140         * lib/gc-gnulib.c: Support ARCTWO.
81141
81142 2005-10-21  Simon Josefsson  <jas@extundo.com>
81143
81144         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
81145         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81146
81147 2005-10-21  Simon Josefsson  <jas@extundo.com>
81148
81149         * gnulib-tool (func_import, func_create_testdir): Define automake
81150         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
81151         Makefile.am snippet),
81152         suggested by Bruno Haible <bruno@clisp.org>.
81153
81154         * modules/gc (Makefile.am): Use it.
81155
81156 2005-10-21  Bruno Haible  <bruno@clisp.org>
81157
81158         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
81159         patch.
81160
81161 2005-10-19  Simon Josefsson  <jas@extundo.com>
81162
81163         * tests/test-gc-rijndael.c: New file.
81164
81165         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
81166
81167 2005-10-19  Simon Josefsson  <jas@extundo.com>
81168
81169         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
81170         interface too.
81171
81172 2005-10-19  Simon Josefsson  <jas@extundo.com>
81173
81174         * tests/test-gc-arcfour.c: New file.
81175
81176         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
81177
81178 2005-10-19  Simon Josefsson  <jas@extundo.com>
81179
81180         * modules/gc-md4, modules/gc-md4-tests: New file.
81181
81182         * tests/test-gc-md4.c: New file.
81183
81184 2005-10-19  Simon Josefsson  <jas@extundo.com>
81185
81186         * m4/gc-md4.m4: New file.
81187
81188 2005-10-19  Simon Josefsson  <jas@extundo.com>
81189
81190         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
81191         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
81192         <kasal@ucw.cz>.
81193
81194 2005-10-19  Simon Josefsson  <jas@extundo.com>
81195
81196         * m4/gc-arcfour.m4: New file.
81197
81198         * m4/gc-rijndael.m4: New file.
81199
81200 2005-10-19  Simon Josefsson  <jas@extundo.com>
81201
81202         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
81203
81204 2005-10-19  Simon Josefsson  <jas@extundo.com>
81205
81206         * lib/gc-gnulib.c: Support ARCFOUR.
81207
81208 2005-10-19  Simon Josefsson  <jas@extundo.com>
81209
81210         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
81211         support.
81212
81213         * lib/gc.h: Add ECB enum type.
81214
81215         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
81216
81217 2005-10-18  Simon Josefsson  <jas@extundo.com>
81218
81219         * tests/test-md5.c: New file.
81220
81221         * modules/md5-tests: New file.
81222
81223 2005-10-18  Simon Josefsson  <jas@extundo.com>
81224
81225         * tests/test-md4.c: New file.
81226
81227         * modules/md4, modules/md4-tests: New files.
81228
81229 2005-10-18  Simon Josefsson  <jas@extundo.com>
81230
81231         * m4/md4.m4: New file.
81232
81233 2005-10-18  Simon Josefsson  <jas@extundo.com>
81234
81235         * lib/md4.h, lib/md4.c: New files, based on md5.?.
81236
81237 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
81238
81239         * gnulib-tool (func_create_testdir): Omit the second check whether
81240         BUILT_SOURCES in nonempty.
81241
81242 2005-10-17  Simon Josefsson  <jas@extundo.com>
81243
81244         * tests/test-rijndael.c: New file.
81245
81246 2005-10-17  Simon Josefsson  <jas@extundo.com>
81247
81248         * modules/sha1: Depend on stdint instead of md5.
81249
81250         * modules/md5: Depend on stdint, remove uint32_t.
81251
81252 2005-10-17  Simon Josefsson  <jas@extundo.com>
81253
81254         * modules/gc-sha1-tests: New file.
81255
81256         * tests/test-gc-sha1.c: New file.
81257
81258 2005-10-17  Simon Josefsson  <jas@extundo.com>
81259
81260         * m4/md5.m4: Remove call to uint32_t.m4.
81261
81262 2005-10-17  Simon Josefsson  <jas@extundo.com>
81263
81264         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
81265
81266         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
81267         md5.h.
81268
81269         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
81270
81271         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
81272
81273 2005-10-17  Simon Josefsson  <jas@extundo.com>
81274
81275         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
81276
81277 2005-10-17  Simon Josefsson  <jas@extundo.com>
81278
81279         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
81280
81281 2005-10-17  Simon Josefsson  <jas@extundo.com>
81282
81283         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
81284
81285         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
81286
81287 2005-10-17  Bruno Haible  <bruno@clisp.org>
81288
81289         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
81290         that it can also be used in a test.
81291
81292 2005-10-16  Bruno Haible  <bruno@clisp.org>
81293
81294         * gnulib-tool (func_emit_tests_Makefile_am): Also define
81295         TESTS_ENVIRONMENT, so that individual tests can augment it.
81296
81297         * gnulib-tool (func_create_testdir): Use an intermediate target for
81298         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
81299         macros, like $(ALLOCA_H), which cannot be passed through the command
81300         line.
81301
81302 2005-10-15  Simon Josefsson  <jas@extundo.com>
81303
81304         * modules/rijndael-tests: New file.
81305
81306         * modules/rijndael: New file.
81307
81308 2005-10-15  Simon Josefsson  <jas@extundo.com>
81309
81310         * m4/rijndael.m4: New file.
81311
81312 2005-10-15  Simon Josefsson  <jas@extundo.com>
81313
81314         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
81315
81316         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
81317
81318 2005-10-14  Simon Josefsson  <jas@extundo.com>
81319
81320         * tests/test-arcfour.c: New file.
81321
81322         * modules/arcfour, modules/arcfour-tests: New files.
81323
81324 2005-10-14  Simon Josefsson  <jas@extundo.com>
81325
81326         * m4/arcfour.m4: New file.
81327
81328 2005-10-14  Simon Josefsson  <jas@extundo.com>
81329
81330         * lib/arcfour.h, lib/arcfour.c: New files.
81331
81332 2005-10-14  Roland McGrath  <roland@redhat.com>
81333
81334         Import from libc.  [BZ #1331]
81335         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
81336         macro argument.
81337         Reported by Matej Vela <vela@debian.org>.
81338
81339 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81340
81341         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
81342         include <wchar.h>; no longer needed.
81343
81344 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81345
81346         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
81347
81348 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
81349         and  Ulrich Drepper  <drepper@redhat.com>
81350
81351         Import from libc.
81352         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
81353         instead of inline stream orientation test and two separate
81354         function calls.  Pay no attention to USE_IN_LIBIO.
81355
81356 2005-10-13  Simon Josefsson  <jas@extundo.com>
81357
81358         * modules/gc-hmac-md5-tests: New file.
81359
81360         * tests/test-gc-hmac-sha1.c: New file.
81361
81362         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
81363
81364         * modules/gc-hmac-md5-tests: New file.
81365
81366         * tests/test-gc-md5.c: New file.
81367
81368         * modules/gc-md5-tests: New file.
81369
81370 2005-10-13  Simon Josefsson  <jas@extundo.com>
81371
81372         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
81373         Move memory allocation outside of loop.
81374
81375 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
81376
81377         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
81378         intermediate directory is in a read-only file system.  Problem
81379         reported by Eric Blake.
81380
81381 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
81382
81383         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
81384
81385 2005-10-12  Simon Josefsson  <jas@extundo.com>
81386
81387         * tests/test-hmac-sha1.c: New file.
81388
81389         * modules/hmac-sha1-tests: New file.
81390
81391         * modules/hmac-sha1: New file.
81392
81393 2005-10-12  Simon Josefsson  <jas@extundo.com>
81394
81395         * modules/gc-sha1: New file.
81396
81397 2005-10-12  Simon Josefsson  <jas@extundo.com>
81398
81399         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
81400
81401         * tests/test-gc-pbkdf2-sha1.c: New file.
81402
81403 2005-10-12  Simon Josefsson  <jas@extundo.com>
81404
81405         * modules/gc-md5, modules/gc-hmac-md5: New files.
81406
81407         * modules/gc (Files): Remove md5, memxor and hmac files.
81408
81409 2005-10-12  Simon Josefsson  <jas@extundo.com>
81410
81411         * m4/gc-pbkdf2-sha1.m4: New file.
81412
81413         * m4/gc-hmac-sha1.m4: New file.
81414
81415         * m4/gc-sha1: New file.
81416
81417         * m4/hmac-sha1.m4: New file.
81418
81419 2005-10-12  Simon Josefsson  <jas@extundo.com>
81420
81421         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
81422
81423         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
81424
81425 2005-10-12  Simon Josefsson  <jas@extundo.com>
81426
81427         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
81428         suggested by Bruno Haible <bruno@clisp.org>.
81429
81430 2005-10-12  Simon Josefsson  <jas@extundo.com>
81431
81432         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
81433
81434 2005-10-12  Simon Josefsson  <jas@extundo.com>
81435
81436         * lib/gc-pbkdf2-sha1.c: New file.
81437
81438         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
81439
81440 2005-10-12  Simon Josefsson  <jas@extundo.com>
81441
81442         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
81443
81444         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
81445
81446 2005-10-12  Simon Josefsson  <jas@extundo.com>
81447
81448         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
81449         GC_USE_HMAC_MD5, respectively.
81450
81451         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
81452         (gc_md5): Fix typo.
81453
81454         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
81455
81456         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
81457
81458         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
81459
81460 2005-10-12  Bruno Haible  <bruno@clisp.org>
81461
81462         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
81463         Reported by Stepan Kasal <kasal@ucw.cz>.
81464
81465 2005-10-11  Simon Josefsson  <jas@extundo.com>
81466
81467         * tests/test-crc.c: New file.
81468
81469         * modules/crc, modules/crc-tests: New files.
81470
81471 2005-10-11  Simon Josefsson  <jas@extundo.com>
81472
81473         * m4/crc.m4: New file.
81474
81475 2005-10-11  Simon Josefsson  <jas@extundo.com>
81476
81477         * lib/gc.h: Add gc_hash and gc_hash_buffer.
81478
81479         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
81480
81481         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
81482
81483 2005-10-11  Simon Josefsson  <jas@extundo.com>
81484
81485         * lib/crc.h, lib/crc.c: New files.
81486
81487         * lib/gc.h (gc_hash_buffer): Add doc.
81488
81489 2005-10-11  Bruno Haible  <bruno@clisp.org>
81490
81491         * modules/c-strcasestr: New file.
81492         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
81493
81494 2005-10-11  Bruno Haible  <bruno@clisp.org>
81495
81496         * modules/c-strcase: New file.
81497         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
81498
81499 2005-10-11  Bruno Haible  <bruno@clisp.org>
81500
81501         * lib/strcasecmp.c: Include limits.h.
81502         (strcasecmp): Avoid integer overflow on exotic platforms.
81503         * lib/strncasecmp.c: Include limits.h.
81504         (strncasecmp): Avoid integer overflow on exotic platforms.
81505         Reported by Paul Eggert.
81506
81507 2005-10-11  Bruno Haible  <bruno@clisp.org>
81508
81509         * lib/c-strcasestr.h: New file, from GNU gettext.
81510         * lib/c-strcasestr.c: New file, from GNU gettext.
81511
81512 2005-10-11  Bruno Haible  <bruno@clisp.org>
81513
81514         * lib/c-strcase.h: New file, from GNU gettext.
81515         * lib/c-strcasecmp.c: New file, from GNU gettext.
81516         * lib/c-strncasecmp.c: New file, from GNU gettext.
81517
81518 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81519
81520         * modules/mempcpy (License): GPL -> LGPL.
81521         * modules/strchrnul (License): Likewise.
81522         * modules/sysexits (License): Likewise.
81523
81524 2005-10-08  Simon Josefsson  <jas@extundo.com>
81525
81526         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
81527
81528 2005-10-07  Simon Josefsson  <jas@extundo.com>
81529
81530         * m4/memxor.m4: Remove gl_C_RESTRICT call.
81531
81532 2005-10-06  Simon Josefsson  <jas@extundo.com>
81533
81534         * tests/test-hmac-md5.c: New file.
81535
81536         * modules/hmac-md5-tests: New file.
81537
81538         * modules/hmac-md5: New file.
81539
81540 2005-10-06  Simon Josefsson  <jas@extundo.com>
81541
81542         * m4/hmac-md5.m4: New file.
81543
81544         * m4/memxor.m4: Require gl_C_RESTRICT.
81545
81546 2005-10-06  Simon Josefsson  <jas@extundo.com>
81547
81548         * lib/memxor.c (memxor): Avoid casts and warnings.
81549
81550 2005-10-06  Simon Josefsson  <jas@extundo.com>
81551
81552         * lib/hmac-md5.c: New file.
81553
81554         * lib/hmac.h: New file.
81555
81556 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81557
81558         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
81559         promotes to int, not unsigned int, to catch the AIX 5.3
81560         compiler bug.
81561
81562 2005-10-05  Simon Josefsson  <jas@extundo.com>
81563
81564         * modules/memxor: New file.
81565
81566         * modules/iconv (Files): Move config.rpath to havelib, it is used
81567         there.
81568
81569         * modules/havelib (Files): Add config.rpath.
81570
81571 2005-10-05  Simon Josefsson  <jas@extundo.com>
81572
81573         * m4/memxor.m4: New file.
81574
81575 2005-10-05  Simon Josefsson  <jas@extundo.com>
81576
81577         * lib/memxor.c (memxor): Fix compiler error.
81578
81579         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
81580         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
81581
81582         * lib/memxor.h, lib/memxor.c: New files.
81583
81584         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
81585         we assume all systems have it, suggested by Jim Meyering
81586         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
81587         any systems lack sys/socket.h; mingw32 is known to lack it, but we
81588         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
81589         same reasons.
81590
81591 2005-10-05  Simon Josefsson  <jas@extundo.com>
81592
81593         * config/srclist.txt: Add glibc bug 1423 for md5.h.
81594
81595 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
81596
81597         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
81598         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
81599         needed, since the source code now assumes these .h files.
81600
81601 2005-10-05  Derek Price  <derek@ximbiot.com>
81602
81603         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
81604
81605 2005-10-05  Bruno Haible  <bruno@clisp.org>
81606
81607         * modules/stdint (License): Change to LGPL.
81608
81609 2005-10-04  Simon Josefsson  <jas@extundo.com>
81610
81611         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
81612         D. Baushke" <mdb@gnu.org>.
81613
81614 2005-10-04  Bruno Haible  <bruno@clisp.org>
81615
81616         * lib/verify.h (verify_true): Provide alternative definition for C++.
81617
81618 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
81619
81620         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
81621         (SSIZE_MAX): New macro, if not already defined.
81622         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
81623         than 2 GiB.
81624
81625 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81626
81627         Sync from coreutils.
81628         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
81629         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
81630         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
81631         ULLONG_MAX doesn't work with 2.7.2.1.
81632
81633 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81634
81635         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
81636         From Ben Pfaff.
81637
81638         * modules/exclude (Depends-on): Depend on verify.
81639         * modules/strtoimax (Depends-on): Likewise.
81640         * modules/utimecmp (Depends-on): Likewise.
81641
81642 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81643
81644         * lib/exclude.c: Include verify.h.
81645         (verify): Remove.  All callers changed to use verify.h's version.
81646         * lib/strtoimax.c: Likewise.
81647         * lib/utimecmp.c: Likewis.e
81648
81649         Sync from coreutils.
81650         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
81651         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
81652         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
81653         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
81654         bother returning ENOSYS if settimeofday or stime fails; just let
81655         them return whatever errno they want to return.
81656         * lib/utimens.c: Include unistd.h, for dup2.
81657         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
81658         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
81659
81660 2005-10-02  Jim Meyering  <jim@meyering.net>
81661
81662         Sync from coreutils.
81663         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
81664         from glibc-2.2.5 that fails for read-only files.
81665
81666 2005-10-02  Jim Meyering  <jim@meyering.net>
81667
81668         Sync from coreutils.
81669         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
81670         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
81671         `#if HAVE_CONFIG_H'.
81672         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
81673         Remove AT_FDCWD test.
81674         Do not consume the fd unless successful.
81675         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
81676         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
81677         block, so that we don't even try to compile it if settimeofday is
81678         available.  This works around a compilation failure on OSF1 V5.1,
81679         due to stime requiring a `long int*' while tv_sec is `int'.
81680
81681 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
81682
81683         Sync from coreutils.
81684         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
81685         against `yes', rather than just testing for nonempty.
81686
81687 2005-10-01  Simon Josefsson  <jas@extundo.com>
81688
81689         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
81690         and Darwin.
81691
81692         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
81693         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
81694         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
81695         freeaddrinfo and gai_strerror are declared by the POSIX headers.
81696         Check if struct addrinfo is declared.
81697
81698 2005-10-01  Simon Josefsson  <jas@extundo.com>
81699
81700         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
81701         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
81702         AI_* and EAI_* definitions.  Protect function declarations.
81703
81704 2005-10-01  Jim Meyering  <jim@meyering.net>
81705
81706         Sync from coreutils.
81707
81708         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
81709         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
81710         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
81711         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81712         in the inet and nsl libraries.  Required on Solaris 5.7.
81713
81714 2005-10-01  Jim Meyering  <jim@meyering.net>
81715
81716         Sync from coreutils.
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  Eric Blake  <ebb9@byu.net>  (tiny change)
81721
81722         * lib/getdelim.c (getdelim): Remove unused variables.
81723
81724 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
81725
81726         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
81727         so that the code works even with ancient cpp.  Portability problem
81728         with GCC 2.7.2.1 reported by Thomas M.Ott.
81729
81730 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
81731
81732         * modules/regex (Depends-on): Add strcase.
81733
81734         * modules/gethostname (Licence): Change from GPL to LGPL, since
81735         gethostname.c is a trivial implementation of a standard library
81736         function.
81737         * modules/poll (License): Change from GPL to LGPL, since it's
81738         derived from LGPL code.
81739
81740 2005-09-27  Jim Meyering  <jim@meyering.net>
81741
81742         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
81743         HAVE_CONFIG_H.
81744
81745         * lib/intprops.h (signed_type_or_expr__): Define.
81746         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
81747         for unsigned types.
81748
81749 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
81750
81751         * lib/verify.h (verify_expr): Remove, replacing with:
81752         (verify_true): New macro that returns true instead of void.
81753         (verify_type__): Remove.
81754         (verify): Use verify_true rather than verify_type__.
81755
81756 2005-09-26  Bruno Haible  <bruno@clisp.org>
81757
81758         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
81759         is necessary.
81760         (lib_SOURCES): Remove mbchar.c.
81761         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
81762         (Files): Add m4/mbrtowc.m4.
81763         * modules/mbiter: Likewise.
81764         * modules/mbuiter: Likewise.
81765
81766 2005-09-26  Bruno Haible  <bruno@clisp.org>
81767
81768         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
81769         compile mbchar.c if they are not both present.
81770         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
81771         * m4/mbiter.m4 (gl_MBITER): Likewise.
81772         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
81773         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
81774         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
81775
81776 2005-09-25  Jim Meyering  <jim@meyering.net>
81777
81778         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
81779         also uses socklen_t.
81780
81781 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
81782
81783         * lib/utimens.c (ENOSYS): Define if not already defined.
81784         (futimens): Support having a null PATH if the file descriptor
81785         is nonnegative.
81786
81787         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
81788         Remove.
81789         (__attribute): Define to empty unless GCC 3.1 or later.
81790         This works around a core dump on OpenBSD 3.4, which has GCC
81791         2.95.3, which dumps core when given __attribute__(()).  It also
81792         simplifies other tests, since we really don't want to bother with
81793         worrying about which ancient version of GCC supported what.
81794         Original problem reported by Yoann Vandoorselaere, with part of
81795         the fix suggested by Derek Price.
81796
81797 2005-09-24  Jim Meyering  <jim@meyering.net>
81798
81799         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
81800         so we can once again use a positive bitfield width of 1 -- now we
81801         don't have to explain why we were using a bitfield width of 2.
81802
81803 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81804
81805         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
81806         and similarly for the other external symbols.  Problem reported
81807         by James Gallager.
81808
81809         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
81810         bug reported by Jim Meyering.
81811
81812         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
81813         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
81814         not needed, since socklen is a prerequisite module.
81815
81816 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81817
81818         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
81819         Problem reported by Eric Blake.
81820         (getaddrinfo): Initialize se so that it's not garbage.
81821         Redo internal storage allocation so that it doesn't make unportable
81822         assumptions about alignment.
81823         Fix a memory leak.
81824
81825         * lib/utimens.c (futimens): Use futimesat if available.
81826         Prefer it to futimes since it doesn't have the futimes bug.
81827
81828         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
81829         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
81830         Instead, declare a function that returns a pointer to an array,
81831         and use verify_type__ to declare the size of the array.
81832         Problem and germ of a solution reported by Bruno Haible.
81833         (verify_type__): Use 2, not 1, for bitfield size, to avoid
81834         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
81835
81836 2005-09-23  Jim Meyering  <jim@meyering.net>
81837
81838         Sync from coreutils.
81839         Correct build failure (socklen_t not defined) on at least
81840         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
81841         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
81842
81843 2005-09-23  Jim Meyering  <jim@meyering.net>
81844
81845         * modules/getaddrinfo (Depends-on): Add socklen.
81846
81847 2005-09-23  Bruno Haible  <bruno@clisp.org>
81848
81849         * tests/test-verify.c: New file.
81850
81851 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81852
81853         Sync from coreutils.
81854
81855         * modules/argmatch (Depends-on): Add verify.
81856         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
81857         unistd-safer.
81858         * modules/save-cwd (Depends-on): Likewise.
81859
81860         * modules/openat (Files): Add lib/openat-die.c.
81861         (Depends-on): Remove error, exitfail.
81862         Add dirname.
81863
81864         * modules/verify: New file.
81865         * MODULES.html.sh (Diagnostics <assert.h>): New section,
81866         with "verify" module.
81867
81868 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81869
81870         Sync from coreutils.
81871
81872         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
81873         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
81874         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
81875         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
81876         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
81877         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
81878         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
81879         Don't bother checking for string.h, stdlib.h, unistd.h.
81880         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
81881         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
81882         module's job.
81883         * m4/jm-macros.m4 (gl_MACROS): Likewise.
81884         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
81885
81886         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
81887         (gl_GETDATE): Use it.
81888
81889         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
81890
81891 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81892
81893         Sync from coreutils.
81894
81895         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
81896         stat-time.h.
81897         * lib/argmatch.h: Include verify.h
81898         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
81899         (ARGMATCH_ASSERT): Remove; unused.
81900         * lib/canonicalize.c: Assume STDC_HEADERS.
81901         * lib/exclude.c: Include "strcase.h".
81902         * lib/regex_internal.h [!defined _LIBC]: Likewise.
81903         * lib/getusershell.c: Include stdio--.h rather than stdio.h
81904         and stdio-safer.h.
81905         (getusershell): Call fopen, not fopen_safer.
81906         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
81907         Do not include unistd-safer.h.
81908         (save_cwd): Don't call fd_safer; no longer needed
81909         now that we include fcntl--.h.
81910
81911         * lib/getdate.y (relative_time): New type.
81912         (RELATIVE_TIME_0): New constant.
81913         (parser_control): Use relative_time instead of doing it ourselves.
81914         (%union): Add new relative_time rel member.
81915         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
81916         Now typeless.
81917         (relunit, relunit_snumber): Now of type rel.
81918         (zone, rel, relunit, get_date): Adjust to above changes.
81919
81920         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
81921         Do not include unistd-safer.h.
81922         (getloadavg): Don't call fd_safer; no longer needed
81923         now that we include fcntl--.h.
81924
81925         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
81926         (make_dir_parents): Treat ENOSYS like EEXIST.
81927
81928         Improve quality of diagnostics on restore_cwd failure.
81929         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
81930         (make_dir_parents): Last arg is now int * (for errno), not bool *.
81931         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
81932         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
81933         each time through the loop.  Do not diagnose restore_cwd failure;
81934         that is the caller's job (and perhaps the caller does not care).
81935
81936         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
81937         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
81938         If the file already exists but is not a directory, don't bother
81939         to try to make its parents.
81940         Close potential file descriptor leak if we can't chdir("/") (!).
81941         Don't always return true if chdir($PWD) fails; return true only
81942         if the requested action was done successfully (except for the
81943         chdir($PWD)).
81944         Don't log final directory unless we actually made it.
81945         Refactor to avoid duplicate code to fix up permissions.
81946         Don't attempt to fix up parent permissions if chdir($PWD) fails.
81947
81948         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
81949         to make it a bit faster and (I hope) clearer.
81950         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
81951         Fix bug in formats like %2N.
81952
81953         * lib/verify.h: New file.
81954
81955 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81956
81957         Sync from coreutils.
81958         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
81959
81960 2005-09-22  Jim Meyering  <jim@meyering.net>
81961
81962         Sync from coreutils.
81963
81964         * m4/lstat.m4 (gl_FUNC_LSTAT):
81965         Use AC_LIBSOURCES to require lstat.c and lstat.h.
81966         Remove obsolete comment.
81967         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
81968         * m4/xstrtod.m4: Likewise.
81969
81970         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
81971
81972 2005-09-22  Jim Meyering  <jim@meyering.net>
81973
81974         Sync from coreutils.
81975
81976         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
81977
81978         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
81979         the .tm_year member, since otherwise gcc-4.0 would now warn about
81980         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
81981
81982         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
81983         order to avoid an unsuppressible warning from gcc on 64-bit systems.
81984
81985         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
81986         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
81987         when run in a time zone for which daylight savings time is in effect
81988         for the starting date.
81989
81990         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
81991         stop us from restricting permissions of just-created absolute-named
81992         directories.
81993         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
81994         to restore initial working directory.
81995         * lib/mkdir-p.c (make_dir_parents): New parameter:
81996         different_working_dir, to tell caller if/when we change the working
81997         directory and are unable to return to the initial one.
81998         * lib/mkdir-p.h (make_dir_parents): Update prototype.
81999         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
82000         `return false'.  This fixes a bug introduced on 2004-07-30.
82001
82002         * lib/openat.c (fdopendir): Be sure to close the supplied
82003         file descriptor before returning.  This makes our replacement
82004         implementation a little closer to Solaris's, where fdopendir
82005         ties the file descriptor to the returned DIR* pointer.
82006         * lib/openat.c (unlinkat): New function.
82007         * lib/openat.h (unlinkat): Add prototype.
82008         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
82009         (openat_restore_fail): Rename from openat_restore_die.
82010         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
82011
82012         Provide an alternative to exiting immediately upon save_cwd or
82013         restore_cwd failure.  Now, an application can arrange e.g.,
82014         to perform a longjump in that case.
82015         * lib/openat.c: Include dirname.h.
82016         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
82017         (rpl_openat, fdopendir, fstatat): Call openat_save_die
82018         and openat_restore_die rather than calling error directly.
82019         Don't include "error.h" or "exitfail.h"; they're no longer needed.
82020
82021         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
82022         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
82023         define.
82024
82025         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
82026         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
82027                             int utc, int nanoseconds);
82028         Background:
82029         date should not have to allocate a megabyte of virtual memory to
82030         handle a format argument like +%1048575T.  When implemented with
82031         strftime, it must allocate such a buffer, use strftime to fill it
82032         in, print it, then free it.
82033         With fprintftime, it simply prints everything and exits.
82034         With no need for memory allocation, that's one fewer way to fail.
82035         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
82036         optional field width, not before, so we accept %9:z, not %:9z.
82037         (my_strftime): Be sure to use L_('x') for literals.
82038
82039         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
82040         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
82041         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
82042         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
82043         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
82044         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
82045         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
82046         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
82047         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
82048         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
82049         * lib/xgethostname.c, lib/xreadlink.c:
82050         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
82051
82052         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
82053         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
82054         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
82055         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82056         and don't include <sys/file.h>).
82057
82058 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
82059
82060         Sync from coreutils.
82061
82062         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
82063         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
82064         [!LDAV_DONE]: Avoid unused variable warning.
82065
82066 2005-09-21  Bruno Haible  <bruno@clisp.org>
82067
82068         * lib/unicodeio.h (unicode_to_mb): New declaration.
82069
82070 2005-09-20  Derek Price  <derek@ximbiot.com>
82071
82072         * lib/getaddrinfo.c: Don't include <netdb.h> included from
82073         getaddrinfo.h.
82074
82075 2005-09-20  Bruno Haible  <bruno@clisp.org>
82076
82077         * gnulib-tool: Remove trailing slashes from the values specified for
82078         --source-base, --m4-base, --tests-base, --aux-dir.
82079         Suggested by Simon Josefsson <jas@extundo.com>.
82080
82081 2005-09-20  Bruno Haible  <bruno@clisp.org>
82082
82083         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
82084         func_modules_to_filelist, func_import, func_create_testdir): Make all
82085         sorting results locale-independent, so that gnulib-cache.m4 doesn't
82086         change when gnulib-tool is invoked in a different locale.
82087
82088 2005-09-19  Simon Josefsson  <jas@extundo.com>
82089
82090         * m4/socklen.m4: Fix typo.
82091
82092 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82093
82094         Use a consistent style for including <config.h>.
82095         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
82096         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
82097         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
82098         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
82099         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
82100         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
82101         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
82102         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
82103         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
82104         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
82105         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
82106         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
82107         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
82108         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
82109         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
82110         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
82111         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
82112         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
82113         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
82114         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
82115         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
82116         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
82117         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
82118         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
82119         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
82120         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
82121         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
82122         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
82123         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
82124         lib/xstrtoumax.c, lib/yesno.c:
82125         Standardize inclusion of config.h.
82126         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
82127         lib/inttostr.h:  Removed inclusion of config.h from header files.
82128         * lib/inttostr.c:  Adjusted in-tree users.
82129         * lib/timespec.h: Remove superfluous warning to include config.h.
82130         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
82131         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
82132         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
82133         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
82134         config.h with HAVE_CONFIG_H.
82135
82136 2005-09-19  Jim Meyering  <jim@meyering.net>
82137
82138         * modules/pathmax (License): Change to LGPL.
82139
82140 2005-09-19  Derek Price  <derek@ximbiot.com>
82141
82142         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
82143
82144 2005-09-19  Bruno Haible  <bruno@clisp.org>
82145
82146         * gnulib-tool (import): Provide default for --tests-base.
82147
82148 2005-09-19  Bruno Haible  <bruno@clisp.org>
82149
82150         * doc/quote.texi: New file, extracted from gnulib.texi.
82151         * doc/ctime.texi: New file, extracted from gnulib.texi.
82152         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
82153         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
82154         * doc/gnulib.texi: Include them.
82155
82156 2005-09-18  Bruno Haible  <bruno@clisp.org>
82157
82158         Portability fix.
82159         * gnulib-tool (func_readlink): New function.
82160         (func_ln_if_changed): Use it.
82161
82162 2005-09-18  Bruno Haible  <bruno@clisp.org>
82163
82164         * gnulib-tool: Support --with-tests also with --import.
82165         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
82166         (func_import): Use variables $testsbase and $inctests. Emit a
82167         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
82168         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
82169         SUBDIRS += $testsdir.
82170         (func_create_testdir): Update.
82171
82172 2005-09-18  Bruno Haible  <bruno@clisp.org>
82173
82174         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
82175         instead of $dry_run.
82176         (func_cp_if_changed, func_mv_if_changed): Remove functions.
82177         (func_ln_if_changed): Don't handle dry-run here.
82178         (func_import): In dry-run mode, detect more precisely which actions
82179         would be performed, and don't use "...ing" verbs.
82180
82181 2005-09-18  Bruno Haible  <bruno@clisp.org>
82182
82183         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
82184         (func_import): Use join on two temporary files instead of three nested
82185         loops, in order to determine which files are new or old.
82186
82187 2005-09-18  Bruno Haible  <bruno@clisp.org>
82188
82189         * gnulib-tool (func_import): Comment out code that spits out the
82190         new files with --dry-run.
82191
82192 2005-09-18  Bruno Haible  <bruno@clisp.org>
82193
82194         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
82195
82196 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82197
82198         * lib/stat-time.h: New file.
82199         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
82200         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
82201         in a different way.
82202         (timespec_cmp): New function.
82203         * lib/utimecmp.c: Include stat-time.h.
82204         (SYSCALL_RESOLUTION): Depend on whether various struct stat
82205         members exist, not on the obsolescent ST_MTIM_NSEC.
82206         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
82207
82208 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82209
82210         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
82211
82212 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82213
82214         * MODULES.html.sh (File system functions): Add stat-time.
82215         * modules/stat-time: New file.
82216         * modules/timespec (Files): Remove m4/st_mtim.m4; this
82217         is now done in a different way, by the stat-time module.
82218         * modules/utimecmp (Depends-on): Add stat-time.
82219
82220 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
82221
82222         * m4/st_mtim.m4: Remove.  Superseded by...
82223         * m4/stat-time.m4: New file.
82224         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
82225         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
82226
82227 2005-09-15  Derek Price  <derek@ximbiot.com>
82228
82229         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
82230
82231 2005-09-15  Derek Price  <derek@ximbiot.com>
82232
82233         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
82234         * lib/regex_internal.c: Ditto, using this...
82235         (__GNUC_PREREQ): ...new macro.
82236         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
82237         using...
82238         (__GNUC_PREREQ): ...this new macro.
82239
82240         * lib/strstr.h: Include string.h. Define strstr as a macro here.
82241
82242 2005-09-15  Derek Price  <derek@ximbiot.com>
82243             Paul Eggert  <eggert@cs.ucla.edu>
82244
82245         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
82246         changes, consolidating in...
82247         * lib/regex_internal.h: ...this file.
82248
82249 2005-09-13  Jim Meyering  <jim@meyering.net>
82250
82251         * lib/canon-host.c: Filter through gnu indent and reword comments
82252         slightly.
82253         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
82254
82255 2005-09-13  Derek Price  <derek@ximbiot.com>
82256
82257         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
82258         failure.
82259         Reported by Jim Meyering  <jim@meyering.net>.
82260
82261 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82262
82263         * lib/base64.c: Typo.
82264         (base64_encode): Put b64str in initialized data section.
82265
82266 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
82267
82268         Merge glibc and coreutils changes into gnulib, plus a few
82269         extra fixes.
82270         * lib/md5.c: Use #error rather than a string.
82271         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
82272         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
82273         (__attribute__): Define to empty for non recent-GCC.
82274         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
82275         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
82276         Renamed from their non-__ counterparts, with new macros replacing
82277         them if not _LIBC.  Add __THROW attribute.
82278         (rol): Remove.
82279         (struct md5_ctx): Align buffer if using GCC.
82280         * lib/sha1.h (struct sha1_ctx): Likewise.
82281         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
82282         The old name was backwards.
82283         (NOTSWAP): Remove; not used.
82284         (rol): New macro, moved here from md5.h.
82285         (sha1_process_block): Remove a FIXME that doesn't make sense.
82286
82287 2005-09-12  Derek Price  <derek@ximbiot.com>
82288
82289         Return usable errors from canon-host.
82290         * lib/canon-host.h: New file.
82291         * lib/canon-host.c (canon_host): Wrap...
82292         (canon_host_r): ...this new function, which now relies exclusively on
82293         getaddrinfo.
82294         (ch_strerror): New function.
82295         (last_cherror): New global.
82296         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
82297         interface.
82298         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
82299         void *.
82300         (freeaddrinfo): Free ai->ai_canonname when set.
82301
82302 2005-09-12  Derek Price  <derek@ximbiot.com>
82303
82304         Make canon-host require getaddrinfo.
82305         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
82306         AC_LIBSOURCE canon-host.h.  Call...
82307         (gl_PREREQ_CANON_HOST): ...this new function, which requires
82308         gl_GETADDRINFO.
82309         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
82310
82311 2005-09-12  Derek Price  <derek@ximbiot.com>
82312
82313         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
82314         LGPL.
82315         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
82316
82317 2005-09-12  Derek Price  <derek@ximbiot.com>
82318
82319         * lib/gai_strerror.c: Include config.h when available.  Include
82320         getaddrinfo.h before other headers to test interface.
82321         Reported by Larry Jones <lawrence.jones@ugs.com>.
82322
82323 2005-09-12  Derek Price  <derek@ximbiot.com>
82324             Paul Eggert  <eggert@cs.ucla.edu>
82325
82326         * modules/glob (Files): Add glob-libc.h.
82327
82328 2005-09-12  Derek Price  <derek@ximbiot.com>
82329             Paul Eggert  <eggert@cs.ucla.edu>
82330
82331         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
82332         glob_.h, glob-libc.h.
82333         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
82334
82335 2005-09-12  Derek Price  <derek@ximbiot.com>
82336             Paul Eggert  <eggert@cs.ucla.edu>
82337
82338         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
82339         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
82340         protecting things that should be done only in gnulib contexts.
82341         * lib/glob_.h: New file, containing only the glob things needed for
82342         gnulib.
82343         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
82344         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
82345         (glob, globfree, glob_pattern_p): Now defined simply in terms of
82346         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
82347         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
82348         and to respect the namespace rules better.
82349
82350 2005-09-08  Simon Josefsson  <jas@extundo.com>
82351
82352         * modules/socklen: New file.
82353
82354 2005-09-08  Simon Josefsson  <jas@extundo.com>
82355
82356         * m4/socklen.m4: New file.
82357
82358 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82359
82360         * modules/utimens (Files): Add m4/utimbuf.m4, since
82361         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
82362         Reported by Sergey Poznyakoff.
82363
82364 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82365
82366         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
82367         definitions, since that's the preferred style in glibc.
82368         Fix a minor spacing issue, and update copyright notice to match
82369         glibc's.
82370
82371 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82372
82373         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
82374
82375 2005-09-06  Simon Josefsson  <jas@extundo.com>
82376
82377         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
82378         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
82379
82380 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82381
82382         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
82383         warning.
82384
82385 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82386
82387         * config/srclist.txt: Add glibc bug 1302.
82388
82389 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
82390
82391         Change bitset word type from unsigned int to unsigned long int,
82392         as this has better performance on typical 64-bit hosts.
82393         Port bitset code to hosts with unusual word sizes.
82394         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
82395         (build_collating_symbol):
82396         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
82397         argument is a bitset.  This is merely a style issue, but it makes
82398         it clearer that an entire array is expected.
82399         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
82400         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
82401         Port to the case where bitset_word is not the same as unsigned int.
82402         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82403         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
82404         Likewise.
82405         * lib/regexec.c (check_dst_limits_calc_pos_1,
82406         check_subexp_matching_top):
82407         (build_trtable, group_nodes_into_DFAstates):
82408         Likewise.
82409         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
82410         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
82411         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
82412         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
82413         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
82414         * lib/regcomp.c (optimize_subexps, lower_subexp):
82415         Work even if bitset_word has holes in its bitwise representation.
82416         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
82417         * lib/regexec.c (check_dst_limits_calc_pos_1,
82418         check_subexp_matching_top):
82419         Likewise.
82420         * lib/regex_internal.c (re_string_reconstruct):
82421         Don't assume UCHAR_MAX == 255.
82422         * lib/regex_internal.h (bitset_set_all): Likewise.
82423         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
82424         All uses changed.
82425         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
82426         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
82427         All uses changed.
82428         (BITSET_WORD_MAX): New macro.
82429         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
82430         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
82431         (bitset_empty, bitset_copy):
82432         Prefer sizeof (bitset) to multiplying it out ourselves.
82433         (bitset_not_merge): Remove; unused.
82434         (bitset_contain): Return bool, not unsigned int with one bit on.
82435         All callers changed.
82436         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
82437         alignment than re_node_set; do this by defining a new internal
82438         type struct dests_alloc and using it to allocate memory.
82439
82440 2005-09-05  Bruno Haible  <bruno@clisp.org>
82441
82442         * gnulib-tool (func_import): Fix comparison in handling of symbolic
82443         links.
82444
82445 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
82446
82447         * modules/size_max (Makefile.am): Add size_max.h
82448
82449 2005-09-04  Derek Price  <derek@ximbiot.com>
82450
82451         * gnulib-tool (func_import): Fix reversed $symbolic logic.
82452
82453 2005-09-03  Simon Josefsson  <jas@extundo.com>
82454
82455         * gnulib-tool: Fix typo.
82456
82457 2005-09-03  Simon Josefsson  <jas@extundo.com>
82458
82459         * config/srclist.txt: Add glibc bug 1293.
82460
82461 2005-09-03  Derek Price  <derek@ximbiot.com>
82462
82463         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
82464         From Larry Jones <lawrence.jones@ugs.com>.
82465
82466 2005-09-02  Simon Josefsson  <jas@extundo.com>
82467
82468         * modules/socklen: New file.
82469
82470 2005-09-02  Simon Josefsson  <jas@extundo.com>
82471
82472         * modules/havelib: New module.
82473
82474         * modules/gettext, modules/iconv, modules/lock, modules/readline:
82475         Use havelib.
82476
82477 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82478
82479         Check for arithmetic overflow when calculating sizes, to prevent
82480         some buffer-overflow issues.  These patches are conservative, in the
82481         sense that when I couldn't determine whether an overflow was possible,
82482         I inserted a run-time check.
82483         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
82484         macros.
82485         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
82486         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
82487         (re_xnrealloc, re_x2nrealloc): New inline functions.
82488         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
82489         parse_bracket_exp):
82490         (build_equiv_class, build_charclass): Check for arithmetic overflow
82491         in size expression calculations.
82492         * lib/regex_internal.c (re_string_realloc_buffers):
82493         (build_wcs_upper_buffer, re_node_set_add_intersect):
82494         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
82495         (re_dfa_add_node, register_state): Likewise.
82496         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
82497         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
82498         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
82499         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
82500
82501 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82502
82503         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82504         m4/ulonglong.m4.  Problem reported by Martin Lambers.
82505
82506 2005-09-02  Bruno Haible  <bruno@clisp.org>
82507
82508         Support for lib vs. lib64 distinction on biarch platforms.
82509         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
82510         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
82511         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
82512
82513 2005-09-02  Bruno Haible  <bruno@clisp.org>
82514
82515         * gnulib-tool (import): In the other first-use case, provide defaults
82516         as well.
82517
82518 2005-09-02  Bruno Haible  <bruno@clisp.org>
82519
82520         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
82521         patches not yet found in the latest gettext release.
82522
82523 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82524
82525         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
82526         to avoid a collision with bits/local_lim.h in glibc.
82527         All uses changed.  Problem reported by Dmitry V. Levin in
82528         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
82529
82530         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
82531         bugs in int versus size_t comparisons.
82532         (re_string_context_at): Fix bug where the code assumed that
82533         Idx is signed.
82534
82535         Use bool where appropriate.
82536         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
82537         All callers changed.
82538         (calc_eclosure_iter): Likewise, for ROOT arg.
82539         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
82540         (build_charclass_op): Likewise, for NON_MATCH arg.
82541         * lib/regex_internal.c (re_string_allocate, re_string_construct):
82542         (re_string_construct_common): Likewise, for ICASE arg.
82543         * lib/regexec.c (re_search_2_stub, re_search_stub):
82544         Likewise, for RET_LEN arg.
82545         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
82546         (set_regs): Likewise, for FL_BACKTRACK arg.
82547         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
82548         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
82549         (calc_eclosure_iter, parse_bracket_exp):
82550         Use bool for internal variables that are booleans.
82551         * lib/regexec.c (re_search_internal, check_matching,
82552         proceed_next_node):
82553         (set_regs, build_sifted_states, sift_states_bkref):
82554         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
82555         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82556         (find_collation_sequence_value):
82557         Likewise.
82558         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
82559         (re_node_set_compare):
82560         Return bool, not int. All callers changed.
82561         * lib/regexec.c (check_halt_node_context, check_dst_limits):
82562         (build_trtable, check_node_accept): Likewise.
82563         * lib/regex_internal.h: Include stdbool.h.
82564
82565         Fix bugs uncovered when converting to bool.
82566         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
82567         failure instead of charging ahead blindly.
82568         * lib/regex_internal.c (register_state): Likewise.
82569         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
82570         for freeing internal storage.
82571         (group_nodes_into_DFA_states): Use unsigned int, not int, for
82572         bitset pieces used as boolean, to avoid undefined behavior
82573         on hosts that do int overflow checking.
82574
82575 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82576
82577         * config/srclist.txt: Add glibc bugs 1285-1287.
82578
82579 2005-09-01  Jim Meyering  <jim@meyering.net>
82580
82581         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
82582         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
82583         Require gl_STAT_MACROS, too.
82584
82585 2005-09-01  Bruno Haible  <bruno@clisp.org>
82586
82587         * gnulib-tool (import): In the first-use case, provide defaults.
82588
82589 2005-09-01  Bruno Haible  <bruno@clisp.org>
82590
82591         * gnulib-tool (func_import): Remove the .tmp files.
82592
82593 2005-09-01  Bruno Haible  <bruno@clisp.org>
82594
82595         * gnulib-tool (func_import): Fix handling of symbolic links.
82596
82597 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82598
82599         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
82600         old glibc regex code mishandles strings longer than 2**31 bytes.
82601         This patch fixes this when the regex code is used in gnulib
82602         (i.e., outside glibc).
82603
82604         This patch should not affect the use of the regex code inside
82605         glibc.  No doubt this problem also needs to be handled for glibc
82606         as well, but the result will be an incompatible change to the
82607         glibc ABI, and the old ABI will have to be supported too.  That
82608         can be the the subject for another patch.
82609
82610         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
82611         governing whether the rest of this patch is active.  By default,
82612         the macro is disabled and the patch has no effect.
82613         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
82614         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
82615         (struct re_pattern_buffer, re_search, re_search_2, re_match):
82616         (re_match_2, re_set_registers): Use the new types.
82617         * lib/regex_internal.h (Idx, re_hashval_t): New types.
82618         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
82619         New macros.
82620         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
82621         (re_string_context_at, bin_tree_t, re_dfastate_t):
82622         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
82623         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
82624         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
82625         (re_string_char_size_at, re_string_wchar_at):
82626         (re_string_elem_size_at):
82627         Use the new types and macros to port to 64-bit hosts.
82628         Use unsigned types for internal values, so that the code
82629         mostly works even for arrays larger than SSIZE_MAX.
82630         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
82631         (search_duplicated_node, calc_eclosure_iter, fetch_number):
82632         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
82633         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
82634         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
82635         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
82636         (calc_inveclosure, parse_dup_op, build_range_exp):
82637         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
82638         (fetch_number, create_token_tree, mark_opt_subexp):
82639         Likewise.
82640         * lib/regex_internal.c (re_string_construct_common,
82641         create_ci_newstate):
82642         (create_cd_newstate, re_string_allocate, re_string_construct):
82643         (re_string_realloc_buffers, build_wcs_upper_buffer):
82644         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82645         (re_string_reconstruct, re_string_peek_byte_case):
82646         (re_string_fetch_byte_case, re_string_context_at):
82647         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82648         (re_node_set_init_copy, re_node_set_add_intersect):
82649         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82650         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82651         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82652         (re_acquire_state, re_acquire_state_context, register_state):
82653         Likewise.
82654         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
82655         search_cur_bkref_entry):
82656         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
82657         (re_search_internal, re_search_2_stub, re_search_stub)
82658         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
82659         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
82660         (update_cur_sifted_state, check_dst_limits):
82661         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82662         (check_subexp_limits, sift_states_bkref, merge_state_array):
82663         (check_subexp_matching_top, get_subexp, get_subexp_sub):
82664         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
82665         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82666         (expand_bkref_cache, check_node_accept_bytes):
82667         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
82668         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
82669         (acquire_init_state_context, check_halt_node_context):
82670         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
82671         (sift_states_backward, clean_state_log_if_needed):
82672         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
82673         (find_recover_state, transit_state_sb, transit_state_mb):
82674         (transit_state_bkref, build_trtable, match_ctx_clean):
82675         Likewise.
82676         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
82677         to work around an assumption that REG_MISSING is negative.
82678
82679         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
82680         (seek_collating_symbol_entry) [defined _LIBC]:
82681         (lookup_collation_sequence_value) [defined _LIBC]:
82682         (build_range_exp, build_collating_symbol) [defined _LIBC]:
82683         Use prototypes rather than old-style function definitions.
82684         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
82685         (transit_state_sb) [0]:
82686         (find_collation_sequence_value) [defined _LIBC]: Likewise.
82687
82688         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
82689         rm_eo.
82690
82691         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
82692         (optimize_subexps, lower_subexp):
82693         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
82694         since the signed shift might overflow.  Use 1u<<31 instead.
82695         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82696         Likewise.
82697         * lib/regexec.c (check_dst_limits_calc_pos_1,
82698         check_subexp_matching_top): Likewise.
82699
82700         * lib/regcomp.c (optimize_subexps, lower_subexp):
82701         Use CHAR_BIT rather than 8, for clarity.
82702         * lib/regexec.c (check_dst_limits_calc_pos_1):
82703         (check_subexp_matching_top): Likewise.
82704         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
82705         have to worry about portability issues when shifting it left.
82706         Remove no-longer-needed test for table_size > 0.
82707         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
82708         in a word, as the resulting behavior is undefined.
82709         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
82710         in one case, a <= should have been an <, and in another case the
82711         whole test was missing.
82712         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
82713         the standard name CHAR_BIT.
82714         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
82715         this is not true on one's complement and signed-magnitude hosts.
82716
82717         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
82718         next_last_offset.
82719         (struct re_dfa_t): Remove unused member states_alloc.
82720         * lib/regcomp.c (init_dfa): Don't initialize unused members.
82721
82722 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82723
82724         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
82725         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
82726         and large-file glibc and in 32-bit large-file Solaris.
82727
82728 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82729
82730         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
82731         lengths fit in regoff_t; this isn't true if regoff_t is the same
82732         width as size_t.
82733         * lib/regex.c (re_search_internal): 5th arg is LAST_START
82734         (= START + RANGE) instead of RANGE.  This avoids overflow
82735         problems when regoff_t is the same width as size_t.
82736         All callers changed.
82737         (re_search_2_stub): Check for overflow when adding the
82738         sizes of the two strings.
82739         (re_search_stub): Check for overflow when adding START
82740         to RANGE; if it occurs, substitute the extreme value.
82741
82742 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82743
82744         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
82745
82746 2005-08-31  Jim Meyering  <jim@meyering.net>
82747
82748         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
82749         a pointer-to-const.
82750         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
82751         (register_state): Likewise.
82752         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
82753         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82754         (group_nodes_into_DFAstates): Likewise.
82755
82756 2005-08-31  Jim Meyering  <jim@meyering.net>
82757
82758         * check-module: Add a FIXME comment.
82759
82760 2005-08-31  Eric Blake  <ebb9@byu.net>
82761
82762         * modules/unistd-safer (Files): Add unistd--.h.
82763         * modules/stdio-safer (Files): Add stdio--.h.
82764
82765 2005-08-31  Derek Price  <derek@ximbiot.com>
82766
82767         * lib/getdelim.c (getdelim): Return EOF on EOF.
82768         Reported by Larry Jones <lawrence.jones@ugs.com>.
82769
82770 2005-08-31  Bruno Haible  <bruno@clisp.org>
82771
82772         Avoid unnecessary diffs in the generated lib/Makefile.am.
82773         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
82774         the generated files.
82775         (func_import): Don't set cmd.
82776
82777 2005-08-31  Bruno Haible  <bruno@clisp.org>
82778
82779         * lib/strstr.c: Include <stddef.h>, for NULL.
82780         * lib/strcasestr.c: Likewise.
82781         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82782
82783 2005-08-31  Bruno Haible  <bruno@clisp.org>
82784
82785         * gnulib-tool: New option --macro-prefix.
82786         (func_import): Use macro_prefix.
82787         (import): Handle option --macro-prefix.
82788
82789 2005-08-31  Bruno Haible  <bruno@clisp.org>
82790
82791         * gnulib-tool (import): Rename most ac_* variables to cached_*.
82792         Also use new variables cached_lgpl, cached_libtool.
82793
82794 2005-08-31  Bruno Haible  <bruno@clisp.org>
82795
82796         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
82797         always instantiating them.
82798
82799 2005-08-31  Bruno Haible  <bruno@clisp.org>
82800
82801         * gnulib-tool (func_import): Read the previous cached settings
82802         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
82803         earlier added by gnulib but are now dropped. Warn when a gnulib file
82804         overwrites a non-gnulib file.
82805
82806 2005-08-31  Bruno Haible  <bruno@clisp.org>
82807
82808         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
82809         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
82810         projects that don't keep autogenerated files in CVS. Put into
82811         actioncmd only the specified modules, not the transitive closure.
82812
82813 2005-08-31  Bruno Haible  <bruno@clisp.org>
82814
82815         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
82816         Create directories that shall be filled.
82817         (import): Don't look for gl_* macros in configure.ac. Recurse across
82818         all directories containing a gnulib-cache.m4 files, if meaningful.
82819
82820 2005-08-31  Bruno Haible  <bruno@clisp.org>
82821
82822         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
82823         (import): Set seen_libtool when we see gl_LIBTOOL.
82824
82825 2005-08-31  Bruno Haible  <bruno@clisp.org>
82826
82827         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
82828         declaration macro definitions from generated gnulib.m4.
82829
82830 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
82831
82832         * lib/iconvme.h: Add prototype for iconv_alloc.
82833
82834 2005-08-29  Simon Josefsson  <jas@extundo.com>
82835
82836         * lib/iconvme.c: Fix errno.
82837
82838 2005-08-29  Bruno Haible  <bruno@clisp.org>
82839
82840         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
82841         that it works when the directory contains spaces.
82842
82843 2005-08-29  Bruno Haible  <bruno@clisp.org>
82844
82845         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
82846
82847 2005-08-29  Bruno Haible  <bruno@clisp.org>
82848
82849         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
82850         Emit more advice.
82851
82852 2005-08-29  Bruno Haible  <bruno@clisp.org>
82853         and Stepan Kasal  <kasal@ucw.cz>
82854
82855         * check-module: If more parameters are given, check each of them
82856         separately; add more exceptions, as noted by Jim Meyering.
82857         (check_module): New procedure.
82858         (%exempt_header): Now contains all exceptions.
82859
82860 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
82861
82862         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
82863
82864 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82865
82866         * lib/iconvme.c: Split iconv_string into iconv_alloc.
82867
82868 2005-08-28  Bruno Haible  <bruno@clisp.org>
82869
82870         * m4/gnulib-tool.m4: New file.
82871
82872 2005-08-27  Jim Meyering  <jim@meyering.net>
82873
82874         * modules/unistd-safer (Files): Add pipe-safer.c.
82875         * modules/fcntl-safer (Files): Add creat-safer.c.
82876
82877 2005-08-27  Jim Meyering  <jim@meyering.net>
82878
82879         * m4/stdlib-safer.m4: New file.  From coreutils.
82880         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
82881         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
82882         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
82883         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
82884         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
82885
82886 2005-08-27  Jim Meyering  <jim@meyering.net>
82887
82888         * lib/fopen-safer.c: Merge minor changes from coreutils.
82889         * lib/dup-safer.c: Likewise.
82890         * lib/fd-safer.c: Likewise.
82891
82892         Merge from coreutils.
82893         * lib/stdio--.h: New file.
82894         * lib/stdlib--.h: New file.
82895         * lib/mkstemp-safer.c: New file.
82896
82897         GNU tar needs these.
82898         * lib/pipe-safer.c: New file.
82899         * lib/creat-safer.c: New file.
82900         * lib/fcntl--.h (creat): Define to creat_safer.
82901         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
82902         * lib/unistd--.h (pipe): Define to pipe_safer.
82903         * lib/unistd-safer.h: Declare pipe_safer.
82904
82905 2005-08-26  Simon Josefsson  <jas@extundo.com>
82906
82907         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
82908         Haible <bruno@clisp.org>.
82909
82910 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
82911
82912         * lib/regex_internal.h: Remove all references to
82913         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
82914         or better.
82915         (bitset_not, bitset_merge, bitset_not_merge):
82916         (bitset_mask, re_string_allocate, re_string_construct):
82917         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
82918         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
82919         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
82920         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
82921         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82922         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82923         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
82924         (re_acquire_state_context):
82925         Remove unnecessary forward decls.
82926         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
82927         Put __attribute at function definition,
82928         now that the function decl has been removed.
82929         * lib/regex_internal.c (re_string_peek_byte_case):
82930         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
82931         Likewise.
82932
82933 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
82934
82935         * m4/regex.m4: Add AC_PREREQ(2.50).
82936         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
82937
82938 2005-08-25  Simon Josefsson  <jas@extundo.com>
82939
82940         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
82941         __fsetlocking.
82942
82943 2005-08-25  Simon Josefsson  <jas@extundo.com>
82944
82945         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
82946         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
82947         GLIBC specific code.
82948
82949 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82950
82951         Make regex safe for g++.  This fixes one real bug (an "err"
82952         that should have been "*err").  g++ problem reported by
82953         Sam Steingold.
82954         * lib/regex_internal.h (re_calloc): New macro, consistent with
82955         re_malloc etc.  All callers of calloc changed to use re_calloc.
82956         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
82957         not int.  All callers changed.
82958         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
82959         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
82960         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
82961         (find_recover_state): Change "err" to "*err"; this fixes what
82962         appears to be a real bug.
82963         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
82964         versus int.
82965
82966 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82967
82968         * modules/regex (Depends-on): Add malloc, since the code
82969         assumes that !malloc(0) means failure.
82970
82971 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82972
82973         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
82974
82975         alloca modernization/simplification for regex.
82976         * lib/regex.c: Remove portability cruft for alloca.  This no longer
82977         needs to be at the start of the file, and can be moved into
82978         regex_internal.h and simplified.
82979         * lib/regex_internal.h: Include <alloca.h>.
82980         (__libc_use_alloca) [!defined _LIBC]: New macro.
82981         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
82982         now works outside glibc.
82983
82984 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82985
82986         * config/srclist.txt: Add glibc bugs 1241, 1245.
82987
82988 2005-08-25  Jim Meyering  <jim@meyering.net>
82989
82990         * lib/open-safer.c: Include <config.h>.
82991         Otherwise, we'd lose LARGEFILE support in any file using
82992         e.g. "fcntl--.h"
82993
82994 2005-08-25  Bruno Haible  <bruno@clisp.org>
82995
82996         * m4/minmax.m4: Require autoconf 2.52.
82997         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
82998         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
82999         alternatives of translit over the alphabet.
83000         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
83001
83002 2005-08-24  Simon Josefsson  <jas@extundo.com>
83003
83004         * tests/test-getpass.c: New file.
83005
83006 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83007
83008         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
83009         for GNU regex features.
83010
83011 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83012
83013         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
83014         * lib/regex.h (regerror): Likewise.
83015
83016         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
83017         requires this.  (The code never needed it.)
83018
83019         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
83020         All uses of recently-renamed identifiers changed to use the new,
83021         POSIX-compliant names.  The code will build and run just fine
83022         without these changes, but it's better to eat our own dog food
83023         and use the standard-conforming names.
83024
83025         * lib/regex.h: Fix a multitude of POSIX name space violations.
83026         These changes have an effect only for programs that define
83027         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
83028         do not change anything for programs compiled in the normal way.
83029         Also, there is no effect on the ABI.
83030
83031         (_REGEX_SOURCE): New macro.
83032         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
83033         defined and _GNU_SOURCE is not; this fixes a name space violation.
83034
83035         Rename the following macros to obey POSIX requirements.
83036         The old names are still visible as macros if _REGEX_SOURCE is defined.
83037         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
83038         RE_BACKSLASH_ESCAPE_IN_LISTS.
83039         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
83040         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
83041         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
83042         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
83043         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
83044         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
83045         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
83046         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
83047         (REG_INTERVALS): renamed from RE_INTERVALS.
83048         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
83049         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
83050         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
83051         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
83052         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
83053         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
83054         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
83055         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
83056         RE_UNMATCHED_RIGHT_PAREN_ORD.
83057         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
83058         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
83059         (REG_DEBUG): renamed from RE_DEBUG.
83060         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
83061         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
83062         unusual, since we can't clash with the POSIX REG_ICASE.
83063         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
83064         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
83065         (REG_NO_SUB): renamed from RE_NO_SUB.
83066         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
83067         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
83068         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
83069         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
83070         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
83071         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
83072         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
83073         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
83074         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
83075         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
83076         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
83077         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
83078         RE_SYNTAX_POSIX_MINIMAL_BASIC.
83079         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
83080         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
83081         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
83082         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
83083         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
83084         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
83085         (REG_FIXED): Renamed from REGS_FIXED.
83086         (REG_NREGS): Renamed from RE_NREGS.
83087
83088         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
83089         of other REG_* macros, since POSIX says the user is allowed to
83090         #undef these macros selectively.
83091
83092         (reg_errcode_t): Update comment stating what other tables need
83093         to be consistent.
83094
83095         Rename the following enum values to obey POSIX requirements.
83096         The old names are still visible as macros.
83097         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
83098         is not defined, since GNU is supposed to be a superset of POSIX as
83099         much as possible, and since we want reg_errcode_t to be a signed
83100         type for implementation consistency.
83101         (_REG_NOERROR): Renamed from REG_NOERROR.
83102         (_REG_NOMATCH): Renamed from REG_NOMATCH.
83103         (_REG_BADPAT): Renamed from REG_BADPAT.
83104         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
83105         (_REG_ECTYPE): Renamed from REG_ECTYPE.
83106         (_REG_EESCAPE): Renamed from REG_EESCAPE.
83107         (_REG_ESUBREG): Renamed from REG_ESUBREG.
83108         (_REG_EBRACK): Renamed from REG_EBRACK.
83109         (_REG_EPAREN): Renamed from REG_EPAREN.
83110         (_REG_EBRACE): Renamed from REG_EBRACE.
83111         (_REG_BADBR): Renamed from REG_BADBR.
83112         (_REG_ERANGE): Renamed from REG_ERANGE.
83113         (_REG_ESPACE): Renamed from REG_ESPACE.
83114         (_REG_BADRPT): Renamed from REG_BADRPT.
83115         (_REG_EEND): Renamed from REG_EEND.
83116         (_REG_ESIZE): Renamed from REG_ESIZE.
83117         (_REG_ERPAREN): Renamed from REG_ERPAREN.
83118         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
83119         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
83120         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
83121         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
83122
83123         (_REG_RE_NAME, _REG_RM_NAME): New macros.
83124         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
83125         changed.  But support the old name if the new one is not defined
83126         and if _REGEX_SOURCE.
83127
83128         Change the following member names in struct re_pattern_buffer.
83129         The old names are still supported if !_REGEX_SOURCE.
83130         The new names are always supported, regardless of _REGEX_SOURCE.
83131         (re_buffer): Renamed from buffer.
83132         (re_allocated): Renamed from allocated.
83133         (re_used): Renamed from used.
83134         (re_syntax): Renamed from syntax.
83135         (re_fastmap): Renamed from fastmap.
83136         (re_translate): Renamed from translate.
83137         (re_can_be_null): Renamed from can_be_null.
83138         (re_regs_allocated): Renamed from regs_allocated.
83139         (re_fastmap_accurate): Renamed from fastmap_accurate.
83140         (re_no_sub): Renamed from no_sub.
83141         (re_not_bol): Renamed from not_bol.
83142         (re_not_eol): Renamed from not_eol.
83143         (re_newline_anchor): Renamed from newline_anchor.
83144
83145         Change the following member names in struct re_registers.
83146         The old names are still supported if !_REGEX_SOURCE.
83147         The new names are always supported, regardless of _REGEX_SOURCE.
83148         (rm_num_regs): Renamed from num_regs.
83149         (rm_start): Renamed from start.
83150         (rm_end): Renamed from end.
83151
83152         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
83153         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
83154         Prepend __ to parameter names.
83155
83156         Undo yesterday's changes.
83157
83158 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83159
83160         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
83161         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
83162         lib/regex.c.
83163
83164 2005-08-24  Jim Meyering  <jim@meyering.net>
83165
83166         Sync from coreutils.
83167         * m4/fcntl-safer.m4: New file.
83168
83169         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
83170         and object files for this module.
83171
83172 2005-08-24  Jim Meyering  <jim@meyering.net>
83173
83174         Sync from coreutils.
83175         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
83176
83177 2005-08-24  Jim Meyering  <jim@meyering.net>
83178
83179         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
83180         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
83181
83182 2005-08-24  Jim Meyering  <jim@meyering.net>
83183
83184         * modules/fcntl-safer: New module.
83185         * modules/fts (Depends-on): Add fcntl-safer.
83186         * MODULES.html.sh (File descriptor based Input/Output):
83187         Add fcntl-safer.
83188
83189 2005-08-24  Bruno Haible  <bruno@clisp.org>
83190
83191         Support for unit test modules.
83192         * modules/README: Mention tests modules.
83193         * modules/TEMPLATE-TESTS: New file.
83194         * gnulib-tool: New options --extract-tests-module, --with-tests and
83195         --tests-base (unused for the moment).
83196         (testsbase, inctests): New variables.
83197         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
83198         (func_verify_module): Exclude TEMPLATE-TESTS.
83199         (func_verify_nontests_module, func_verify_tests_module): New functions.
83200         (func_get_dependencies): Add implicit dependency for tests modules.
83201         (func_get_tests_module): New function.
83202         (func_modules_transitive_closure): When --with-tests was specified,
83203         include the unit tests as well, unless explicitly avoided.
83204         (func_emit_lib_Makefile_am): Ignore the tests modules here.
83205         (func_emit_tests_Makefile_am): New function.
83206         (func_create_testdir): When --with-tests was specified, emit a
83207         tests/ directory.
83208         * MODULES.html.sh (Future developments): Update.
83209
83210 2005-08-24  Bruno Haible  <bruno@clisp.org>
83211
83212         * modules/tls-tests: New file.
83213         * tests/test-tls.c: New file, from GNU gettext.
83214
83215 2005-08-24  Bruno Haible  <bruno@clisp.org>
83216
83217         * modules/lock-tests: New file.
83218         * tests/test-lock.c: New file, from GNU gettext.
83219
83220 2005-08-24  Bruno Haible  <bruno@clisp.org>
83221
83222         * lib/lock.h: Add multiple inclusion guard.
83223         * lib/tls.h: Add multiple inclusion guard.
83224
83225 2005-08-24  Bruno Haible  <bruno@clisp.org>
83226
83227         * gnulib-tool: Add support for the --aux-dir option to
83228         --create-testdir, --create-megatestdir, --test, --megatest.
83229         (func_create_testdir, func_create_megatestdir): Optionally emit a
83230         AC_CONFIG_AUX_DIR directive.
83231         (create-testdir, create-megatestdir, test, megatest): Provide a
83232         default value for $auxdir.
83233
83234 2005-08-24  Bruno Haible  <bruno@clisp.org>
83235
83236         * gnulib-tool (import): Use compound statement instead of subshell
83237         where possible.
83238
83239 2005-08-24  Bruno Haible  <bruno@clisp.org>
83240
83241         * gnulib-tool (import): Change --aux-dir default to "build-aux".
83242
83243 2005-08-24  Bruno Haible  <bruno@clisp.org>
83244
83245         * gnulib-tool (func_version): Update.
83246
83247 2005-08-24  Bruno Haible  <bruno@clisp.org>
83248
83249         * gnulib-tool (func_import, func_create_testdir,
83250         func_create_megatestdir): Quote all autoconf macro arguments.
83251
83252 2005-08-24  Bruno Haible  <bruno@clisp.org>
83253
83254         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
83255         option --force, because --force causes the aclocal.m4 of each
83256         subdirectory to be newer than the corresponding config.h.in.
83257
83258 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83259
83260         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
83261         All contents moved to gl_REGEX.
83262         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
83263         assume that it does.
83264
83265 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83266
83267         * lib/regex.h (REG_NOSYS)
83268         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
83269         Define, since POSIX requires it as of 2001.
83270         (_REG_ENOSYS)
83271         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
83272         New private symbol, used to keep the enum signed in all cases.
83273         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
83274         Youngman in
83275         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
83276
83277         * lib/regex_internal.c (re_string_skip_chars, register_state):
83278         (calc_state_hash):
83279         Remove forward decls; no longer needed now that we use prototypes.
83280         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
83281         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
83282         (clean_state_log_if_needed): Likewise.
83283
83284 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83285
83286         * config/srclist.txt: Add glibc bugs 1231-1233.
83287
83288 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83289
83290         Fix problems reported by Sam Steingold in
83291         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
83292         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
83293         assumed that reg_errcode_t is a signed type, which is not
83294         necessarily true if _XOPEN_SOURCE is not defined.
83295         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
83296         since some compilers warn about it otherwise.
83297
83298 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83299
83300         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
83301         (init_word_char, create_initial_state, duplicate_node_closure):
83302         (fetch_token, peek_token_bracket, build_range_exp):
83303         (build_collating_symbol): Remove forward decls; no longer needed
83304         now that we use prototypes.
83305
83306         * lib/regcomp.c:
83307         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
83308         (re_compile_fastmap_iter, regcomp, regerror, regfree):
83309         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
83310         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
83311         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
83312         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
83313         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
83314         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
83315         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
83316         (build_range_exp, build_collating_symbol, parse_bracket_exp):
83317         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
83318         (build_charclass, build_charclass_op, fetch_number, create_tree):
83319         (create_token_tree, mark_opt_subexp, duplicate_tree):
83320         Use prototypes rather than old-style definitions.
83321
83322         * lib/regex_internal.c:
83323         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
83324         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
83325         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
83326         (re_string_reconstruct, re_string_peek_byte_case):
83327         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
83328         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
83329         (re_node_set_init_copy, re_node_set_add_intersect):
83330         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83331         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83332         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83333         (re_acquire_state, re_acquire_state_context, register_state):
83334         (create_ci_newstate, create_cd_newstate, free_state):
83335         Likewise.
83336         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
83337         re_search_2):
83338         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
83339         (re_search_internal, prune_impossible_nodes):
83340         (acquire_init_state_context, check_matching, static):
83341         (check_halt_node_context, check_halt_state_context, proceed_next_node):
83342         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
83343         (update_regs, sift_states_backward, build_sifted_states):
83344         (clean_state_log_if_needed, merge_state_array):
83345         (update_cur_sifted_state, add_epsilon_src_nodes):
83346         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
83347         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
83348         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
83349         (find_recover_state, check_subexp_matching_top, transit_state_mb):
83350         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
83351         (check_arrival, check_arrival_add_next_nodes):
83352         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83353         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83354         (check_node_accept_bytes, check_node_accept, extend_buffers):
83355         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
83356         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
83357         (sift_ctx_init):
83358         Likewise.
83359
83360         * lib/regex_internal.h:
83361         (re_string_allocate, re_string_construct, re_string_reconstruct):
83362         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
83363         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
83364         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
83365         (re_string_context_at, re_string_peek_byte_case):
83366         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
83367         is defined, since we now use prototypes always.
83368
83369         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
83370         C89 or better.  All uses removed.
83371
83372 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83373
83374         * config/srclist.txt: Add glibc bugs 1220-1227.
83375
83376 2005-08-20  Jim Meyering  <jim@meyering.net>
83377
83378         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
83379         of unused local, dfa.
83380
83381 2005-08-20  Bruno Haible  <bruno@clisp.org>
83382
83383         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
83384
83385 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83386
83387         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
83388         (re_node_set_insert_last, re_dfa_add_node):
83389         Rename local variables to avoid GCC shadowing warnings.
83390
83391 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83392
83393         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
83394         [defined lint]: Suppress bogus uninitialized-variable warnings.
83395
83396         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
83397         and let the caller return REG_ESPACE if out of space.  This
83398         removes an uninitialied-variable warning with GCC 4.0.1, and also
83399         avoids taking the address of a local variable.  All callers
83400         changed.
83401
83402 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83403
83404         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
83405         $LIBCSRC/posix/regexec.c.
83406         Add glibc bug 1217 for regcomp.c.
83407
83408 2005-08-19  Jim Meyering  <jim@meyering.net>
83409
83410         * lib/regexec.c (proceed_next_node): Redo local variables to
83411         avoid GCC shadowing warnings.
83412
83413 2005-08-18  Bruno Haible  <bruno@clisp.org>
83414
83415         * lib/strstr.c (strstr): Fix return value in multibyte case.
83416         * lib/strcasestr.c (strcasestr): Likewise.
83417
83418 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83419
83420         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
83421
83422 2005-08-17  Jim Meyering  <jim@meyering.net>
83423
83424         Make the %s format (seconds since the epoch) work for a negative
83425         number and when used with a zero-padded field width, e.g. %015s.
83426
83427         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
83428         label so that it precedes the code to set `digits'.  Otherwise,
83429         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
83430         print `00-22'.  Now, it prints `-0022', as it should.
83431
83432 2005-08-17  Bruno Haible  <bruno@clisp.org>
83433
83434         * modules/strstr (Files): Add m4/mbrtowc.m4.
83435         (Depends-on): Add mbuiter.
83436
83437 2005-08-17  Bruno Haible  <bruno@clisp.org>
83438
83439         * modules/strcasestr: New file.
83440         * MODULES.html.sh (String handling, based on ANSI C 89): Add
83441         strcasestr.
83442
83443 2005-08-17  Bruno Haible  <bruno@clisp.org>
83444
83445         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
83446
83447 2005-08-17  Bruno Haible  <bruno@clisp.org>
83448
83449         * modules/mbuiter: New file.
83450         * MODULES.html.sh (Extended multibyte and wide character utilities):
83451         Add mbuiter.
83452
83453 2005-08-17  Bruno Haible  <bruno@clisp.org>
83454
83455         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
83456         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
83457
83458 2005-08-17  Bruno Haible  <bruno@clisp.org>
83459
83460         * m4/strcasestr.m4: New file.
83461
83462 2005-08-17  Bruno Haible  <bruno@clisp.org>
83463
83464         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
83465         * lib/strstr.c: Completely rewritten, with multibyte locale support.
83466
83467 2005-08-17  Bruno Haible  <bruno@clisp.org>
83468
83469         * lib/strcasestr.h: New file.
83470         * lib/strcasestr.c: New file.
83471
83472 2005-08-17  Bruno Haible  <bruno@clisp.org>
83473
83474         * lib/strcasecmp.c: Use mbuiter.h.
83475
83476 2005-08-17  Bruno Haible  <bruno@clisp.org>
83477
83478         * lib/mbuiter.h: New file.
83479
83480 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
83481
83482         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
83483         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
83484         and gl_GETOPT are both invoked via different paths (as happens
83485         with GNU tar CVS because it uses both argp and getopt), the former
83486         wins.
83487
83488 2005-08-16  Bruno Haible  <bruno@clisp.org>
83489
83490         * modules/tls: New file.
83491         * MODULES.html.sh (Multithreading): Add tls.
83492
83493 2005-08-16  Bruno Haible  <bruno@clisp.org>
83494
83495         * modules/strnlen1: New file.
83496         * MODULES.html.sh (String handling): Add strnlen1.
83497
83498 2005-08-16  Bruno Haible  <bruno@clisp.org>
83499
83500         * modules/strcase (Files): Add m4/mbrtowc.m4.
83501         (Depends-on): Add strnlen1, mbchar.
83502
83503 2005-08-16  Bruno Haible  <bruno@clisp.org>
83504
83505         * modules/mbiter: New file.
83506         * MODULES.html.sh (Extended multibyte and wide character utilities):
83507         Add mbiter.
83508
83509 2005-08-16  Bruno Haible  <bruno@clisp.org>
83510
83511         * modules/mbfile: New file.
83512         * MODULES.html.sh (Extended multibyte and wide character utilities):
83513         Add mbfile.
83514
83515 2005-08-16  Bruno Haible  <bruno@clisp.org>
83516
83517         * modules/mbchar: New file.
83518         * MODULES.html.sh (Extended multibyte and wide character utilities):
83519         New section.
83520
83521 2005-08-16  Bruno Haible  <bruno@clisp.org>
83522
83523         * m4/tls.m4: New file, from GNU gettext.
83524
83525 2005-08-16  Bruno Haible  <bruno@clisp.org>
83526
83527         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
83528         always.
83529         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
83530
83531 2005-08-16  Bruno Haible  <bruno@clisp.org>
83532
83533         * m4/mbiter.m4: New file.
83534
83535 2005-08-16  Bruno Haible  <bruno@clisp.org>
83536
83537         * m4/mbfile.m4: New file.
83538
83539 2005-08-16  Bruno Haible  <bruno@clisp.org>
83540
83541         * m4/mbchar.m4: New file.
83542
83543 2005-08-16  Bruno Haible  <bruno@clisp.org>
83544
83545         * lib/tls.h: New file, from GNU gettext.
83546         * lib/tls.c: New file, from GNU gettext.
83547
83548 2005-08-16  Bruno Haible  <bruno@clisp.org>
83549
83550         * lib/strnlen1.h: New file.
83551         * lib/strnlen1.c: New file.
83552
83553 2005-08-16  Bruno Haible  <bruno@clisp.org>
83554
83555         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
83556         (mbi_init): Update.
83557         (mbi_avail, mbi_advance): Let the iteration end before the terminating
83558         NUL byte, not after it.
83559
83560 2005-08-16  Bruno Haible  <bruno@clisp.org>
83561
83562         * lib/strcase.h (strcasecmp): Add note in comments.
83563         * lib/strncasecmp.c: Use code from strcasecmp.c.
83564         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
83565         (strcasecmp): Work correctly in multibyte locales.
83566
83567 2005-08-16  Bruno Haible  <bruno@clisp.org>
83568
83569         * lib/mbiter.h: New file.
83570
83571 2005-08-16  Bruno Haible  <bruno@clisp.org>
83572
83573         * lib/mbfile.h: New file.
83574
83575 2005-08-16  Bruno Haible  <bruno@clisp.org>
83576
83577         * lib/mbchar.h: New file.
83578         * lib/mbchar.c: New file.
83579
83580 2005-08-16  Bruno Haible  <bruno@clisp.org>
83581
83582         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
83583         the valid ones. Makes the comparison operations transitive:
83584         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
83585         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
83586
83587 2005-08-15  Simon Josefsson  <jas@extundo.com>
83588
83589         * modules/ssize_t (License): Change to 'unlimited'.
83590
83591         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
83592
83593 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
83594
83595         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
83596         Add comments for each pending glibc patch.
83597
83598 2005-08-15  Bruno Haible  <bruno@clisp.org>
83599
83600         * lib/regex.h (__restrict_arr): Don't define to __restrict if
83601         __cplusplus is defined.
83602
83603 2005-08-14  Jim Meyering  <jim@meyering.net>
83604
83605         Sync from coreutils.
83606
83607         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
83608         Use the hash-table-based cycle-detection code not just when
83609         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
83610         Reported by James Youngman in
83611         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
83612         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
83613         FTS_TIGHT_CYCLE_CHECK.
83614         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
83615         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
83616         once again.
83617         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
83618         * lib/fts.c (fd_safer): Remove decl.
83619         Include fcntl--.h rather than unistd-safer.h
83620         (fts_safe_changedir): Don't call fd_safer; no longer needed
83621         now that we include fcntl--.h.
83622
83623 2005-08-12  Simon Josefsson  <jas@extundo.com>
83624
83625         * modules/getndelim2: Use ssize_t module.
83626         * modules/getnline: Likewise.
83627         * modules/safe-read: Likewise.
83628         * modules/xreadlink: Likewise.
83629
83630         * modules/ssize_t: New file.
83631
83632 2005-08-12  Simon Josefsson  <jas@extundo.com>
83633
83634         * m4/readline.m4: Look for termcap, curses or ncurses if required.
83635
83636 2005-08-12  Simon Josefsson  <jas@extundo.com>
83637
83638         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83639         ssize_t.
83640
83641 2005-08-12  Simon Josefsson  <jas@extundo.com>
83642
83643         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
83644         readline, getdelim and check_version.
83645         (Support for systems lacking ISO C 99: Sizes of integer types):
83646         Add size_max.
83647
83648 2005-08-12  Bruno Haible  <bruno@clisp.org>
83649
83650         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
83651
83652 2005-08-11  Simon Josefsson  <jas@extundo.com>
83653
83654         * modules/readline: New file.
83655
83656         * modules/strnlen (Files): Add strnlen.h.
83657
83658 2005-08-11  Simon Josefsson  <jas@extundo.com>
83659
83660         * m4/readline.m4: New file.
83661
83662 2005-08-11  Simon Josefsson  <jas@extundo.com>
83663
83664         * lib/readline.h, readline.c: New file.
83665
83666 2005-08-11  Simon Josefsson  <jas@extundo.com>
83667
83668         * doc/gnulib.texi (Initial import, Finishing touches): Mention
83669         gl_AVOID.
83670
83671 2005-08-11  Bruno Haible  <bruno@clisp.org>
83672
83673         * lib/strnlen.h (strnlen): Change parameter name to match comment.
83674
83675 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
83676
83677         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
83678
83679 2005-08-10  Simon Josefsson  <jas@extundo.com>
83680
83681         * tests/test-iconvme.c: New file.
83682
83683 2005-08-10  Simon Josefsson  <jas@extundo.com>
83684
83685         * m4/strnlen.m4: New file.
83686
83687         * m4/strndup.m4: Don't check for strnlen declaration, done in
83688         strnlen.m4.
83689
83690 2005-08-10  Simon Josefsson  <jas@extundo.com>
83691
83692         * lib/strndup.c: Use strnlen.h.
83693
83694         * lib/strnlen.h: New file.
83695
83696 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83697
83698         * README: Typos.
83699
83700 2005-08-02  Simon Josefsson  <jas@extundo.com>
83701
83702         * modules/readline: New file.
83703
83704 2005-08-02  Simon Josefsson  <jas@extundo.com>
83705
83706         * modules/getdelim: New file.
83707
83708         * modules/getline: Rewrite, don't use getndelim2.
83709
83710 2005-08-02  Simon Josefsson  <jas@extundo.com>
83711
83712         * m4/getline.m4: Separate out getdelim stuff into separate module.
83713
83714         * m4/getdelim.m4: New file.
83715
83716 2005-08-02  Simon Josefsson  <jas@extundo.com>
83717
83718         * lib/getline.h, getline.c: Rewrite.
83719
83720         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
83721
83722 2005-07-31  Bruno Haible  <bruno@clisp.org>
83723
83724         * lib/lock.h (gl_lock_initializer): New macro.
83725         (gl_lock_define_initialized): Use it.
83726         (gl_rwlock_initializer): New macro.
83727         (gl_rwlock_define_initialized): Use it.
83728         (gl_recursive_lock_initializer): New macro.
83729         (gl_recursive_lock_define_initialized): Use it.
83730
83731 2005-07-30  Karl Berry  <karl@gnu.org>
83732
83733         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
83734         Report from Ben Pfaff, regarding getopt.
83735
83736 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
83737
83738         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
83739         normal way.
83740         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
83741         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
83742         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
83743         (gl_GETOPT): Use the new macros.  Most of the implementation
83744         is moved to the new macros.  This is for programs like Emacs
83745         that don't want all the functionality of gl_GETOPT.
83746
83747 2005-07-26  Bruno Haible  <bruno@clisp.org>
83748
83749         * m4/lock.m4: Update from GNU gettext.
83750
83751 2005-07-26  Bruno Haible  <bruno@clisp.org>
83752
83753         * lib/lock.h: Update from GNU gettext.
83754         * lib/lock.c: Update from GNU gettext.
83755
83756 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
83757
83758         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
83759         obsolescent AC_TRY_RUN.  Include the default includes files, for
83760         'exit'.
83761
83762 2005-07-24  Bruno Haible  <bruno@clisp.org>
83763
83764         * modules/visibility: New file.
83765         * MODULES.html.sh (Misc): Add visibility.
83766
83767 2005-07-24  Bruno Haible  <bruno@clisp.org>
83768
83769         * m4/visibility.m4: New file.
83770
83771 2005-07-24  Bruno Haible  <bruno@clisp.org>
83772
83773         * doc/visibility.texi: New file.
83774
83775 2005-07-22  Bruno Haible  <bruno@clisp.org>
83776
83777         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
83778         $(ALLOCA_H), redundant through BUILT_SOURCES.
83779         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
83780         redundant through BUILT_SOURCES.
83781         * modules/byteswap (Makefile.am): Remove explicit dependency on
83782         $(BYTESWAP_H), redundant through BUILT_SOURCES.
83783         * modules/fnmatch (Makefile.am): Remove explicit dependency on
83784         $(FNMATCH_H), redundant through BUILT_SOURCES.
83785         * modules/getopt (Makefile.am): Remove explicit dependency on
83786         $(GETOPT_H), redundant through BUILT_SOURCES.
83787         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
83788         redundant through BUILT_SOURCES.
83789         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
83790         redundant through BUILT_SOURCES.
83791         * modules/stdbool (Makefile.am): Remove explicit dependency on
83792         $(STDBOOL_H), redundant through BUILT_SOURCES.
83793         * modules/stdint (Makefile.am): Remove explicit dependency on
83794         $(STDINT_H), redundant through BUILT_SOURCES.
83795         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
83796         Remove explicit dependency on $(SYSEXITS_H).
83797         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
83798
83799 2005-07-18  Simon Josefsson  <jas@extundo.com>
83800
83801         * lib/check-version.c (check_version): Accept identical versions too.
83802
83803 2005-07-18  Bruno Haible  <bruno@clisp.org>
83804
83805         * modules/lock: New file.
83806         * MODULES.html.sh (Multithreading): New section.
83807
83808 2005-07-18  Bruno Haible  <bruno@clisp.org>
83809
83810         * m4/lock.m4: New file, from GNU gettext.
83811
83812 2005-07-18  Bruno Haible  <bruno@clisp.org>
83813
83814         * lib/lock.h: New file, from GNU gettext.
83815         * lib/lock.c: New file, from GNU gettext.
83816
83817 2005-07-18  Bruno Haible  <bruno@clisp.org>
83818
83819         * lib/lock.h (gl_once_t): New type.
83820         (gl_once_define, gl_once): New macros.
83821         * lib/lock.c (fresh_once): New variable.
83822         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
83823         functions.
83824
83825 2005-07-16  Simon Josefsson  <jas@extundo.com>
83826
83827         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
83828         workaround, suggested by Bruno.
83829
83830 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83831
83832         * modules/xalloc (Depends-on): Add xalloc-die.
83833         * modules/xvasprintf (Depends-on): Add xalloc-die.
83834
83835 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83836
83837         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
83838         with a minor change.
83839
83840 2005-07-15  Bruno Haible  <bruno@clisp.org>
83841
83842         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
83843         When using lib/poll.c, define poll as rpl_poll.
83844
83845 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
83846
83847         * modules/argp (Depends-on): Remove unlocked-io.
83848
83849 2005-07-14  Derek Price  <derek@ximbiot.com>
83850
83851         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
83852         for glob symlink bug.
83853
83854 2005-07-14  Bruno Haible  <bruno@clisp.org>
83855
83856         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
83857         Instead, test for *_unlocked function declarations directly.
83858
83859 2005-07-11  Simon Josefsson  <jas@extundo.com>
83860
83861         * modules/size_max: New file.
83862
83863         * modules/xsize: Depend on size_max module for size_max.m4.
83864
83865 2005-07-11  Simon Josefsson  <jas@extundo.com>
83866
83867         * lib/size_max.h: New file.
83868
83869 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
83870
83871         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
83872         copyright symbol and the year.
83873         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
83874         (version_etc_va): Use parameterized copyright notice.
83875         Reword to conform to the current GNU coding standards.
83876
83877 2005-07-11  Karl Berry  <karl@gnu.org>
83878
83879         * doc/gnulib.texi (Quoting): new node.
83880         (Initial import): more info, from Patrice.
83881
83882 2005-07-11  Bruno Haible  <bruno@clisp.org>
83883
83884         * gnulib-tool (func_usage): Document option --avoid.
83885         (Command line options): Handle --avoid.
83886         (func_acceptable): New function.
83887         (func_modules_transitive_closure): Use it.
83888
83889 2005-07-11  Bruno Haible  <bruno@clisp.org>
83890
83891         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
83892         Reported by Jim Meyering.
83893
83894 2005-07-10  Bruno Haible  <bruno@clisp.org>
83895
83896         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
83897         Needed when size_t is smaller than 'unsigned int'.
83898         Reported by Paul Eggert.
83899
83900 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83901
83902         * modules/argp (Depends-on): Add unlocked-io
83903
83904 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83905
83906         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
83907         block of defines.
83908
83909 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83910
83911         * config/srclist.txt: Comment out regcomp.c, since we have a porting
83912         fix now.
83913
83914 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
83915         and Paul Eggert  <eggert@cs.ucla.edu>
83916
83917         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
83918         in wint_t, not wchar_t.  Remove now-unnecessary cast.
83919
83920 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83921
83922         * modules/regex (Files): Add lib/regex_internal.c,
83923         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
83924         (Depends-on): Add extensions.
83925         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
83926
83927 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83928
83929         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
83930         pathconf.
83931         * m4/same.m4 (gl_SAME): Likewise.
83932         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
83933
83934         * m4/regex.m4: Adjust to new libc regex implementation.
83935         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
83936         all the .c and .h parts of (the new) regex.
83937         Quote the m4 stuff better.
83938         Check for RE_ICASE bug of old gnulib.
83939         Check for REG_STARTEND of recent libc.
83940         Rename local variables from jm_* to gl_*.
83941         Quote operand of "test -f".
83942         Say "recent enough" version of libc, not "version 2".
83943         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
83944         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
83945         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
83946         Remove check for btowc, isascii.
83947         Require AM_LANGINFO_CODESET.
83948
83949 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83950
83951         * lib/regex.c, regex.h: Sync from libc.
83952         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
83953         * lib/regexec.c:
83954         New files, synced from libc, except that regex_internal.h
83955         currently has a small porting fix.
83956
83957 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83958
83959         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
83960         regex_internal.c, regexec.c.
83961         Add regex_internal.h too, but as a comment, since the libc version
83962         is currently broken in gnulib mode.
83963
83964 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
83965
83966         Support programs like Emacs that use gnulib but not gettext.
83967         * MODULES.html.sh (Internationalization functions): Add gettext-h.
83968         * modules/gettext-h: New file.
83969         * modules/gettext (Files): Remove lib/gettext.h.
83970         (Depends-on): Add gettext-h.
83971         (Makefile.am): Remove lib_SOURCES.
83972         * modules/argmatch, modules/c-stack, modules/closeout:
83973         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
83974         * modules/execute, modules/file-type, modules/getaddrinfo:
83975         * modules/getopt, modules/human, modules/javacomp:
83976         * modules/javaexec, modules/mkdir-p, modules/obstack:
83977         * modules/openat, modules/pagealign_alloc, modules/pipe:
83978         * modules/quotearg, modules/regex, modules/rpmatch:
83979         * modules/unicodeio, modules/userspec, modules/version-etc:
83980         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
83981         * modules/xsetenv:
83982         Depend on gettext-h, not gettext.
83983
83984 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
83985
83986         * gnulib-tool (func_import): Add support for 'public domain' license.
83987         * modules/alloca, modules/atexit, modules/memmove:
83988         Now public domain, not GPL.
83989         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
83990         * modules/realloc, modules/strerror, modules/strtod:
83991         Now LGPL, not GPL.
83992
83993 2005-07-05  Bruno Haible  <bruno@clisp.org>
83994
83995         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
83996         autoconf CVS. Needed for mingw.
83997
83998 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83999
84000         Remove the dependency of the strftime module on the tzset module.
84001         * modules/strftime (Depends-on): Remove dependency on tzset.
84002
84003 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84004
84005         Remove the dependency of the strftime module on the tzset module.
84006         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
84007         gl_FUNC_TZSET_CLOBBER.
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         * lib/strftime.c (my_strftime)
84013         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
84014         Copy the input structure, to work around some of the bug with
84015         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
84016         Solaris releases, you should also use the tzset module, but we won't
84017         require it as a dependency any more since we don't want LGPLed code
84018         to depend on GPLed code.
84019
84020 2005-07-02  Jim Meyering  <jim@meyering.net>
84021
84022         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
84023         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
84024         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
84025         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
84026
84027 2005-07-02  Jim Meyering  <jim@meyering.net>
84028
84029         * lib/backupfile.c (backup_args): Change a `0' to NULL.
84030
84031 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
84032
84033         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
84034         declares only 'struct timespec;' (!).
84035
84036 2005-07-01  Jim Meyering  <jim@meyering.net>
84037
84038         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
84039         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
84040         * lib/save-cwd.c, tempname.c:
84041         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84042         and don't include <sys/file.h>).
84043
84044 2005-06-29  Jim Meyering  <jim@meyering.net>
84045
84046         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
84047         type name.  Use the variable name instead.
84048         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
84049         Likewise.
84050
84051 2005-06-28  Simon Josefsson  <jas@extundo.com>
84052
84053         * modules/check-version (Files): Add check-version.m4.
84054
84055 2005-06-28  Simon Josefsson  <jas@extundo.com>
84056
84057         * m4/check-version.m4: New file, suggested by Jim Meyering
84058         <jim@meyering.net>.
84059
84060 2005-06-28  Simon Josefsson  <jas@extundo.com>
84061
84062         * lib/check-version.h, lib/check-version.c: New files.
84063
84064 2005-06-28  Simon Josefsson  <jas@extundo.com>
84065
84066         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
84067         collision with global variable.  Better indentation.  Don't
84068         increment buffer pointer beyond buffer end.  Based on comments
84069         from Paul Eggert <eggert@cs.ucla.edu>.
84070
84071         * lib/base64.h: Indent.
84072
84073 2005-06-28  Simon Josefsson  <jas@extundo.com>
84074
84075         * doc/gnulib.texi (Library version handling): New section.
84076
84077 2005-06-28  Jim Meyering  <jim@meyering.net>
84078
84079         * check-module (find_included_lib_files): Hard-code another
84080         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
84081         but modules/fts-lgpl (correctly) does not list those files.
84082
84083         * modules/canonicalize (Files): Add lib/pathmax.h.
84084
84085 2005-06-25  Simon Josefsson  <jas@extundo.com>
84086
84087         * modules/check-version: New file.
84088
84089 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
84090
84091         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
84092         initializer of struct addrinfo, as an indication that we don't
84093         care how many members the structure has.
84094
84095 2005-06-24  Derek Price  <derek@ximbiot.com>
84096         and Bruno Haible  <bruno@clisp.org>
84097
84098         Remove stat module & update lstat.
84099         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
84100         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84101         * m4/stat.m4: Remove this file.
84102
84103 2005-06-24  Derek Price  <derek@ximbiot.com>
84104         and Bruno Haible  <bruno@clisp.org>
84105
84106         Remove stat module & update lstat.
84107         * lib/stat.c: Remove this file...
84108         (slash_aware_lstat): ...moving this content and its support...
84109         * lib/lstat.c (rpl_lstat): ...into here.
84110         * lib/lstat.h: New file.
84111
84112 2005-06-24  Derek Price  <derek@ximbiot.com>
84113         and Bruno Haible  <bruno@clisp.org>
84114
84115         Remove stat module & update lstat.
84116         * config/srclist.txt (libc sources): Remove stat.
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         * MODULES.html.sh (stat): Remove.
84123         * MODULES.html: Regenerated.
84124         * modules/lstat (Description): Correct function name.
84125         (Files): Add "lstat.h".
84126         (Depends-on): Remove stat, add xalloc, stat-macros.
84127         * modules/stat: Remove this file.
84128         (Include): Add "lstat.h", remove <sys/stat.h>.
84129
84130 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
84131
84132         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
84133         (ranged_convert): Don't save conversion in a temporary struct.
84134         This causes a warning with GCC 4.0.0, and anyway in the typical
84135         case it's not worth the extra 100 bytes or so of code.
84136         (ranged_convert, __mktime_internal): When calling a function via a
84137         pointer P, use P () rather than (*P) (), as we now assume C89 or
84138         better.
84139
84140 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84141
84142         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
84143         "who -r" failed to give output.  Problem reported by Tim Waugh.
84144
84145         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
84146         (xcalloc): Use it to avoid needless tests.
84147         Problem reported by Jim Meyering.
84148
84149 2005-06-20  Derek Price  <derek@ximbiot.com>
84150
84151         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
84152         unnecessary for Autoconfs > 2.59c.
84153
84154 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84155
84156         * lib/argp.h (__option_is_short): Check upper limit of
84157         __key. Isprint() requires its argument to have the value
84158         of an unsigned char or EOF.
84159
84160 2005-06-16  Jim Meyering  <jim@meyering.net>
84161
84162         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
84163         when either N or S is zero.
84164
84165 2005-06-16  Derek Price  <derek@ximbiot.com>
84166
84167         * m4/bison.m4: Declare YACC & YFLAGS precious.
84168
84169 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
84170
84171         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
84172         multibyte string or pattern, fall back on unibyte matching.
84173         Problem reported by James Youngman.
84174
84175 2005-06-08  Bruno Haible  <bruno@clisp.org>
84176
84177         * modules/csharpcomp: New file.
84178         * MODULES.html.sh (C#): Add csharpcomp.
84179
84180 2005-06-08  Bruno Haible  <bruno@clisp.org>
84181
84182         * m4/csharpcomp.m4: New file, from GNU gettext.
84183
84184 2005-06-08  Bruno Haible  <bruno@clisp.org>
84185
84186         * lib/csharpcomp.h: New file, from GNU gettext.
84187         * lib/csharpcomp.c: New file, from GNU gettext.
84188         * lib/csharpcomp.sh.in: New file, from GNU gettext.
84189
84190 2005-06-08  Bruno Haible  <bruno@clisp.org>
84191
84192         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
84193         warning on mingw.
84194
84195 2005-06-07  Derek Price  <derek@ximbiot.com>
84196
84197         Sync from CVS.
84198         * lib/glob_.h: Indent nested #ifdef.
84199
84200 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84201
84202         Sync from coreutils.
84203         Use "file name" when talking about file names, instead of "filename"
84204         or "path", as per the GNU coding standards.
84205         * lib/mkdir-p.c: Renamed from makepath.c.
84206         (make_dir_parents): Renamed from make_path.  All callers changed.
84207         * lib/mkdir-p.h: Likewise.  All includers changed.
84208         * lib/filenamecat.c: Renamed from path-concat.c.
84209         (file_name_concat): Renamed from path_concat.  All callers changed.
84210         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
84211         * lib/filenamecat.h: Likewise.  All includers changed.
84212         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
84213         in comments or local variable names.
84214         * lib/basename.c: Likewise.
84215         * lib/canonicalize.c, canonicalize.h: Likewise.
84216         * lib/dirname.c, dirname.h: Likewise.
84217         * lib/euidaccess.c: Likewise.
84218         * lib/exclude.c: Likewise
84219         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
84220         * lib/fsusage.c, fsuage.h: Likewise.
84221         * lib/fts.c, fts_.h: Likewise.
84222         * lib/getcwd.c: Likewise.
84223         * lib/getloadavg.c: Likewise.
84224         * lib/mkstemp.c: Likewise.
84225         * lib/mountlist.c, mountlist.h: Likewise.
84226         * lib/openat.c, openat.h: Likewise.
84227         * lib/readlink-stub.c: Likewise.
84228         * lib/readutmp.c, readutmp.h: Likewise.
84229         * lib/rename.c: Likewise.
84230         * lib/rmdir.c: Likewise.
84231         * lib/same.c: Likewise.
84232         * lib/savedir.c: Likewise.
84233         * lib/stripslash.c: Likewise.
84234         * lib/tempname.c: Likewise.
84235         * lib/xreadlink.c: Likewise.
84236         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
84237         All uses changed.
84238         * lib/exclude.h: Likewise.
84239
84240         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
84241         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84242         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
84243         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84244         * lib/pathmax.h: Include <limits.h> unconditionally, since other
84245         files have been getting away with it for years (MORE/BSD 4.3
84246         is extinct now).
84247         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
84248         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84249
84250         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
84251         Define to 256, not 255, as per modern POSIX.
84252
84253 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84254
84255         Sync from coreutils.
84256         Use "file name" when talking about file names, instead of "filename"
84257         or "path", as per the GNU coding standards.
84258         * MODULES.html.sh: mkdir-p renamed from makepath.
84259         filenamecat renamed from path-concat.
84260         * modules/filenamecat: Renamed from modules/path-concat.
84261         (Files): filenamecat.h and filenamecat.c renamed from
84262         path-concat.h and path-concat.c.
84263         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
84264         (Include): filenamecat.h, not path-concat.h.
84265         * modules/mkdir-p: Renamed from modules/makepath.
84266         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
84267         makepath.c.
84268         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
84269         (Include): mkdir-p.h, not makepath.h.
84270
84271 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84272
84273         Sync from coreutils.
84274         * m4/mkdir-p.m4: Renamed from makepath.m4.
84275         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
84276         Rename files from makepath.c to mkdir-p.c, and from
84277         makepath.h to mkdir-p.h.
84278         * m4/filenamecat.m4: Renamed from path-concat.m4.
84279         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
84280         Rename files from path-concat.c to filenamecat.c,
84281         and from path-concat.h to filenamecat.h.
84282         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
84283         "file name" in local variables or comments.
84284         * m4/rename.m4: Likewise.
84285
84286 2005-06-01  Bruno Haible  <bruno@clisp.org>
84287
84288         * modules/csharpexec: New file.
84289         * MODULES.html.sh (C#): New section.
84290
84291 2005-06-01  Bruno Haible  <bruno@clisp.org>
84292
84293         * m4/csharp.m4: New file, from GNU gettext.
84294         * m4/csharpexec.m4: New file, from GNU gettext.
84295
84296 2005-06-01  Bruno Haible  <bruno@clisp.org>
84297
84298         * lib/csharpexec.h: New file, from GNU gettext.
84299         * lib/csharpexec.c: New file, from GNU gettext.
84300         * lib/csharpexec.sh.in: New file, from GNU gettext.
84301
84302 2005-05-31  Derek Price  <derek@ximbiot.com>
84303             Paul Eggert  <eggert@cs.ucla.edu>
84304
84305         Sync from cvs.
84306         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84307
84308 2005-05-31  Derek Price  <derek@ximbiot.com>
84309             Paul Eggert  <eggert@cs.ucla.edu>
84310
84311         Sync from cvs.
84312         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84313
84314 2005-05-29  Derek Price  <derek@ximbiot.com>
84315
84316         * config/srclist.txt (glob_.h, glob.c): Add these files.
84317
84318 2005-05-29  Derek Price  <derek@ximbiot.com>
84319
84320         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
84321         * modules/glob: New file.
84322         * modules/getlogin_r: Add link to POSIX spec in description.
84323
84324 2005-05-29  Derek Price  <derek@ximbiot.com>
84325             Paul Eggert  <eggert@cs.ucla.edu>
84326
84327         * m4/glob.m4: New file.
84328
84329 2005-05-29  Derek Price  <derek@ximbiot.com>
84330             Paul Eggert  <eggert@cs.ucla.edu>
84331
84332         * lib/glob_.h, lib/glob.c: New files.
84333
84334 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84335
84336         * modules/fts (Files): Remove m4/inttypes-pri.m4.
84337         * modules/fts-lgpl (Depends-on): Remove gettext.
84338
84339 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84340
84341         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
84342         and don't require gt_INTTYPES_PRI.
84343
84344 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84345
84346         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
84347
84348         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
84349         the configuration hassle isn't worth it.
84350         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
84351         (LONGEST_MODIFIER, PRIuMAX): Remove.
84352
84353 2005-05-27  Bruno Haible  <bruno@clisp.org>
84354
84355         * lib/getlogin_r.h: Remove second include of <stddef.h>.
84356
84357 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
84358
84359         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
84360         _POSIX_PTHREAD_SEMANTICS for Solaris.
84361
84362 2005-05-25  Derek Price  <derek@ximbiot.com>
84363
84364         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
84365
84366 2005-05-25  Derek Price  <derek@ximbiot.com>
84367             Paul Eggert  <eggert@cs.ucla.edu>
84368
84369         * modules/getlogin_r, m4/getlogin_r.m4: New files.
84370         * lib/getlogin_r.c, getlogin_r.h: New files.
84371
84372 2005-05-25  Bruno Haible  <bruno@clisp.org>
84373             Derek Price  <derek@ximbiot.com>
84374
84375         * lib/getlogin_r.h: Simplify API documentation.
84376
84377 2005-05-23  Derek Price  <derek@ximbiot.com>
84378
84379         * modules/minmax (Files): Add m4/minmax.m4.
84380         (configure.ac): Add gl_MINMAX.
84381
84382 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
84383
84384         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
84385         so that unistd-safer.h (GPL'ed code) need not be included.
84386
84387 2005-05-22  Bruno Haible  <bruno@clisp.org>
84388
84389         * m4/minmax.m4: New file.
84390         Based on a patch by Derek Price <derek@ximbiot.com>.
84391
84392 2005-05-22  Bruno Haible  <bruno@clisp.org>
84393
84394         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
84395         (INT64_MIN): Fix definition.
84396         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
84397
84398         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
84399         NEED_SIGNED_INT_TYPES.
84400
84401         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
84402         HAVE_SYSTEM_INTTYPES.
84403
84404 2005-05-22  Bruno Haible  <bruno@clisp.org>
84405
84406         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
84407         Also include <sys/param.h> if it defines MIN, MAX.
84408         Based on a patch by Derek Price <derek@ximbiot.com>.
84409
84410 2005-05-21  Jim Meyering  <jim@meyering.net>
84411
84412         * modules/fts (Files): Add m4/inttypes-pri.m4.
84413         (Depends-on): Add lstat and remove gettext.  Alphabetize.
84414
84415 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84416
84417         New fts module.
84418         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
84419         (setup_dir, free_dir): New functions.
84420         (enter_dir, leave_dir): Define trivial
84421         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
84422         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
84423         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
84424         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
84425         Move to fts-cycle.c.
84426         (fts_open): Use setup_dir.
84427         (fts_close): Use free_dir.
84428         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
84429         This adds a label and some gotos, but the alternatives were messier.
84430         Check for memory allocation failure when entering a dir.
84431         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
84432         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
84433         (FTS): New member fts_cycle, that is a union that contains the
84434         old active_dir_ht and cycle_state.  All uses changed to mention
84435         fts_cycle.ht and fts_cycle.state.
84436         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
84437         fts.c, with the following changes:
84438         (setup_dir, free_dir): New functions.
84439         (enter_dir): Now returns bool.  Return true if successful, false
84440         if memory exhausted.  All callers changed.
84441         Do not bother partly cleaning up on
84442         memory allocation failure; that is free_dir's job.
84443         However, free ad if hash_insert fails, to avoid memory leak.
84444         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
84445         fts->fts_options to see which union member to use.
84446
84447 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84448
84449         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
84450         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
84451
84452 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84453
84454         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
84455
84456 2005-05-20  Jim Meyering  <jim@meyering.net>
84457
84458         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
84459         Now a macro, to pacify GCC.
84460
84461 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84462
84463         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
84464         of -1.
84465
84466 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84467
84468         * lib/chown.c (rpl_chown): Return -1 on failure.
84469
84470 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84471
84472         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
84473         Don't check for stddef.h.
84474         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
84475         don't use its results.
84476         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
84477         since we include them unconditionally.  Don't require
84478         AM_STDBOOL_H, since stdbool is a prerequisite.
84479         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
84480         since we assume C89 or better.
84481         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
84482         as we don't use their results.
84483         Don't check for fchdir, memmove, memset, strrchr, as we use
84484         them unconditionally.
84485         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
84486         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
84487
84488 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84489
84490         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
84491         Include <stddef.h> unconditionally, since we assume C89 now.
84492         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
84493         * lib/fts.c: Include fts_.h first, to check interface.
84494         Do not include intprops.h; no longer needed.
84495         Include cycle-check.h and hash.h, since fts_.h no longer does.
84496         Remove unnecessary casts of closedir to void.
84497         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
84498         decide whether to decrement nlinks.
84499         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
84500         (FTS): Use struct hash_table * instead of Hash_table, so that
84501         we no longer need to include hash.h here.
84502
84503 2005-05-18  Jim Meyering  <jim@meyering.net>
84504
84505         * modules/dirfd (License): Change to LGPL.  Most of the code
84506         is already in the public domain.
84507
84508 2005-05-18  Jim Meyering  <jim@meyering.net>
84509
84510         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
84511         Reported by Yoann Vandoorselaere.
84512
84513 2005-05-17  Jim Meyering  <jim@meyering.net>
84514
84515         * m4/fts.m4: New file, from coreutils.
84516
84517 2005-05-17  Jim Meyering  <jim@meyering.net>
84518
84519         * lib/fts.c, lib/fts_.h: New files, from coreutils.
84520
84521 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84522
84523         Sync from coreutils.
84524         * m4/unlinkdir.m4: New file.
84525
84526 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84527
84528         Sync from coreutils.
84529         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
84530         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
84531         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
84532         White space changes only.
84533         * lib/makepath.c (make_path): Port to hosts where leading "//" is
84534         special.
84535         * lib/yesno.c: Include getline.h, not ctype.h.
84536         (yesno): Don't remove leading white space; POSIX doesn't allow it.
84537         Use getline to remove arbitrary restriction on response length.
84538
84539 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84540
84541         * config/srclist-update: Spell out "Street" in FSF postal
84542         mail address; this is the style the FSF seems to prefer.
84543
84544         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
84545         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
84546         this updates FSF postal mail address.
84547
84548         Sync from coreutils.
84549         * modules/unlinkdir: New file.
84550         * modules/yesno (Depends-on): Add getline.
84551         * MODULES.html.sh (File system functions): Add unlinkdir.
84552
84553 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84554
84555         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
84556         lib/strsep.h:
84557         Change the initial comment to refer to GPL, not LGPL.
84558         gnulib-tool will change it to LGPL as needed.
84559
84560         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
84561         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
84562         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
84563         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
84564         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
84565         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
84566         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
84567         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
84568         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
84569         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
84570         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
84571         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
84572         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
84573         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
84574         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
84575         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
84576         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
84577         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
84578         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
84579         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
84580         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
84581         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
84582         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
84583         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
84584         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
84585         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
84586         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
84587         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
84588         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
84589         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
84590         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
84591         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
84592         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
84593         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
84594         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
84595         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
84596         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
84597         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
84598         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
84599         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
84600         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
84601         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
84602         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
84603         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
84604         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
84605         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
84606         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
84607         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
84608         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
84609         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
84610         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84611         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
84612         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
84613         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
84614         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
84615         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
84616         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
84617         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
84618         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
84619         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
84620         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
84621         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
84622         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
84623         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
84624         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
84625         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
84626         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
84627         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
84628         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
84629         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
84630         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
84631         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
84632         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
84633         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
84634         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
84635         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
84636         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
84637         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
84638         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
84639         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
84640         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
84641         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
84642         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
84643         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
84644         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
84645         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
84646         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
84647         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
84648         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
84649         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
84650         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
84651         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
84652         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
84653         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
84654         lib/yesno.c, lib/yesno.h:
84655         Update FSF postal mail address.
84656
84657 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84658
84659         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
84660         tests/test-memmem.c, tests/test-stpncpy.c:
84661         Update FSF postal mail address.
84662
84663 2005-05-13  Bruno Haible  <bruno@clisp.org>
84664
84665         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
84666         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
84667         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
84668         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
84669         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
84670         Add support for 64-bit integers in the MSVC compiler.
84671
84672 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84673
84674         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
84675
84676 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
84677
84678         * gnulib-tool (func_import): Sort and uniquify recommended includes.
84679
84680 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
84681
84682         * doc/getdate.texi (General date syntax): Don't say that date
84683         date --iso-8601=ns generates acceptable dates; it doesn't yet.
84684         Problem reported by Nic Ferrier.
84685
84686 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84687
84688         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
84689         specified in ai_socktype. Fix invalid ai_protocol
84690         check. ai_protocol is usually set to 0 or depending on
84691         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
84692         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
84693         ai_socktype / ai_protocol in the returned addrinfo structure.
84694
84695 2005-05-10  Simon Josefsson  <jas@extundo.com>
84696
84697         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
84698         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84699
84700 2005-05-10  Karl Berry  <karl@gnu.org>
84701
84702         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
84703         (from http://www.gnu.org/licenses).
84704         * doc/COPYING.LIB: also rename to COPYING.LESSER.
84705         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
84706         fdl.texi suffices.
84707
84708 2005-05-10  Karl Berry  <karl@gnu.org>
84709
84710         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
84711         (COPYING.DOC): remove.
84712
84713         * config/srclist-update: new FSF address.
84714
84715 2005-05-10  Derek Price  <derek@ximbiot.com>
84716
84717         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
84718         possible.
84719
84720 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84721             Bruno Haible  <bruno@clisp.org>
84722
84723         * modules/inet_ntop: New file.
84724         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84725         inet_ntop.
84726
84727 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84728             Bruno Haible  <bruno@clisp.org>
84729
84730         * m4/inet_ntop.m4: New file.
84731
84732 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84733             Bruno Haible  <bruno@clisp.org>
84734
84735         * lib/inet_ntop.h: New file.
84736         * lib/inet_ntop.c: New file, from glibc with modifications.
84737
84738 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
84739
84740         * modules/time_r (License): Change to LGPL.
84741         * modules/extensions (License): Change to LGPL.  Actually,
84742         the license is more permissive than that, but currently gnulib-tool
84743         doesn't know how to handle more-permissive licenses.
84744
84745         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
84746         Problem reported by Dave Love.
84747
84748 2005-05-08  Jim Meyering  <jim@meyering.net>
84749
84750         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
84751         blank.
84752
84753 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84754
84755         * modules/argmatch (Depends-on): Add stdbool.
84756         * modules/backupfile (Depends-on): Likewise.
84757         * modules/chdir-long (Depends-on): Likewise.
84758         * modules/closeout (Depends-on): Likewise.
84759         * modules/cycle-check (Depends-on): Likewise.
84760         * modules/dirname (Depends-on): Likewise.
84761         * modules/fnmatch (Depends-on): Likewise.
84762         * modules/fsusage (Depends-on): Likewise.
84763         * modules/fwriteerror (Depends-on): Likewise.
84764         * modules/getcwd (Depends-on): Likewise.
84765         * modules/getloadavg (Depends-on): Likewise.
84766         * modules/hard-locale (Depends-on): Likewise.
84767         * modules/makepath (Depends-on): Likewise.
84768         * modules/mountlist (Depends-on): Likewise.
84769         * modules/nanosleep (Depends-on): Likewise.
84770         * modules/posixtm (Depends-on): Likewise.
84771         * modules/quotearg (Depends-on): Likewise.
84772         * modules/readtokens (Depends-on): Likewise.
84773         * modules/readtokens0 (Depends-on): Likewise.
84774         * modules/readutmp (Depends-on): Likewise.
84775         * modules/save-cwd (Depends-on): Likewise.
84776         * modules/strftime (Depends-on): Likewise.
84777         * modules/userspec (Depends-on): Likewise.
84778         * modules/utimecmp (Depends-on): Likewise.
84779         * modules/xgetcwd (Depends-on): Likewise.
84780         * modules/xnanosleep (Depends-on): Likewise.
84781         * modules/xstrtod (Depends-on): Likewise.
84782         * modules/yesno (Depends-on): Likewise.
84783
84784 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
84785
84786         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
84787         needless checks.
84788
84789 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84790
84791         Merge from coreutils.  Among other things,
84792         add bulletproofing for cases where stdin, stdout, or stderr are closed.
84793         * lib/fd-safer.c: New file.
84794         * lib/fcntl-safer.h, open-safer.c: Remove.
84795         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
84796         * lib/dup-safer.c: Include unistd-safer.h first.
84797         Don't include errno.h.
84798         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
84799         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
84800         * lib/file-type.c: Rely on file-type.h change.
84801         * lib/getloadavg.c: Include unistd-safer.h.
84802         (getloadavg): Use safer open.
84803         * lib/getusershell.c: Include "stdio-safer.h".
84804         (getusershell): Use safer fopen.
84805         * lib/long-options.c (long_options): Use NULL rather than 0.
84806         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
84807         'free'.
84808         * lib/modechange.c: Likewise.
84809         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
84810         (MODE_DONE): New constant.
84811         (struct mode_change): Remove 'next' member.
84812         (make_node_op_equals): New function; like the old one of the
84813         same name, except it allocates an array.
84814         (mode_compile, mode_create_from_ref): Use it.
84815         (mode_compile): Allocate result as an array, not a linked list.
84816         Parse octal string ourself, so that we catch mistakes like "+0".
84817         (mode_adjust): Arg is an array, not a linked list.
84818         * lib/modechange.c: Include stat-macros.h, xalloc.h.
84819         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
84820         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
84821         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
84822         Remove.  This is now stat-macros.h's job.
84823         (talloc): Remove.  All callers replaced by xalloc, so that
84824         our invokers don't have to worry about reporting memory failures.
84825         (make_node_op_equals): Remove.
84826         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84827         New constants.
84828         (struct mode_change): Moved here from modechange.h.
84829         (mode_append_entry): Remove.
84830         (mode_compile): Remove MASKED_OPS arg, since it encouraged
84831         apps to have incorrect behavior.  Use simpler algorithm for head
84832         and tail.  Don't futz with umask; that's now the job of mode_adjust.
84833         Detect more invalid usages rather than having somewhat-random behavior.
84834         Don't insert an "a=" action, as that leads to incorrect behavior.
84835         (mode_compile, mode_create_from_ref): Return NULL on error instead
84836         of an enum, since now there's only one way to have an error.  All
84837         callers changed.
84838         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
84839         at the correct time.  Simplify calculation of "+u" and its ilk.
84840         Don't mishandle "+X".
84841         (mode_free): Remove "register" and localize decls.
84842         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84843         (struct mode_change): Move to modechange.c; callers don't
84844         need to see this stuff.
84845         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
84846         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
84847         (mode_change, mode_adjust): Reflect the new signatures noted above.
84848         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
84849         that might redefine system include files.
84850         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
84851         (my_usleep): Use NULL rather than (void *) 0.
84852         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
84853         Use siginterrupt to specify that system calls should be interrupted.
84854         (rpl_nanosleep): Move initialization of suspended closer to call of
84855         my_usleep.
84856         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
84857         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
84858         (desirable_utmp_entry): New function.
84859         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
84860         using x2nrealloc, to simplify logic.
84861         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
84862         size calculation.  Do not assume utmp file is a regular file.
84863         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
84864         (READ_UTMP_CHECK_PIDS): New constant.
84865         * lib/save-cwd.c: Include unistd-safer.h.
84866         (save_cwd): Use fd_safer.
84867         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
84868         [!_LIBC] Include "stat-macros.h" instead.
84869         * lib/unistd-safer.h (fd_safer): New decl.
84870
84871 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84872
84873         * modules/getloadavg (Depends-on): Add unistd-safer.
84874         * modules/getusershell (Depends-on): Add stdio-safer.
84875         * modules/lstat (Depends-on): Remove xalloc.
84876         * modules/mkstemp (Depends-on): Add stat-macros.
84877         * modules/modechange (Depends-on): Remove xstrtol.
84878         Add stat-macros, xalloc.
84879         * modules/save-cwd (Depends-on): Add unistd-safer.
84880         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
84881         * modules/unistd-safer (Files): Add lib/fd-safer.c
84882         (Makefile.am): Remove lib_SOURCES.
84883
84884         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
84885         Remove fcntl-safer; unistd-safer supersedes it.
84886
84887 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84888
84889         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
84890         AC_HEADER_STAT.
84891         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
84892         (gl_PREREQ_CHOWN): Remove.
84893         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
84894         it.  Don't require AC_HEADER_STAT.
84895         (gl_PREREQ_LSTAT): Remove.
84896         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
84897         Don't require AC_HEADER_STAT.
84898         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
84899         (gl_PREREQ_RMDIR): Remove.
84900         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
84901         mention stat-macros.h or AC_HEADER_STAT, since we'll make
84902         the stat-macros module a prerequisite.
84903         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
84904         * m4/filemode.m4 (gl_FILEMODE): Likewise.
84905         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
84906         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
84907         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
84908         variable names.
84909         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
84910         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
84911         variable prefixes.
84912         * m4/fcntl-safer.m4: Remove.
84913         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
84914         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
84915         Invoke gl_PREREQ_FD_SAFER.
84916         (gl_PREREQ_FD_SAFER): New macro.
84917         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
84918         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
84919         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
84920         Remove duplicate call to AC_LIBOBJ(readutmp).
84921         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
84922
84923         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
84924         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
84925
84926 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84927
84928         * MODULES.html.sh (Misc): Add byteswap.
84929
84930 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84931
84932         * modules/getcwd (Depends-on): Add extensions.
84933         * modules/openat (Depends-on): Likewise.
84934
84935 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84936
84937         * modules/byteswap: New file.
84938
84939 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84940
84941         * m4/byteswap.m4: New file.
84942
84943 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84944
84945         * lib/byteswap_.h: New file.
84946
84947 2005-04-25  Karl Berry  <karl@gnu.org>
84948
84949         * m4/gettext.m4: Update from GNU gettext 0.14.4.
84950
84951 2005-04-25  Albert Chin  <china@thewrittenword.com>
84952
84953         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
84954         Toolkit C bug.
84955
84956 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
84957
84958         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
84959         (func_ln_if_changed): Remove forcibly for no error message
84960         in case file does not exist.
84961
84962 2005-04-19  Simon Josefsson  <jas@extundo.com>
84963
84964         * gnulib-tool (Options): Make --symlink mean --symbolic.
84965
84966 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
84967
84968         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
84969
84970 2005-04-16  Simon Josefsson  <jas@extundo.com>
84971
84972         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
84973
84974 2005-04-15  Simon Josefsson  <jas@extundo.com>
84975
84976         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
84977
84978 2005-04-15  Simon Josefsson  <jas@extundo.com>
84979
84980         * gnulib-tool: Rename --symlink to --symbolic.
84981
84982 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
84983
84984         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
84985         symbolic links to files instead of copying/moving.  Add --aux-dir,
84986         specifying directory relative --dir where auxiliary build tools
84987         are placed.
84988
84989 2005-04-14  Bruno Haible  <bruno@clisp.org>
84990
84991         * modules/allocsa (License): Change to LGPL.
84992         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84993
84994 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
84995
84996         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
84997         that "UTC +1 second" continues to work.  Problem reported
84998         by Dmitry V. Levin.
84999         (relunit_snumber): New rule.
85000         (relunit): Use it.
85001
85002 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
85003
85004         * lib/getdate.y (universal_time_zone_table): New constant.
85005         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
85006         universal_time_zone_table.
85007         (lookup_zone): Prefer universal_time_zone_table to
85008         local_time_zone_table, so that "GMT" time stamps are allowed in
85009         London during the summer.  Problem reported by Ian Abbott.
85010
85011 2005-04-12  Jim Meyering  <jim@meyering.net>
85012
85013         * lib/human.c (humblock): Set *options even when returning due to
85014         xstrtoumax conversion failure.  Thanks to a used-uninitialized
85015         warning from gcc-4.
85016
85017 2005-04-09  Jim Meyering  <jim@meyering.net>
85018
85019         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
85020         -Wuninitialized: initialize tm0.tm_year.
85021
85022 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
85023
85024         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
85025         count, since there's no maximum.  All uses changed.
85026         Add member dsts_seen.
85027         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
85028         not being INT_MAX.
85029         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
85030         Use pc_rels_seen to decide whether a date is absolute.
85031
85032         * lib/getdate.y (number): Don't overwrite year.
85033         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
85034         check.
85035
85036 2005-04-02  Simon Josefsson  <jas@extundo.com>
85037
85038         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
85039         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
85040
85041 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
85042
85043         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
85044         where no absolute path name can be longer than PATH_MAX.
85045
85046 2005-03-27  Jim Meyering  <jim@meyering.net>
85047
85048         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
85049
85050 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
85051
85052         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
85053         "one's complement" -> "ones' complement" in comment, as per Knuth.
85054         "value of type" -> "type or expression" in comment.
85055         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
85056
85057 2005-03-26  Jim Meyering  <jim@meyering.net>
85058
85059         Comment nits.
85060         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
85061         Correct typos: s/or/of/.
85062
85063 2005-03-26  Jim Meyering  <jim@meyering.net>
85064
85065         * modules/check-include-files: Move to ../ and rename to...
85066         * check-module: ...this.
85067
85068 2005-03-25  Jim Meyering  <jim@meyering.net>
85069
85070         * modules/xvasprintf (Files): Add xalloc.h.
85071
85072 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
85073
85074         * modules/gettext (Files): config/config.rpath ->
85075         build-aux/config.rpath
85076         * modules/iconv (Files): Likewise.
85077         Problem reported by Oskar Liljeblad.
85078
85079 2005-03-23  Jim Meyering  <jim@meyering.net>
85080
85081         * modules/check-include-files: New script to check for
85082         missing dependencies, multiple includes, etc.
85083
85084         * modules/c-strtold (Depends-on): Add xalloc.
85085         * modules/c-strtod (Depends-on): Add xalloc.
85086         * modules/hash (Depends-on): Add xalloc.
85087         (Files): Remove lib/xalloc.h.
85088
85089         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
85090         * modules/userspec (Files): Add lib/inttostr.h.
85091
85092 2005-03-23  Jim Meyering  <jim@meyering.net>
85093
85094         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
85095
85096 2005-03-22  Jim Meyering  <jim@meyering.net>
85097
85098         * modules/stat-macros: New module.
85099         * modules/canonicalize, modules/euidaccess, modules/file-type,
85100         * modules/filemode, modules/lchown, modules/makepath,
85101         * modules/rmdir, modules/stat: Depend on new stat-macros module
85102         rather than listing lib/stat-macros.h manually.
85103         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
85104
85105 2005-03-22  Jim Meyering  <jim@meyering.net>
85106
85107         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
85108
85109 2005-03-22  Bruno Haible  <bruno@clisp.org>
85110
85111         * config/srclist.txt: Replace target directory 'config' with
85112         'build-aux'.
85113         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
85114         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
85115         ../build-aux/.
85116
85117 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
85118
85119         * modules/chdir-long (Depends-on): Add mempcpy.
85120
85121         * modules/acl, modules/backupfile, modules/c-strtod,
85122         modules/c-strtold, modules/canon-host, modules/canonicalize,
85123         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
85124         modules/exclude, modules/exitfail, modules/file-type,
85125         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
85126         modules/getdate, modules/getline, modules/getpagesize,
85127         modules/getpass, modules/getugroups, modules/group-member,
85128         modules/hard-locale, modules/hash, modules/human, modules/idcache,
85129         modules/inttostr, modules/long-options, modules/makepath,
85130         modules/md5, modules/memcasecmp, modules/memcoll,
85131         modules/modechange, modules/mountlist, modules/path-concat,
85132         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
85133         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
85134         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
85135         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
85136         modules/strftime, modules/strndup, modules/strverscmp,
85137         modules/timespec, modules/unlocked-io, modules/userspec,
85138         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
85139         modules/yesno:
85140         Remove lib_SOURCES line from Makefile.am section, as this is now
85141         done automatically by the corresponding Autoconf macro.
85142
85143 2005-03-21  Jim Meyering  <jim@meyering.net>
85144
85145         Changes imported from coreutils.
85146
85147         * lib/cycle-check.c: Don't include xalloc.h.
85148
85149         * lib/path-concat.c: Don't include assert.h.
85150         (path_concat): Remove assertion that would have triggered
85151         for ABASE starting with more than one slash.
85152         Reported by Andreas Schwab.
85153
85154         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
85155         properly when ABASE is an absolute file name.
85156         Correct the description of this function.
85157         Include <assert.h>.
85158         Add an assertion and a test driver.
85159         This fixes a bug introduced on 2004-07-02.
85160         Andreas Schwab reported the resulting failure of cp --parents:
85161         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
85162
85163 2005-03-21  Jim Meyering  <jim@meyering.net>
85164
85165         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
85166         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
85167
85168 2005-03-21  Jim Meyering  <jim@meyering.net>
85169         and  Paul Eggert  <eggert@cs.ucla.edu>
85170
85171         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
85172         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
85173         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
85174         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
85175         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
85176         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
85177         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
85178         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
85179         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
85180         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
85181         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
85182         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
85183         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
85184         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
85185         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
85186         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
85187         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
85188         for these modules.
85189
85190 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
85191
85192         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
85193         (which shouldn't happen), generate nothing instead of returning 0
85194         immediately, so that nstrftime (NULL, ...) doesn't return 0.
85195
85196 2005-03-16  Bruno Haible  <bruno@clisp.org>
85197
85198         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
85199         HAVE_LONGLONG_64BIT.
85200
85201 2005-03-16  Bruno Haible  <bruno@clisp.org>
85202
85203         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
85204         HAVE_LONGLONG_64BIT.
85205
85206 2005-03-16  Bruno Haible  <bruno@clisp.org>
85207
85208         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
85209         HAVE_LONGLONG_64BIT.
85210
85211 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85212
85213         * lib/strftime.c (my_strftime): Prepend space to format so that we can
85214         reliably distinguish strftime failure from empty output on POSIX
85215         hosts.
85216
85217 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85218
85219         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
85220         (iconv_string): Don't guess a size-zero buffer, as that might cause
85221         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
85222         result would be 'too large', where 'too large' is (heuristically)
85223         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
85224         overflow concerns.  This will prevent some unwanted malloc failures
85225         when the inputs are very large.
85226
85227 2005-03-15  Karl Berry  <karl@gnu.org>
85228
85229         * config/srclist.txt (config.rpath): from gettext.
85230         * config/config.rpath: update.
85231
85232 2005-03-15  Bruno Haible  <bruno@clisp.org>
85233
85234         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
85235         to 'negate'.
85236
85237         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
85238         variable.
85239
85240         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
85241         results.
85242
85243 2005-03-14  Simon Josefsson  <jas@extundo.com>
85244
85245         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
85246         <fx@gnu.org>.
85247
85248 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
85249
85250         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
85251         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
85252         intprops.h.
85253         * lib/strtol.c: Likewise.
85254
85255 2005-03-14  Jim Meyering  <jim@meyering.net>
85256
85257         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
85258         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
85259         to be nonzero so that we (and caller) can detect the difference
85260         between a valid zero-length expansion and an error return, even
85261         when the underlying strftime fails before writing anything into
85262         that location.
85263
85264 2005-03-14  Bruno Haible  <bruno@clisp.org>
85265
85266         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
85267         Update from GNU gettext 0.14.3.
85268
85269 2005-03-10  Jim Meyering  <jim@meyering.net>
85270
85271         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
85272
85273 2005-03-10  Jim Meyering  <jim@meyering.net>
85274
85275         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
85276         so that this module works on systems without fchdir.
85277
85278 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
85279
85280         Factor int-properties macros into a single file, except for
85281         glibc-related files.
85282         * lib/intprops.h: New file.
85283         * lib/getloadavg.c: Include it instead of limits.h.
85284         (INT_STRLEN_BOUND): Remove.
85285         * lib/human.c: Include intprops.h.
85286         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
85287         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
85288         302/1000.
85289         * lib/inttostr.h: Include intprops.h instead of limits.h.
85290         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
85291         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
85292         for consistency with intprops.h.
85293         (time_t_is_integer, twos_complement_arithmetic): Use them.
85294         * lib/sig2str.h: Include <signal.h>, intprops.h.
85295         (INT_STRLEN_BOUND): Remove.
85296         * lib/strftime.c (TYPE_SIGNED): Remove.
85297         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
85298         * lib/strtol.c: Adjust comments to match intprops.h.
85299         * lib/userspec.c: Include intprops.h.
85300         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
85301         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
85302         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
85303         instead of rolling our own expressions.
85304         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
85305
85306         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
85307         instead of int.
85308         (my_strftime): Do not mishandle years close to INT_MAX, by doing
85309         the right thing even if adding 1900 would overflow.  Similarly
85310         for tm_mon + 1 and tm_yday + 1.
85311         Make %Y always equivalent to %C%y, and similarly for %G and %g.
85312         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
85313         (DO_SIGNED_NUMBER): New macro.
85314         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
85315
85316 2005-03-07  Bruno Haible  <bruno@clisp.org>
85317
85318         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
85319
85320 2005-03-07  Bruno Haible  <bruno@clisp.org>
85321
85322         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
85323
85324 2005-03-04  Derek R. Price  <derek@ximbiot.com>
85325
85326         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
85327         (func_import): Only replace files via --import when they have actually
85328         changed.
85329
85330 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85331
85332         * m4/mmap-anon.m4: New file.
85333         * m4/pagealign_alloc.m4: New file.
85334
85335 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85336             Bruno Haible  <bruno@clisp.org>
85337
85338         * modules/pagealign_alloc: New file.
85339         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
85340
85341 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85342             Bruno Haible  <bruno@clisp.org>
85343
85344         * lib/pagealign_alloc.h: New file.
85345         * lib/pagealign_alloc.c: New file.
85346
85347 2005-03-03  Bruno Haible  <bruno@clisp.org>
85348
85349         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
85350         Use an all-permissive copyright notice, recommended by RMS.
85351
85352 2005-03-02  Bruno Haible  <bruno@clisp.org>
85353
85354         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
85355         of AIX, the replacement has to be done only after <string.h> is
85356         included, therefore not in config.h. stpncpy.h does the replacement,
85357         and stpncpy.c uses it.
85358
85359 2005-03-02  Bruno Haible  <bruno@clisp.org>
85360
85361         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
85362         stpncpy.c uses it.
85363
85364 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85365
85366         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
85367         The workaround isn't strictly needed for POSIX conformance, and
85368         it's too much of a pain to configure and maintain.  We'll ask
85369         people to fix their kernels instead.
85370         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
85371         (NANOSLEEP_BUG_WORKAROUND): Remove.
85372         (xnanosleep): Remove the workaround.
85373
85374 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85375
85376         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
85377         Reported by Derek Price.
85378         (Include): Add "timespec.h".
85379
85380         * modules/xnanosleep (Depends-on): Remove gethrxtime.
85381
85382 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85383
85384         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
85385         to detect nanosleep bug.
85386
85387 2005-03-01  Bruno Haible  <bruno@clisp.org>
85388
85389         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
85390
85391 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
85392
85393         * modules/gethrxtime: New file.
85394         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
85395         (Depends-on): Add gethrxtime.
85396         (configure.ac): Add gl_XNANOSLEEP.
85397         (Makefile.am): Remove lib_SOURCES line.
85398
85399 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85400
85401         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
85402         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
85403
85404 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85405
85406         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
85407         * lib/timespec.h (gettime): Return void, since it always
85408         succeeds now.  All uses changed.
85409         * lib/gettime.c (gettime): Likewise.
85410         [HAVE_NANOTIME]: Prefer nanotime.
85411         Assume gettimeofday succeeds, as POSIX requires.
85412         Assime time () succeeds, since other code already does.
85413         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
85414         (timespec_subtract): Remove.
85415         (NANOSLEEP_BUG_WORKAROUND): New constant.
85416         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
85417         things considerably.  Use it only on GNU/Linux hosts, since the
85418         workaround shouldn't be needed elsewhere.
85419
85420 2005-02-24  Bruno Haible  <bruno@clisp.org>
85421
85422         * modules/gettext (Files): Add m4/glibc2.m4.
85423
85424 2005-02-24  Bruno Haible  <bruno@clisp.org>
85425
85426         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
85427         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
85428         * m4/progtest.m4:
85429         Update from GNU gettext 0.14.2.
85430         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
85431
85432 2005-02-24  Bruno Haible  <bruno@clisp.org>
85433
85434         * lib/localcharset.c: Update from GNU gettext 0.14.2.
85435         * lib/config.charset: Update from GNU gettext 0.14.2.
85436
85437 2005-02-24  Bruno Haible  <bruno@clisp.org>
85438
85439         * lib/gettext.h: Update from GNU gettext 0.14.2.
85440
85441 2005-02-23  Simon Josefsson  <jas@extundo.com>
85442
85443         * m4/iconvme.m4: New file.
85444
85445 2005-02-23  Jim Meyering  <jim@meyering.net>
85446
85447         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
85448         change.
85449         Thanks to Bruno Haible for catching it.
85450
85451 2005-02-22  Simon Josefsson  <jas@extundo.com>
85452
85453         * modules/iconvme: New file.
85454
85455         * MODULES.html.sh: Add iconvme.
85456
85457 2005-02-22  Simon Josefsson  <jas@extundo.com>
85458
85459         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
85460
85461 2005-02-22  Simon Josefsson  <jas@extundo.com>
85462
85463         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
85464
85465 2005-02-22  Jim Meyering  <jim@meyering.net>
85466
85467         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
85468         s/ifndef/ifdef/.
85469
85470 2005-02-20  Neil Conway  <neilc@samurai.com>
85471
85472         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
85473         returned by OSX/Darwin if the specified buffer is not large
85474         enough for the hostname.
85475
85476 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85477
85478         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
85479         pass it to _help, otherwise the latter coredumps trying to
85480         dereference state.root_argp.
85481
85482 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85483
85484         * modules/chdir-long (Depends-on): Add memrchr.
85485         * modules/memrchr (Files): Add lib/memrchr.h.
85486         (Include): "memrchr.h".
85487
85488 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85489
85490         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
85491
85492 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85493
85494         * lib/memrchr.h: New file.
85495         * lib/chdir-long.c: Include it.
85496         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
85497         Don't bother including stddef.h.
85498
85499 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
85500
85501         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
85502         inclusion.
85503         Include <sys/types.h>, for dev_t.
85504         (ME_DUMMY, ME_REMOTE): Move from here....
85505         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
85506         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
85507         Dmitry V. Levin.
85508         Include mountlist.h first, to test the interface.
85509
85510 2005-01-29  Bruno Haible  <bruno@clisp.org>
85511
85512         * lib/progname.c (program_name): Initialize.
85513         Needed when linking statically on MacOS X.
85514
85515 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85516
85517         Sync from coreutils.
85518         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
85519         (Depends-on): Add c-strtod.
85520         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
85521
85522 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85523
85524         Sync from coreutils.
85525         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
85526
85527         Remove files that are specific to coreutils.
85528         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
85529
85530 2005-01-28  Bruno Haible  <bruno@clisp.org>
85531
85532         * modules/javacomp: New file.
85533         * MODULES.html.sh (Java): Add javacomp.
85534
85535 2005-01-28  Bruno Haible  <bruno@clisp.org>
85536
85537         * m4/javacomp.m4: New file, from GNU gettext.
85538
85539 2005-01-28  Bruno Haible  <bruno@clisp.org>
85540
85541         * lib/javacomp.sh.in: New file, from GNU gettext.
85542         * lib/javacomp.h: New file, from GNU gettext.
85543         * lib/javacomp.c: New file, from GNU gettext.
85544
85545 2005-01-26  Simon Josefsson  <jas@extundo.com>
85546
85547         * lib/gai_strerror.c: Use GPL in header.
85548
85549 2005-01-26  Bruno Haible  <bruno@clisp.org>
85550
85551         * modules/javaexec: New file.
85552         * MODULES.html.sh (Java): Add javaexec.
85553
85554 2005-01-26  Bruno Haible  <bruno@clisp.org>
85555
85556         * m4/javaexec.m4: New file, from GNU gettext.
85557
85558 2005-01-26  Bruno Haible  <bruno@clisp.org>
85559
85560         * lib/javaexec.sh.in: New file, from GNU gettext.
85561         * lib/javaexec.h: New file, from GNU gettext.
85562         * lib/javaexec.c: New file, from GNU gettext.
85563
85564 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85565
85566         * modules/lchown (Depends-on): Remove lchown.h
85567
85568 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85569
85570         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
85571         must be defined if the header file was not found, in order
85572         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
85573
85574 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85575
85576         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
85577         initializers for struct pentry_state.
85578         (__argp_error): Check return value of __asprintf
85579         (__argp_failure): Translate error message
85580
85581         * lib/argp-parse.c: Removed braces around the expansion of N_()
85582
85583 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
85584
85585         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
85586         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
85587         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
85588         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
85589         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
85590         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
85591         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
85592         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
85593         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
85594         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
85595         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
85596         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
85597         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
85598         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
85599         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
85600         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
85601         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
85602         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
85603         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
85604         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
85605         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
85606         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
85607         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
85608         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
85609         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
85610         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
85611         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
85612         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
85613         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
85614         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
85615         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
85616         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
85617         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
85618         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
85619         xstrtol.m4, xstrtoumax.m4, yesno.m4:
85620         Use an all-permissive copyright notice, recommended by RMS.
85621
85622 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
85623
85624         * modules/chdir-long (Depends-on): Remove mempcpy.
85625
85626 2005-01-21  Jim Meyering  <jim@meyering.net>
85627
85628         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
85629         same value as for Solaris 9.
85630
85631         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
85632         component length.  This included changing the parameter to be
85633         of type `char *' rather than `char const *'.
85634         * lib/chdir-long.h (chdir_long): Update prototype.
85635
85636         * lib/openat.c (fdopendir, fstatat): New functions.
85637         * lib/openat.h: Include headers required for use of DIR and struct
85638         stat.
85639         [AT_SYMLINK_NOFOLLOW]: Define.
85640         (fdopendir, fstatat): Add prototypes.
85641
85642 2005-01-21  Bruno Haible  <bruno@clisp.org>
85643
85644         * modules/classpath: New file.
85645         * MODULES.html.sh (Java): Add classpath.
85646
85647 2005-01-21  Bruno Haible  <bruno@clisp.org>
85648
85649         * lib/classpath.h: New file, from GNU gettext.
85650         * lib/classpath.c: New file, from GNU gettext.
85651
85652 2005-01-20  Simon Josefsson  <jas@extundo.com>
85653
85654         * modules/version-etc-fsf: New file.
85655
85656 2005-01-20  Simon Josefsson  <jas@extundo.com>
85657
85658         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
85659         * lib/version-etc.c: Remove version_etc_copyright.
85660         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
85661         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
85662
85663 2005-01-20  Simon Josefsson  <jas@extundo.com>
85664
85665         * lib/base64.h (isbase64): Add.
85666
85667         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
85668         using a unsigned prototype, don't inline.
85669         (base64_decode): Use it.
85670
85671 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85672
85673         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
85674         it.
85675
85676 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85677
85678         * lib/save-cwd.c (save_cwd): Remove code to support the case
85679         where fchdir is missing or flaky.
85680
85681 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85682
85683         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
85684
85685 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
85686
85687         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
85688         AC_LIBSOURCES now does this.
85689         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
85690         with new ullong_max module.
85691
85692 2005-01-19  Bruno Haible  <bruno@clisp.org>
85693
85694         * modules/sh-quote: New file.
85695         * MODULES.html.sh (Executing programs): Add sh-quote.
85696
85697 2005-01-19  Bruno Haible  <bruno@clisp.org>
85698
85699         * lib/sh-quote.h: New file, from GNU gettext.
85700         * lib/sh-quote.c: New file, from GNU gettext.
85701
85702 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85703
85704         Merge from coreutils.
85705         * m4/ullong_max.m4: New file.
85706         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
85707         (gl_MACROS): Assume localeconv exists.
85708
85709 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85710
85711         Merge changes from coreutils, as described below in several
85712         changelogs dated today.
85713
85714         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
85715         (O_DIRECTORY): Remove; not needed here, since "." must be
85716         a directory.  All uses removed.
85717         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
85718         universal on Suns, and we also need to test for IRIX.
85719         Revamp code to use 'if' rather than '#if'.
85720         Avoid unnecessary comparison of cwd->desc to 0.
85721
85722         * lib/utimens.c (futimens): Robustify the previous patch, by checking
85723         for known valid error numbers rather than observed invalid ones.
85724
85725 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85726
85727         * modules/ullong_max: New file.
85728
85729         * modules/chdir-long, modules/openat: New files.
85730         * modules/save-cwd (Depends-on): Depend on chdir-long.
85731         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
85732
85733 2005-01-18  Jim Meyering  <jim@meyering.net>
85734
85735         Merge from coreutils.
85736         * m4/chdir-long.m4, m4/openat.m4: New files.
85737         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
85738         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
85739         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
85740         is sane and DOES follow symlinks.  Besides, testing 20 different
85741         systems found no broken chown implementations.
85742         Prompted by a change in rsync's copy of this macro.
85743         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
85744
85745         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
85746
85747         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
85748         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
85749         NULL-means-set-to-current-time semantics.
85750         Remove temporary file immediately, rather than waiting
85751         for configure's at-exit trap code to do it.
85752
85753 2005-01-18  Jim Meyering  <jim@meyering.net>
85754
85755         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85756
85757         * lib/utimens.c (futimens): Account for the fact that futimes
85758         can also fail with errno == ENOSYS or errno == ENOENT.
85759         Patch from Dmitry V. Levin.
85760
85761         Change the name of the robust chdir function from chdir to chdir_long.
85762         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
85763         (restore_cwd): Use chdir_long, not chdir.
85764         * lib/chdir-long.c: Renamed from chdir.c.
85765         * lib/chdir-long.h: Renamed from chdir.h.
85766         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
85767         Hurd.
85768
85769 2005-01-18  Bruno Haible  <bruno@clisp.org>
85770
85771         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
85772         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
85773         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
85774         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
85775         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
85776         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
85777         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
85778         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
85779         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
85780         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
85781         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
85782         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
85783         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
85784         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
85785         Use an all-permissive copyright notice, recommended by RMS.
85786
85787 2005-01-18  Bob Proulx  <bob@proulx.com>
85788
85789         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
85790         simplify offsetof() macro construct to avoid compile failure with
85791         native HP-UX 11.0 ANSI C compiler.
85792
85793 2005-01-17  Bruno Haible  <bruno@clisp.org>
85794
85795         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
85796         redundant because stpncpy.m4 takes care of it.
85797
85798 2005-01-17  Bruno Haible  <bruno@clisp.org>
85799
85800         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
85801
85802 2005-01-17  Bruno Haible  <bruno@clisp.org>
85803
85804         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
85805         used.
85806
85807 2005-01-17  Bruno Haible  <bruno@clisp.org>
85808
85809         * lib/fwriteerror.h (fwriteerror): Change specification to include
85810         fclose.
85811         * lib/fwriteerror.c: Include <stdbool.h>.
85812         (fwriteerror): At the end, close the file stream. Record whether
85813         stdout was already closed.
85814
85815 2005-01-17  Bruno Haible  <bruno@clisp.org>
85816
85817         * lib/execute.c (environ): Declare if needed.
85818         * lib/pipe.c (environ): Likewise.
85819         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
85820
85821 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85822
85823         * modules/argp: Depend on vsnprintf
85824
85825 2005-01-10  Jim Meyering  <jim@meyering.net>
85826
85827         * modules/closeout (Depends-on): Add atexit.
85828
85829 2005-01-06  Bruno Haible  <bruno@clisp.org>
85830
85831         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
85832
85833 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
85834
85835         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
85836         definitions to be after all include files, to avoid collisions.
85837         Problem reported by Bob Proulx.
85838
85839 2005-01-04  Jim Meyering  <jim@meyering.net>
85840
85841         Changes imported from coreutils.
85842         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
85843         as the mkstemp template, use a temporary directory and an
85844         8.3-friendly template to avoid trouble on systems like DJGPP.
85845         Reported by Juan M. Guerrero via Stepan Kasal.
85846         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
85847         close. Remove the temporary directory right away, rather than waiting
85848         for configure's at-exit trap code to do it.
85849         Suggestion from Stepan Kasal.
85850
85851 2005-01-01  Simon Josefsson  <jas@extundo.com>
85852
85853         * gnulib-tool: Print #include directives when --import'ing.
85854
85855 2004-12-28  Simon Josefsson  <jas@extundo.com>
85856
85857         * tests/test-base64.c: Include required header files.  Remove
85858         unused variables.
85859
85860 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85861
85862         * modules/error (Depends-on): Remove gettext.
85863
85864 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85865
85866         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
85867         not needed.  This removes a dependency on the gettext module.
85868         [defined _LIBC]: Do not include <libintl.h>; not needed.
85869
85870 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85871
85872         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
85873         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
85874
85875 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85876
85877         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
85878         HAVE_DECL_STRTOLD.
85879
85880 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85881
85882         * modules/getdate (Depends-on): Remove alloca-opt.
85883
85884 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85885
85886         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
85887
85888 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85889
85890         * lib/argp-parse.c: Include <stddef.h>.
85891         (alignof, alignto): New macros.
85892         (parser_init): Don't assume that void * is aligned sufficiently
85893         for struct option.
85894
85895         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
85896         need to extend the stack.
85897         (YYINITDEPTH): New macro, so that the initial stack isn't overly
85898         large.
85899
85900 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85901
85902         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
85903
85904 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85905
85906         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
85907         (2004-10-24) change.  Apparently this was a false alarm.
85908
85909         * modules/getdate: Depend on alloca-opt, not alloca.
85910
85911 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85912
85913         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
85914         Remove now-obsolete comment about AIX.
85915         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
85916         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
85917         (YYMAXDEPTH): New macro.
85918
85919 2004-12-18  Simon Josefsson  <jas@extundo.com>
85920
85921         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
85922
85923 2004-12-18  Bruno Haible  <bruno@clisp.org>
85924
85925         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
85926
85927 2004-12-18  Bruno Haible  <bruno@clisp.org>
85928
85929         * lib/fatal-signal.c (fatal_signals): Make non-const.
85930         (init_fatal_signals): New function.
85931         (uninstall_handlers, install_handlers): Ignore signals that were set to
85932         SIG_IGN.
85933         (at_fatal_signal): Call init_fatal_signals.
85934         (init_fatal_signal_set): Likewise. Ignore signals that were set to
85935         SIG_IGN.
85936         Reported by Paul Eggert.
85937
85938 2004-12-18  Bruno Haible  <bruno@clisp.org>
85939
85940         * doc/alloca.texi: New file.
85941         * doc/alloca-opt.texi: New file.
85942
85943 2004-12-17  Jim Meyering  <jim@meyering.net>
85944
85945         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
85946         Otherwise, install-sh could exit with improper exit status when
85947         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
85948
85949 2004-12-16  Simon Josefsson  <jas@extundo.com>
85950
85951         * tests/test-base64.c: Add license.
85952
85953 2004-12-15  Stepan Kasal  <address@hidden>
85954
85955         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
85956
85957 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
85958
85959         * modules/getcwd (Files): Add m4/d-ino.m4.
85960         Suggested by Mark D. Baushke.
85961
85962 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85963
85964         * lib/getdate.y (textint): New member "negative".
85965         (time_zone_hhmm): New function.
85966         Expect 14 shift-reduce conflicts, not 13.
85967         (o_colon_minutes): New rule.
85968         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
85969         (yylex): Set the "negative" member of signed numbers.
85970
85971 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85972
85973         * doc/getdate.texi (Time of day items, Time zone items):
85974         Describe new formats +00:00, UTC+00:00.
85975
85976 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
85977
85978         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
85979         spurious "-l"s.  Problem reported by Stepan Kasal.
85980
85981 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
85982
85983         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
85984         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
85985
85986 2004-12-04  Simon Josefsson  <jas@extundo.com>
85987
85988         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
85989         Vandoorselaere <yoann@prelude-ids.org>.
85990
85991 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85992
85993         Changes imported from coreutils.
85994         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
85995         exist.
85996         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
85997
85998 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85999
86000         Changes imported from coreutils.
86001         * lib/hard-locale.c: Assume <locale.h> exists.
86002         Include "strdup.h".
86003         (GLIBC_VERSION): New macro.
86004         (hard_locale): Assume setlocale exists.
86005         Rewrite to avoid #ifdef.
86006         Use strdup rather than malloc + strcpy.
86007         * lib/human.c: Assume <locale.h> exists.
86008         (human_readable): Assume localeconv exists.
86009
86010 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86011
86012         * modules/hard-locale (Depends-on): Add strdup.
86013
86014 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
86015
86016         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
86017         convert T2, not T.  (Imported from libc.)
86018
86019 2004-11-30  Simon Josefsson  <jas@extundo.com>
86020
86021         * modules/restrict (License): Change to LGPL.
86022
86023 2004-11-30  Simon Josefsson  <jas@extundo.com>
86024
86025         * m4/restrict.m4: Add copyright and copying conditions.
86026
86027 2004-11-30  Simon Josefsson  <jas@extundo.com>
86028
86029         * m4/base64.m4: New file.
86030
86031 2004-11-30  Simon Josefsson  <jas@extundo.com>
86032
86033         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
86034         base64.
86035
86036         * tests/test-base64.c: New file.
86037
86038         * modules/base64: New file.
86039
86040 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86041
86042         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
86043         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
86044
86045         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
86046
86047 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86048
86049         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
86050         (__getcwd.c): Don't restore errno; glibc doesn't.
86051         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
86052         first, falling back to our code only if its results look suspicious.
86053         Ensure that the resulting buffer is only as large as necessary.
86054
86055         * lib/readutmp.c: Include readutmp.h first.
86056         Include <errno.h>, since readutmp.h no longer does that.
86057         * lib/readutmp.h: Don't include <errno.h>,
86058         <sys/param.h>, <time.h>; not needed to establish interface.
86059         (errno): Remove decl.
86060         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
86061         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
86062         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
86063
86064 2004-11-28  Simon Josefsson  <jas@extundo.com>
86065
86066         * lib/base64.h, base64.c: New file.
86067
86068 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
86069
86070         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
86071
86072 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
86073
86074         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
86075         (Depends-on): Remove pathmax, same.  Add mempcpy.
86076         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
86077         (Makefile.am): Append getcwd.h to lib_SOURCES.
86078         (Include): Add getcwd.h.
86079         (Maintainer): Change from Jim Meyering to "all, glibc",
86080         since getdate now uses intended-for-glibc code.
86081         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
86082         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
86083
86084 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86085
86086         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
86087         HP's ANSI C compiler.
86088         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
86089         Declaring int functions causes warnings on some modern systems and
86090         shouldn't be needed to compile on ancient ones.
86091         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
86092         defined.
86093
86094         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
86095         with the following changes.
86096         (__set_errno): Parenthesize properly.
86097         Include <stdbool.h>.
86098         (MIN, MAX, MATCHING_INO): New macros.
86099         (__getcwd): Define with prototype, not K&R form.
86100         Use heuristics to allocate default buffer on stack if possible.
86101         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
86102         behavior, and to avoid the PATH_MAX limit when computing
86103         ../../../../...
86104         Use MATCHING_INO to compare inode number to file.
86105         Check for arithmetic overflow in size calculations.
86106         Fix bug in reallocation of dot array that caused getcwd to fail
86107         on directories nested deeper than 75.
86108         Be more careful about saving errno on error.
86109         Do not use realloc; use only free+malloc, as this is a bit
86110         more flexible and avoids a needless copy operation.
86111         Do not inspect st_dev and st_ino for symbolic links; POSIX
86112         doesn't specify the latter.
86113         Check for closedir errors.
86114         Avoid needless casts.
86115         Use "#ifdef weak_alias" around weak_alias, to be like other
86116         glibc code.
86117         The following changes to getcwd.c have effect only when used in
86118         gnulib; they have no effect inside glibc proper.
86119         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
86120         as alloca isn't used.
86121         (alloca, __alloca): Likewise.
86122         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
86123         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86124         unconditionally, as gnulib assumes C89 or better.
86125         Do not include <sys/param.h>.
86126         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
86127         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
86128         better.
86129         (NULL) [!defined NULL]: Remove; we assume C89 or better.
86130         Include <dirent.h> in a way that is compatible with modern Autoconf.
86131         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
86132         New macros, if not already defined.
86133         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
86134         Use "_LIBC", not "defined _LIBC", for consistency.
86135         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
86136         a mempcpy module.
86137         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
86138         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
86139         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
86140         credit only to Jim Meyering and adjust the copyright dates.
86141         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
86142         <stdlib.h>, <unistd.h>, "pathmax.h".
86143         Instead, include "xgetcwd.h" (first) and "getcwd.h".
86144         (INITIAL_BUFFER_SIZE): Remove.
86145         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
86146
86147 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86148
86149         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
86150         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
86151         Use the _ONCE methods, for efficiency.
86152         Check for fcntl.h.  In test program, include <errno.h>
86153         and <fcntl.h> if available.  Remove old K&R cruft from
86154         test program.  Check for common errors in GNU/Linux,
86155         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
86156         don't do AC_LIBOBJ, as that's getcwd.m4's job.
86157         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
86158         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
86159         name accordingly.
86160         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
86161         accommodate new getcwd.c.
86162         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
86163         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
86164         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
86165         that's all we need now.
86166
86167 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86168
86169         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
86170         argp-parse.c depends on getopt internals, that means we should
86171         always use our getopt, to be on the safe side.
86172         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
86173         order not to spoil the result of an eventual previous invocation
86174         of gl_GETOPT_SUBSTITUTE.
86175
86176 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86177
86178         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
86179         redefinition warnings. To avoid them, include the defines
86180         in `#if !defined __need_getopt ... #endif'. The only place
86181         where __getopt_argv_const is used is in definitions
86182         of getopt_long and getopt_long_only below, which are as well
86183         protected by `#ifndef __need_getopt'.
86184         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
86185         __need_getopt after including <stdio.h> and <unistd.h> These
86186         headers might have defined it.
86187
86188 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86189
86190         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
86191
86192 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86193
86194         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
86195         (futimens): New function, which uses futimes if available.
86196         (futimens, utimens): Support timespec==NULL, with same semantics
86197         as utime and utimens.
86198         * lib/utimens.h (futimens): New decl.
86199
86200 2004-11-23  Jim Meyering  <jim@meyering.net>
86201
86202         * lib/getopt_.h: Remove trailing blanks.
86203
86204 2004-11-23  Jim Meyering  <jim@meyering.net>
86205
86206         * lib/__fpending.c: Add comment.
86207
86208 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
86209
86210         * modules/canonicalize (Depends-on): Add xreadlink.
86211         Problem reported by James Youngman.
86212
86213 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
86214
86215         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
86216         New macros.
86217         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
86218         optopt): Use them instead of invoking ## directly; otherwise, the
86219         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
86220
86221 2004-11-19  Bruno Haible  <bruno@clisp.org>
86222
86223         * lib/strtok_r.c: Move comments from here...
86224         * lib/strtok_r.h: ... to here.
86225
86226 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86227
86228         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
86229         implementations that mishandle size_t overflow.
86230
86231 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86232
86233         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
86234         might fail.  Problem reported by Yoann Vandoorselaere.
86235         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
86236         implementations that mishandle size_t overflow.
86237
86238 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86239
86240         * modules/canon-host (Depends-on): Add strdup.
86241
86242 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86243
86244         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
86245
86246 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86247
86248         * lib/canon-host.c: Include "strdup.h".
86249         (canon_host): Use getaddrinfo if available, so that IPv6 works.
86250         Use strdup instead of malloc/strcpy to duplicate strings.
86251
86252         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
86253         (human_space_before_unit): New constant.
86254         * lib/human.c (human_readable): Support it.
86255
86256         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
86257         (xgetcwd): Set errno correctly when failing.
86258         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
86259         the failure is actually due to a PATH_MAX problem.
86260
86261         Further getopt changes to make it more likely that glibc will
86262         buy the changes back.
86263         * lib/getopt.c (POSIXLY_CORRECT): New constant.
86264         (getopt): Use it, so to preserve glibc semantic
86265         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
86266         when compiling for libc.
86267         * lib/getopt_.h (__getopt_argv_const): Bring it back.
86268         (getopt_long, getopt_long_only): Use it.
86269
86270         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86271         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
86272         (getopt): Argv is now char * const *, as per standard.
86273         (_getopt_internal_r, _getopt_internal): Argv is now char **,
86274         not char *__getopt_argv_const *.
86275         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86276         _getopt_long_only_r): Likewise.
86277         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
86278         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86279         _getopt_long_r, _getopt_long_only_r): Likewise.
86280         * lib/getopt_.h (__getopt_argv_const): Remove.
86281         (getopt): Argv is now char * const *, as per standard.
86282
86283         * lib/getdate.y (tORDINAL): New token.
86284         (day, relunit): Allow it for relative times.
86285         (relative_time_table): Use tORDINAL for ordinals.
86286
86287 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86288
86289         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
86290         Document that "second" isn't allowed as an ordinal number.
86291
86292 2004-11-16  Jim Meyering  <jim@meyering.net>
86293
86294         * modules/closeout (Depends-on): Add fpending.
86295
86296 2004-11-15  Jim Meyering  <jim@meyering.net>
86297
86298         * lib/closeout.c: Include "__fpending.h" once again.
86299         Include <stdbool.h>.
86300         (close_stdout): Don't fail just because stdout was closed initially,
86301         since some programs don't write to stdout in the normal course of
86302         operation (other than --version and --help), and we don't want this
86303         function to make e.g. `touch file >&-' fail.
86304         But do fail if it was closed and someone has tried to write to it.
86305         E.g., `printf foo >&-' must fail.
86306
86307 2004-11-13  Jim Meyering  <jim@meyering.net>
86308
86309         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
86310
86311 2004-11-12  Simon Josefsson  <jas@extundo.com>
86312
86313         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
86314         small doc fix is still pending.
86315
86316 2004-11-11  Simon Josefsson  <jas@extundo.com>
86317
86318         * modules/strtok_r: New file.
86319
86320         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86321         strtok_r.
86322
86323 2004-11-11  Simon Josefsson  <jas@extundo.com>
86324
86325         * m4/strtok_r.m4: New file.
86326
86327         * m4/getopt.m4: Replace opterr.
86328
86329 2004-11-11  Simon Josefsson  <jas@extundo.com>
86330
86331         * lib/strtok_r.h, strtok_r.c: New file.
86332
86333 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86334
86335         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
86336         of replacing opterr, getopt, etc.  This should handle the
86337         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
86338
86339 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86340
86341         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
86342         we can stop lying to compilers about the constness of argv when we
86343         are compiled outside glibc.
86344         (getopt, getopt_long, getopt_long_only): Use it.
86345         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86346         _getopt_internal, getopt): Likewise.
86347         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86348         _getopt_long_only_r): Likewise.
86349         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86350         _getopt_long_r, _getopt_long_only_r): Likewise.
86351
86352         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
86353         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
86354         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
86355         the other external symbols.
86356         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
86357         declaration, since the above renaming now works around collisions.
86358
86359 2004-11-11  Jim Meyering  <jim@meyering.net>
86360
86361         * lib/linebreak.c: Remove trailing blanks.
86362         * lib/alloca_.h: Likewise.
86363         * lib/acosl.c: Likewise.
86364         * lib/euidaccess.c: Likewise.
86365         * lib/allocsa.h: Likewise.
86366
86367 2004-11-10  Simon Josefsson  <jas@extundo.com>
86368
86369         * m4/getaddrinfo.m4: New file.
86370
86371 2004-11-10  Simon Josefsson  <jas@extundo.com>
86372
86373         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
86374
86375 2004-11-10  Simon Josefsson  <jas@extundo.com>
86376
86377         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86378         getaddrinfo.
86379
86380         * modules/getaddrinfo: New file.
86381
86382 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86383
86384         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
86385
86386 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86387
86388         * lib/mktime.c (SHR): New macro, which is a portable
86389         substitute for >> that should work even on Crays.
86390         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
86391         Problem reported by Mark D. Baushke in
86392         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
86393         * lib/getdate.y (SHR): Likewise.
86394         (tm_diff): Use it.
86395         * lib/strftime.c (SHR): Likewise.
86396         (tm_diff): Use it.
86397         * lib/quotearg.c (struct quoting_options): Use unsigned int for
86398         quote_these_too, so that right shifts are well defined.  All uses
86399         changed.
86400
86401 2004-11-10  Jim Meyering  <jim@meyering.net>
86402
86403         Ensure that no close failure goes unreported.
86404         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
86405         return early when it seems there's nothing to flush.
86406         Don't include __fpending.h.
86407
86408 2004-11-10  Jim Meyering  <jim@meyering.net>
86409
86410         * modules/closeout (Depends-on): Remove fpending.
86411
86412 2004-11-10  Jim Meyering  <jim@meyering.net>
86413
86414         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
86415
86416 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86417
86418         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
86419         gl_FUNC_STRFTIME.
86420         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
86421         and AC_REQUIRE when possible, to avoid duplicate checks.
86422         Check for <wchar.h>.
86423
86424 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86425
86426         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
86427
86428 2004-11-09  Bruno Haible  <bruno@clisp.org>
86429
86430         * m4/sockpfaf.m4: New file.
86431
86432 2004-11-05  Bruno Haible  <bruno@clisp.org>
86433
86434         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
86435         Reported by Mark D. Baushke <mdb@cvshome.org>.
86436
86437 2004-11-04  Bruno Haible  <bruno@clisp.org>
86438
86439         2004-09-11  Bruno Haible  <bruno@clisp.org>
86440                 * allocsa.valgrind: New file.
86441         2004-02-06  Bruno Haible  <bruno@clisp.org>
86442                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
86443                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
86444                 Reported by Christopher Seip <chris.seip@hp.com>.
86445
86446 2004-11-04  Bruno Haible  <bruno@clisp.org>
86447
86448         * modules/allocsa (Files): Add lib/allocsa.valgrind.
86449         (Makefile.am): Distribute it.
86450
86451 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
86452
86453         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
86454         with errno == ERANGE if the buffer is too small.
86455         Problem reported by Mark D. Baushke.
86456
86457 2004-11-03  Albert Chin  <china@thewrittenword.com>
86458             Paul Eggert  <eggert@cs.ucla.edu>
86459
86460         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
86461         equivalent, substitute $ac_type for equivalent type rather than
86462         blindly using uint32_t *always* which won't work if uint32_t is not
86463         available.  Define _UINT32_T to work around typedef of uint32_t if
86464         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
86465         2.5.1.
86466
86467 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86468
86469         * m4/jm-macros.m4: Sync from coreutils.
86470         (gl_MACROS): Check for mbrlen, for pathchk.
86471         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
86472
86473 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86474
86475         * lib/xreadlink.c (MAXSIZE): New macro.
86476         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
86477         size does not exceed MAXSIZE.  Avoid cast.
86478         As suggested by Mark D. Baushke in
86479         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
86480         if readlink fails with buffer size just under MAXSIZE, try again
86481         with MAXSIZE.
86482
86483 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86484
86485         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
86486
86487 2004-11-02  Derek R. Price  <derek@ximbiot.com>
86488         and  Paul Eggert  <eggert@cs.ucla.edu>
86489
86490         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
86491         (get_date): Overparenthesize to avoid GCC warning.
86492
86493 2004-11-02  Bruno Haible  <bruno@clisp.org>
86494
86495         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
86496         returns void.
86497
86498 2004-11-02  Bruno Haible  <bruno@clisp.org>
86499
86500         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
86501         function returns void.
86502
86503 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86504
86505         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
86506         fflush_unlocked, flockfile, funlockfile, funlockfile,
86507         fputs_unlocked, putc_unlocked.
86508
86509 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86510
86511         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86512         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
86513         already declared.
86514
86515 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86516
86517         * modules/getdate (Files): Add doc/getdate.texi.
86518         (Depends-on): Add setenv, xalloc.
86519
86520 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86521
86522         * lib/getdate.y: Add support for TZ="foo" within a date string.
86523         Fix some bugs near time_t boundaries.  Reject dates with
86524         out-of-range components, e.g., "Sept 31".
86525         Include <stdlib.h>, "setenv.h", "xalloc.h".
86526         (ISDIGIT_LOCALE): Remove; unused.
86527         Note that the TZ and time functions used here are not reentrant.
86528         (mktime_ok, get_tz): New functions.
86529         (TZBUFSIZE): New constant.
86530         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
86531         This requires that we sometimes generate our own TZ="XXX..." setting.
86532
86533 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86534
86535         * doc/getdate.texi: New file, from coreutils with modifications for
86536         the new TZ parsing.
86537
86538 2004-10-27  Derek R. Price  <derek@ximbiot.com>
86539
86540         * lib/mktime.c (not_equal_tm): Remove redundant check.
86541
86542 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86543
86544         * modules/regex (lib_SOURCES): Add regex.c.
86545         Reported by James Youngman in
86546         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
86547
86548 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86549
86550         * lib/getdate.y: Use Bison 1.875 features, and some minor
86551         code cleanups.  This change does not affect semantics.
86552         Don't include <stdlib.h>; no longer needed.
86553         Don't include unlocked-io.h; only the "#if TEST" code uses
86554         stdio, and performance isn't crucial there.
86555         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
86556         Bison 1.875 features as described below.
86557         All uses of "PC." replaced by "pc->".
86558         (YYSTYPE): Add a forward declaration.
86559         (yylex, yyerror): Use full prototypes in forward decls.
86560         Use "%pure-parser" rather than obsolescent "%pure_parser".
86561         Use %parse-param and %lex-param instead of obsolescent
86562         YYPARSE_PARAM and YYLEX_PARAM.
86563         (meridian_table, month_and_day_table, time_units_table,
86564         relative_time_table, time_zone_table, military_table,
86565         lookup_zone, lookup_word, get_date):
86566         Use NULL instead of 0 where appropriate.
86567         (to_hour): Avoid abort (), to avoid a dependency on
86568         stdlib.h.
86569         (yyerror, yylex): Now accepts parser_control * arg.
86570         (main) [TEST]: Use '\0' rather than 0 for char.
86571
86572 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86573
86574         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
86575
86576 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86577
86578         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
86579         It's now the caller's responsibility to handle the case where
86580         !HAVE_GETPAGESIZE && !defined getpagesize.
86581
86582         * lib/mktime.c (leapyear): Arg is long int, not int.
86583
86584 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
86585
86586         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
86587
86588 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
86589
86590         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
86591         missing.  Problem reported by James Youngman.
86592
86593 2004-10-16  Simon Josefsson  <jas@extundo.com>
86594
86595         * gnulib-tool: Fix comments.  Fix parse problem.
86596         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
86597
86598 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
86599
86600         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
86601         implementation of getopt_long.  Problem reported by Alexander Taler in:
86602         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
86603
86604 2004-10-15  Bruno Haible  <bruno@clisp.org>
86605
86606         * gnulib-tool: Untabify. Initialize supplied_libname.
86607         (func_usage): More homogenous output.
86608         (func_modules_transitive_closure, func_modules_to_filelist,
86609         func_emit_lib_Makefile_am): New functions.
86610         (func_import): New function, extracted from big case statement. Use
86611         func_get_license, func_modules_transitive_closure,
86612         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
86613         opt_lgpl. Don't use test -a, as it's not portable.
86614         (func_create_testdir): Use func_modules_transitive_closure,
86615         func_modules_to_filelist, func_emit_lib_Makefile_am.
86616
86617 2004-10-15  Bruno Haible  <bruno@clisp.org>
86618
86619         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
86620
86621 2004-10-15  Bruno Haible  <bruno@clisp.org>
86622
86623         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
86624         the portions belonging to each module.
86625         Suggested by Derek Robert Price <derek@ximbiot.com>.
86626
86627 2004-10-12  Simon Josefsson  <jas@extundo.com>
86628
86629         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86630         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
86631         to real functions.
86632
86633 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86634
86635         * modules/vsnprintf: New file.
86636
86637 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86638
86639         * m4/vsnprintf.m4: New file.
86640
86641 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86642
86643         * lib/vsnprintf.h: New file.
86644         * lib/vsnprintf.c: New file.
86645
86646 2004-10-11  Bruno Haible  <bruno@clisp.org>
86647
86648         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
86649         vsnprintf.
86650
86651 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
86652
86653         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
86654
86655 2004-10-07  Bruno Haible  <bruno@clisp.org>
86656
86657         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
86658         fits into the provided buffer.
86659
86660 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
86661
86662         * lib/diacrit.c, diacrit.h: Add GPL notice.
86663
86664         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
86665         notice.
86666         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
86667         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
86668         This avoids a potential constant-folding bug.
86669
86670 2004-10-05  Bruno Haible  <bruno@clisp.org>
86671
86672         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
86673         for the declaration of strsep.
86674
86675 2004-10-05  Bruno Haible  <bruno@clisp.org>
86676
86677         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
86678
86679 2004-10-04  Simon Josefsson  <jas@extundo.com>
86680
86681         * modules/memmem: New file.
86682         * tests/test-memmem.c: New file.
86683         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
86684
86685 2004-10-04  Simon Josefsson  <jas@extundo.com>
86686
86687         * m4/memmem.m4: New file.
86688
86689 2004-10-04  Simon Josefsson  <jas@extundo.com>
86690
86691         * lib/memmem.h: New file.
86692         * lib/memmem.c: New file, taken from glibc.
86693
86694 2004-10-04  Simon Josefsson  <jas@extundo.com>
86695
86696         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
86697         '#ifdef USE_UNLOCKED_IO'.
86698
86699 2004-10-04  Simon Josefsson  <jas@extundo.com>
86700
86701         * config/srclist.txt: Add memmem from glibc.
86702
86703 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86704
86705         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
86706
86707         * modules/argmatch, modules/argp, modules/closeout, modules/error,
86708         modules/exclude, modules/getdate, modules/getline,
86709         modules/getndelim2, modules/getpass, modules/getpass-gnu,
86710         modules/getusershell, modules/linebuffer, modules/md5,
86711         modules/mountlist, modules/posixtm, modules/readtokens,
86712         modules/readutmp, modules/regex, modules/sha1,
86713         modules/version-etc, modules/yesno:
86714         Remove dependency on unlocked-io.
86715
86716 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86717
86718         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
86719
86720         * m4/unlocked-io.m4: Add copyright notice.
86721         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
86722
86723 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86724
86725         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
86726         * lib/xmalloc.c (xmemdup): Likewise.
86727         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
86728         XFREE): Remove these long-obsolescent macros.
86729         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
86730         * lib/xstrdup.c: Remove.
86731
86732         * lib/regex.c (re_comp): Cast gettext return value to char *,
86733         Problem reported by Martin Neitzel via Mark D. Baushke.
86734
86735 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86736
86737         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
86738         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
86739         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
86740         regex.c, sha1.c, version-etc.c, yesno.c:
86741         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
86742         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
86743         the includer's responsibility.
86744
86745         Sync from coreutils.
86746
86747         * lib/modechange.c (mode_compile): Don't decrement a pointer that
86748         points to the start of a string, as the C Standard says the
86749         resulting behavior is undefined.
86750
86751         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
86752         simple -> simple_backups, numbered_existing ->
86753         numbered_existing_backups, numbered -> numbered_backups
86754         to avoid shadowing problems.  All uses changed.
86755         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
86756         * lib/backupfile.c (check_extension, numbered_backup):
86757         Rename locals to avoid shadowing 'basename'.
86758         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
86759         once.
86760
86761         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
86762         * lib/.cvsignore: Add getopt.h.
86763
86764 2004-10-04  Bruno Haible  <bruno@clisp.org>
86765
86766         * modules/README: New file.
86767         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
86768         not a module.
86769
86770 2004-10-02  Jim Meyering  <jim@meyering.net>
86771
86772         * lib/dirfd.h, getpagesize.h: Add copyright notice.
86773
86774 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86775
86776         * modules/strsep: New file.
86777
86778 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86779
86780         * m4/strsep.m4: New file.
86781
86782 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86783
86784         * lib/strsep.h: New file.
86785         * lib/strsep.c: New file.
86786
86787 2004-10-01  Simon Josefsson  <jas@extundo.com>
86788
86789         * lib/snprintf.c (snprintf): Handle size==0.
86790
86791 2004-10-01  Simon Josefsson  <jas@extundo.com>
86792             Bruno Haible  <bruno@clisp.org>
86793
86794         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
86795         (snprintf): Declare 'args'.
86796
86797 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
86798
86799         * lib/snprintf.c: Remove comments as to why each header is needed.
86800
86801 2004-10-01  Bruno Haible  <bruno@clisp.org>
86802
86803         * MODULES.html.sh: Add strsep.
86804
86805 2004-09-30  Simon Josefsson  <jas@extundo.com>
86806
86807         * modules/snprintf: New file.
86808
86809 2004-09-30  Simon Josefsson  <jas@extundo.com>
86810
86811         * m4/snprintf.m4: New file.
86812
86813 2004-09-30  Simon Josefsson  <jas@extundo.com>
86814
86815         * lib/snprintf.h, lib/snprintf.c: New files.
86816
86817 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86818
86819         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
86820         (hol_entry_help): Never translate an empty string.
86821         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
86822         * lib/argp.h (OPTION_NO_TRANS): New option.
86823
86824 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86825
86826         * modules/argp (Maintainer): Replace Simon Josefsson
86827         by Sergey Poznyakoff.
86828
86829 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86830
86831         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
86832         changes merged back into glibc.
86833
86834 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86835
86836         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
86837
86838 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86839
86840         * lib/xvasprintf.c: Include xalloc.h.
86841         (xvasprintf): Use xalloc_die, not xmalloc_die.
86842
86843 2004-09-29  Bruno Haible  <bruno@clisp.org>
86844
86845         * modules/alloca-opt: New file, derived from modules/alloca.
86846         * modules/allocsa: Depend on alloca-opt instead of alloca.
86847         * modules/setenv: Likewise.
86848         * modules/vasnprintf: Likewise.
86849         * MODULES.html.sh: Add alloca-opt.
86850
86851 2004-09-28  Simon Josefsson  <jas@extundo.com>
86852
86853         * gnulib-tool: New parameter --lgpl, to asseert that modules are
86854         LGPL, and to replace license template from GPL to LGPL.
86855
86856 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86857
86858         * modules/dummy: Change license to LGPL.
86859
86860 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86861
86862         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
86863
86864 2004-09-24  Simon Josefsson  <jas@extundo.com>
86865
86866         * modules/minmax (License): Change from GPL to LGPL.
86867
86868 2004-09-23  Simon Josefsson  <jas@extundo.com>
86869
86870         * gnulib-tool (--import): Typo.
86871
86872 2004-09-23  Simon Josefsson  <jas@extundo.com>
86873
86874         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
86875
86876 2004-09-22  Bruno Haible  <bruno@clisp.org>
86877
86878         * modules/*: Add 'License' field.
86879         * gnulib-tool: Accept --extract-license option.
86880         (func_get_license): New function.
86881
86882 2004-09-21  Bruno Haible  <bruno@clisp.org>
86883
86884         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
86885         Reported by Simon Josefsson.
86886
86887 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86888
86889         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
86890         gl_AC_TYPE_LONG_LONG.
86891
86892 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86893
86894         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
86895
86896 2004-09-18  Simon Josefsson  <jas@extundo.com>
86897         and  Paul Eggert  <eggert@cs.ucla.edu>
86898
86899         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
86900         calls with autoreconf.  Define GL_LIB.
86901
86902 2004-09-14  Karl Berry  <karl@gnu.org>
86903
86904         * config/srclist.txt: unsync setenv.c, sigh.
86905
86906 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86907
86908         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
86909         Problem reported by Bruno Haible in:
86910         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
86911
86912 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86913
86914         * config/srclist.txt: Comment out argp-pvh.c.
86915
86916 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
86917
86918         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
86919         in case some system header has #define'd it.  Problem reported by
86920         Soeren D. Schulze in
86921         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
86922
86923 2004-09-09  Karl Berry  <karl@gnu.org>
86924
86925         * regex.[ch]: delete from the root.  These were supposed to be
86926                 synced with emacs cvs, but this has not happened for about
86927                 a year, and anyway nothing else uses emacs regex.[ch].
86928                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
86929                 lib/regex[.ch] is untouched.
86930
86931 2004-09-09  Bruno Haible  <bruno@clisp.org>
86932
86933         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
86934
86935 2004-09-09  Bruno Haible  <bruno@clisp.org>
86936
86937         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
86938         modifications.
86939         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
86940
86941 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86942
86943         * modules/xvasprintf: New file.
86944         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
86945
86946 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86947
86948         * lib/xvasprintf.h: New file.
86949         * lib/xvasprintf.c: New file.
86950         * lib/xasprintf.c: New file.
86951
86952 2004-09-08  Bruno Haible  <bruno@clisp.org>
86953
86954         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
86955
86956 2004-09-08  Bruno Haible  <bruno@clisp.org>
86957
86958         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
86959         length is > INT_MAX.
86960         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
86961         more.
86962
86963 2004-09-08  Bruno Haible  <bruno@clisp.org>
86964
86965         * lib/stdint_.h: New file, taken from GNU clisp.
86966
86967 2004-09-08  Bruno Haible  <bruno@clisp.org>
86968             Oskar Liljeblad  <oskar@osk.mine.nu>
86969
86970         * modules/stdint: New file.
86971         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
86972
86973 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86974
86975         Import from coreutils.
86976         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
86977         strings on unbounded length.  alloca's performance benefits aren't
86978         that important here.
86979         (V_STRDUP): Remove.
86980         (parse_with_separator): New function, with most of the internals
86981         of the old parse_user_spec.  Allow user to omit both user and group,
86982         for compatibility with FreeBSD.
86983         Clone only the user name, not the entire spec.
86984         Do not set *uid, *gid unless entirely successful.
86985         Avoid memory leak in some failing cases.
86986         Fix regression for USER.GROUP reported by Dmitry V. Levin in
86987         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
86988         (parse_user_spec): Rewrite to use parse_with_separator.
86989
86990 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86991
86992         * modules/userspec: Don't depend on alloca.
86993
86994 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86995
86996         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
86997
86998 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86999
87000         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
87001         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
87002         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
87003
87004 2004-08-16  Simon Josefsson  <jas@extundo.com>
87005
87006         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
87007         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
87008         Add --dry-run for --import.
87009         Let user provided command line parameters override configure.ac
87010         settings.
87011
87012 2004-08-12  Simon Josefsson  <jas@extundo.com>
87013
87014         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
87015         as discussed with Paul Eggert in threads rooted at
87016         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
87017         and
87018         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
87019         Before, the test was empty, and relied on ELIDE_CODE in source
87020         code.)
87021         (gl_PREREQ_GETOPT): New macro.
87022         (gl_GETOPT): Use them.
87023
87024 2004-08-12  Simon Josefsson  <jas@extundo.com>
87025
87026         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
87027         * lib/getopt_.h: Renamed from getopt.h.
87028
87029 2004-08-12  Simon Josefsson  <jas@extundo.com>
87030
87031         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
87032         Change default library name from libfoo to libgnu.
87033         Now, if you have a configure.ac that says:
87034                 gl_SOURCE_BASE(gl)
87035                 gl_M4_BASE(gl/m4)
87036                 gl_MODULES(error getopt etcetera)
87037                 gl_INIT
87038         you can import all you need by running:
87039                 ../gnulib/gnulib-tool --import
87040
87041         * modules/getopt (Files): Rename getopt.h to getopt_.h.
87042         (Makefile.am): Rewrite, use logic from argz.
87043         (Include): Use <getopt.h> instead of "getopt.h".
87044
87045 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87046
87047         * modules/argp (Files): Add m4/unlocked-io.m4.
87048         (Depends-on): Add extensions.
87049
87050 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87051
87052         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
87053         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
87054         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
87055         Check for program_invocation_name, program_invocation_short_name,
87056         flockfile, funlockfile, features.h, _getopt_long_only_r.
87057
87058 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87059
87060         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
87061         its complicated substitute.
87062         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
87063         and program_invocation_name.
87064         (__argp_basename) [!_LIBC]: Remove; the only use was
87065         replaced by its body.
87066         (__argp_short_program_name): Change condition from
87067         !defined __argp_short_program_name to
87068         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
87069         to match argp-namefrob.h.
87070         (__argp_failure): Don't assume strerror_r returns char *.
87071         * lib/argp-parse.c (N_): Define unconditionally.
87072         (argp_default_options): Fill out initializers with 0 to avoid
87073         gcc warnings.
87074
87075 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87076
87077         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
87078         getopt1.c.
87079
87080 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87081
87082         Merge from coreutils.
87083
87084         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
87085
87086         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
87087         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
87088
87089 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87090
87091         Merge from coreutils.
87092
87093         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
87094         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
87095         for Reliant Unix 5.43.
87096
87097         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
87098         (union fooround): Use uintmax_t, not long int.
87099         The rest is a merge from libc:
87100         [defined _LIBC]: Include <shlib-compat.h>.
87101         (_obstack) [defined _LIBC]: Remove after 2.3.4.
87102
87103         * lib/settime.c (settime): Recode to avoid warning with
87104         Sun Forte C 6U2.
87105
87106         * lib/strverscmp.c: Convert to UTF-8.
87107
87108 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87109
87110         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
87111         m4/uintmax_t.m4.
87112
87113 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87114
87115         * modules/xalloc-die: New file.
87116         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
87117
87118         * modules/md5 (Files): Add m4/uint32_t.m4.
87119         * modules/sha1: Renamed from modules/sha.
87120         (Files):
87121         Rename lib/sha.h to lib/sha1.h.
87122         Rename lib/sha.c to lib/sha1.c.
87123         Rename m4/sha.m4 to m4/sha1.m4.
87124         (lib_SOURCES): Likewise.
87125         (configure.ac): Rename gl_SHA to gl_SHA1.
87126         (Include): sha.h -> sha1.h.
87127
87128 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87129
87130         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
87131         * m4/sha1.m4: Renamed from sha.m4.
87132         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
87133
87134 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87135
87136         * lib/obstack.h (obstack_empty_p):
87137         Don't assume that chunk->contents is suitably aligned.
87138         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
87139         Likewise. Problem reported by Benno in
87140         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
87141
87142         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
87143         readable.  This could be improved further but it'd take some work.
87144
87145 2004-08-08  Simon Josefsson  <jas@extundo.com>
87146
87147         * modules/xgethostname (Depends-on): Remove exit and error (not
87148         used).
87149
87150         * modules/getpass-gnu: Add getpass.h.
87151         (Depends-on): Add stdbool.
87152         * modules/getpass: Add getpass.h.
87153
87154 2004-08-08  Simon Josefsson  <jas@extundo.com>
87155
87156         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
87157         Check getpass declaration.
87158
87159 2004-08-08  Simon Josefsson  <jas@extundo.com>
87160
87161         * lib/xgethostname.c: Don't include error.h (not used).
87162
87163         * lib/getpass.h: Add.
87164         * lib/getpass.c: Include getpass.h first.
87165
87166 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
87167
87168         * lib/xalloc-die.c: New file.
87169         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
87170         All uses removed.
87171         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
87172         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
87173         xalloc-die.c.
87174         (_, N_, xalloc_die): Move to xalloc-die.c.
87175         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
87176         so that we needn't mess with xalloc_msg_memory_exhausted.
87177
87178         * lib/sha1.h: Renamed from sha.h.
87179         (SHA1_H): Renamed from _SHA_H.
87180         (sha1_ctx): Renamed from sha_ctx.
87181         (sha1_init_ctx): Renamed from sha_init_ctx.
87182         (sha1_process_block): Renamed from sha_process_block.
87183         (sha1_process_bytes): Renamed from sha_process_bytes.
87184         (sha1_finish_ctx): Renamed from sha_finish_ctx.
87185         (sha1_read_ctx): Renamed from sha_read_ctx.
87186         (sha1_stream): Renamed from sha_stream.
87187         (sha1_buffer): Renamed from sha_buffer.
87188         * lib/sha1.c: Likewise; renamed from sha.c.
87189         Do not include <sys/types.h>.
87190         Include <stddef.h> rather than <stdlib.h>.
87191
87192 2004-08-08  Bruno Haible  <bruno@clisp.org>
87193
87194         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
87195         FILESYSTEM_PREFIX_LEN.
87196         * lib/progreloc.c: Likewise.
87197         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
87198
87199 2004-08-06  Simon Josefsson  <jas@extundo.com>
87200
87201         * modules/progname (Depends-on): Don't depend on stdbool.
87202
87203 2004-08-06  Simon Josefsson  <jas@extundo.com>
87204
87205         * modules/getsubopt: New file.
87206         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87207         getsubopt.
87208
87209 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87210
87211         More merge from coreutils.
87212
87213         * m4/utimens.m4, m4/utimecmp.m4: New files.
87214         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
87215         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
87216         prereq.m4, sha.m4: Import changes from coreutils.
87217
87218 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87219
87220         More merge from coreutils.
87221         * modules/raise, modules/readtokens0, modules/utimens:
87222         * modules/utimecmp, module/xnanosleep: New files.
87223         * modules/strftime: Add lib/strftime.h.
87224         Change include from <time.h> to "strftime.h".
87225         * modules/yesno: Add lib/yesno.h.
87226         * modules/backupfile: Remove lib/addext.c.
87227         * modules/euidaccess: Add stat-macros.h.
87228         * modules/canonicalize, modules/euidaccess,
87229         modules/filemode, modules/lchown, modules/makepath,
87230         modules/rmdir, modules/stat: Likewise.
87231
87232 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87233
87234         Merge from tar.
87235         * lib/argp-help.c (make_hol, hol_append): Don't assume that
87236         SIZE_MAX is a valid preprocessor constant.
87237         (__argp_basename): Change from "#ifndef _LIBC"
87238         to "#ifndef __argp_short_program_name", so that
87239         we don't compile these functions for tar.
87240
87241         More merges from coreutils.
87242         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
87243         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
87244         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
87245         * lib/addext.c: Remove; no longer needed.
87246         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
87247         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
87248         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
87249         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
87250         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
87251         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
87252         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
87253         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
87254         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
87255         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87256         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
87257         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
87258         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
87259         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
87260         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
87261         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
87262         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
87263         Import changes from coreutils.
87264
87265 2004-08-05  Simon Josefsson  <jas@extundo.com>
87266
87267         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
87268
87269 2004-08-05  Simon Josefsson  <jas@extundo.com>
87270
87271         * m4/getsubopt.m4: New file.
87272
87273 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87274
87275         Merge from coreutils.
87276
87277         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
87278         * m4/getcwd-path-max.m4: New files.
87279
87280         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
87281         FILESYSTEM_PREFIX_LEN ->
87282         FILE_SYSTEM_PREFIX_LEN.
87283         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
87284         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
87285         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
87286         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
87287
87288         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
87289         prerequisite modules now handle the DOS stuff.
87290         Don't check for unistd.h.
87291
87292 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87293
87294         Merge from coreutils.
87295
87296         * lib/.gdb-history: Remove; this doesn't belong here.
87297
87298         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
87299         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
87300         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
87301         * lib/getcwd.c: New files.
87302
87303         * lib/dirname.h: Include <stdbool.h>.
87304         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
87305         for consistency with POSIX terminology.  All uses changed.
87306         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
87307         (strip_trailing_slashes): Use bool for booleans.
87308         * lib/stripslash.c (strip_trailing_slashes): Likewise.
87309
87310         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
87311         sometimes returns a positive errno value even when it succeeds.
87312         (print_errno_message) [!LIBC]: Fall back on strerror if
87313         __strerror_r fails.
87314
87315         * lib/path-concat.c (mempcpy): Don't define if a system header defines
87316         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
87317         (longest_relative_suffix): New function.
87318         (path_concat): Use it.  Assume first argument is not NULL.
87319         Port to DOS.  Omit redundant separators.
87320         Report an error instead of returning NULL.
87321         Use mempcpy instead of memcpy.
87322         (xpath_concat): Remove: not declared or used.
87323
87324         * lib/same.h: Include <stdbool.h>
87325         (same_name): Return bool, not int.
87326         * lib/same.c (same_name): Likewise.
87327         (errno): Don't declare; we assume C89 or better now.
87328
87329         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
87330         if not already defined.
87331
87332         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
87333         * lib/dup-safer.c (errno): Likewise.
87334
87335 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87336
87337         Merge from coreutils.
87338         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
87339         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
87340         * modules/path-concat: Don't depend on strdup.
87341
87342 2004-08-03  Simon Josefsson  <jas@extundo.com>
87343
87344         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
87345         * lib/progname.h: Don't include stdbool.h.
87346
87347 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87348
87349         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
87350         * MODULES.html.sh (func_all_modules): Remove fatal.
87351
87352 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87353
87354         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
87355
87356 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87357
87358         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
87359         working.
87360
87361 2004-08-02  Simon Josefsson  <jas@extundo.com>
87362
87363         * lib/getsubopt.h: New file, with comments from Bruno Haible.
87364         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
87365         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
87366
87367 2004-08-01  Simon Josefsson  <jas@extundo.com>
87368
87369         * lib/xgetdomainname.c: Include stdlib.h, for free().
87370
87371 2004-07-19  Bruno Haible  <bruno@clisp.org>
87372
87373         * MODULES.html.sh (func_all_modules): Add dummy.
87374
87375 2004-07-16  Simon Josefsson  <jas@extundo.com>
87376
87377         * modules/dummy: New file.
87378
87379 2004-07-16  Simon Josefsson  <jas@extundo.com>
87380
87381         * lib/dummy.c: New file.
87382
87383 2004-07-16  Bruno Haible  <bruno@clisp.org>
87384
87385         * lib/backupfile.h: Add extern "C" for C++.
87386         * lib/closeout.h: Likewise.
87387         * lib/copy-file.h: Likewise.
87388         * lib/findprog.h: Likewise.
87389         * lib/full-write.h: Likewise.
87390         * lib/pathname.h: Likewise.
87391         * lib/progname.h: Likewise.
87392         * lib/stpcpy.h: Likewise.
87393         * lib/stpncpy.h: Likewise.
87394         * lib/strcase.h: Likewise.
87395         * lib/strstr.h: Likewise.
87396         * lib/xalloc.h: Likewise.
87397
87398         * lib/mbswidth.h: Add extern "C" for C++.
87399         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
87400
87401 2004-07-13  Robert Millan  <robertmh@gnu.org>
87402
87403         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
87404
87405 2004-07-09  Simon Josefsson  <jas@extundo.com>
87406
87407         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
87408         failed without this.)
87409
87410 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87411
87412         * modules/chown (Files): Add lib/fchown-stub.c, since
87413         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
87414
87415 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87416
87417         * lib/fchown-stub.c: New file.
87418
87419 2004-06-24  Jim Meyering  <jim@meyering.net>
87420
87421         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
87422
87423 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87424
87425         * modules/argz: Omit "#include".
87426
87427         * MODULES.html.sh (func_all_modules): Add calloc, to match
87428         2004-06-01 addition of calloc module.
87429
87430 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87431
87432         * m4/argz.m4: New file, which is autoupdated from libtool.
87433
87434 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87435
87436         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
87437         libtool.
87438
87439 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87440
87441         * config/srclist-update: Don't insist on "USA." before the
87442         close-comment, as libtool omits the period and puts the */ on a
87443         separate line.
87444         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
87445         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
87446
87447 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
87448
87449         * modules/argz: New file.
87450         * MODULES.html.sh (func_all_modules): Add argz.
87451
87452 2004-06-12  Jim Meyering  <jim@meyering.net>
87453         and  Paul Eggert  <eggert@cs.ucla.edu>
87454
87455         * modules/hash (Files): Add lib/xalloc.h.
87456         * modules/pipe (Depends-on): Add wait-process.
87457         * modules/stat (Depends-on): Add xalloc.
87458         * modules/userspec (Files): Add lib/userspec.h.
87459         * modules/xstrto
87460
87461         Upgrade from gettext-0.13.
87462         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
87463         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
87464         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
87465
87466 2004-06-10  Jim Meyering  <jim@meyering.net>
87467
87468         * lib/calloc.c: New file.
87469
87470 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87471
87472         * lib/getdate.y (yylex): Allow space between sign and number.
87473         Problem reported by Dan Jacobson.
87474
87475 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87476
87477         Merge from coreutils CVS.
87478
87479         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
87480         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
87481         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
87482         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
87483         xstrtol.m4: Fix copyright date and/or serial number.
87484
87485         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
87486         See if we need an fchown replacement.
87487         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
87488         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
87489         and use the replacement function if we detect either defect.
87490
87491         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
87492         gl_UTIMECMP.
87493
87494 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87495         and  Jim Meyering  <jim@meyering.net>
87496
87497         Merge from coreutils CVS.
87498
87499         * lib/stat-macros.h: New file, with contents from file-type.h
87500         and coreutils' system.h.
87501         * lib/file-type.c: Include "stat-macros.h".
87502         * lib/file-type.h (file_type): Move all macro definitions to new file,
87503         stat-macros.h.
87504
87505         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
87506         Wrap old code with this conditional.
87507         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
87508         function that does not dereference symlinks.
87509         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
87510
87511         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
87512         dependency problems.
87513         (xreadlink): Accept new arg SIZE, for efficiency.
87514         All decls and uses changed.
87515         * lib/xreadlink.h: Include <stddef.h>, for size_t.
87516
87517         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
87518         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
87519
87520         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
87521         sysexits.h.
87522
87523 2004-06-01  Jim Meyering  <jim@meyering.net>
87524
87525         * m4/calloc.m4: New file.
87526
87527 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
87528
87529         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
87530         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
87531         Also, fix a typo in a diagnostic.
87532
87533 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87534
87535         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
87536         or AC_FUNC_REALLOC.
87537
87538 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87539
87540         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
87541         macros to be defined.
87542         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
87543         the allocator returns NULL because the requested size is zero.
87544
87545 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87546
87547         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
87548         var.  Add comment explaining why libc still defines it.  This
87549         merges the following patch from glibc:
87550         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
87551
87552 2004-05-20  Andreas Schwab  <schwab@suse.de>
87553
87554         * m4/free.m4: Replace free if it not known to work, not the other
87555         way round.
87556
87557 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
87558
87559         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
87560         present in glibc since revision 1.1 of this file.
87561         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
87562         obstack_alignment_mask, obstack_alloc, obstack_base,
87563         obstack_blank, obstack_blank_fast, obstack_chunk_size,
87564         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
87565         obstack_grow0, obstack_init, obstack_int_grow,
87566         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
87567         obstack_next_free, obstack_object_size, obstack_ptr_grow,
87568         obstack_ptr_grow_fast, obstack_room): Remove declarations of
87569         nonexistent functions.
87570
87571 2004-05-18  Karl Berry  <karl@gnu.org>
87572
87573         * config/srclist.txt: break link for vasnprintf.c.
87574
87575 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87576
87577         Port obstack to the AS/400, where pointers are 16 bytes wide and
87578         you cannot cast an integer to a valid pointer.  This patch is
87579         currently waiting to be integrated into glibc; see
87580         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
87581
87582         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
87583         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
87584         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
87585         (struct obstack): temp member is now a union of a pointer and
87586         an integer, instead of an integer.  All integer uses changed.
87587         This does not affect the physical layout of struct obstack,
87588         except on hosts (like the AS/400) where the size or alignment of
87589         void * is greater than that of ptrdiff_t.
87590         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
87591         __STDC__)]: Store temporary in pointer member of union, not
87592         integer member.
87593         * lib/obstack.c: Include <stddef.h>, for offsetof.
87594         (struct fooalign): Remove; it doesn't need a name.
87595         (union fooround): Change double to long double, and add void *.
87596         (DEFAULT_ALIGNMENT): Use offsetof to compute.
87597         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
87598         not a macro.  Hence the values are always int; so remove all
87599         casts-to-int in uses.
87600
87601 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87602
87603         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
87604         we can get this patch merged into glibc.
87605
87606 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87607             Paul Eggert  <eggert@cs.ucla.edu>
87608
87609         * m4/argp: Depend on alloca.
87610
87611 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87612             Paul Eggert  <eggert@cs.ucla.edu>
87613
87614         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
87615         freecoding.
87616
87617 2004-05-17  Bruno Haible  <bruno@clisp.org>
87618
87619         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
87620         precision that consists of a '.' followed by an empty digit string.
87621         Patch by Tor Lillqvist <tml@iki.fi>.
87622
87623 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87624
87625         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
87626         for backward compatibility with older code.  We need our own
87627         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
87628         it under some other name, and our alloca.h will define it.
87629
87630 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87631             Derek Price  <derek@ximbiot.com>
87632
87633         * lib/alloca.c: Include <alloca.h>, to get our interface.
87634         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
87635         include <alloca.h> first.  Use C89 prototype for alloca; this
87636         requires including <stddef.h> for size_t.  Use extern "C" if C++.
87637         Use #elif for simplicity, since we can assume C89 now.
87638         Don't try to source the system alloca.h since it will not be found
87639         and to prevent recursively including its replacement.
87640         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
87641         * lib/regex.c: Likewise.
87642
87643 2004-05-16  Derek Price  <derek@ximbiot.com>
87644             Paul Eggert  <eggert@cs.ucla.edu>
87645
87646         getline cleanup.  This changes the getndelim2 API: both order of
87647         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
87648         no delimiter).
87649
87650         * lib/getline.c: Don't include stddef.h or stdio.h, since our
87651         interface does that.
87652         (getline): Always use getdelim, so that we don't have two
87653         copies of this code.
87654         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
87655         if available.
87656         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
87657         (GETNDELIM2_MAXIMUM): New macro.
87658         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
87659         instead of the old practice of delim2==0.  All callers changed.
87660         Return -1 on overflow, instead of returning junk.
87661         Do not set *linesize unless allocation succeeds.
87662         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
87663         that we include sys/types.h.
87664         * lib/getnline.h: Likewise.
87665         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
87666         (getndelim2): Reorder arguments.
87667         * lib/getnline.c (getnline, getndelim):
87668         Don't discard the NMAX argument.
87669         (getnline): Invoke getndelim, to avoid code duplication.
87670         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
87671         of (size_t) -1 by callers of the getnline family.
87672
87673 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87674
87675         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
87676         Check for gettimeofday.
87677         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
87678         Check for settimeofday, stime.
87679
87680 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87681
87682         * lib/nanosleep.c (suspended): Change its type from int to
87683         sig_atomic_t volatile.
87684         (first_call): Make it private to rpl_nanosleep, and have it
87685         be zero initially as that's a bit faster.
87686         (my_usleep): Round up fractional times instead of truncating them,
87687         as this is the usual meaning for 'sleep'.
87688
87689         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
87690         doesn't work.
87691         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
87692         (ENOSYS): Define if not defined.
87693         (settime): Fall back on stime if it exists and settimeofday fails.
87694         But don't bother with fallbacks if a method fails with errno == EPERM.
87695
87696 2004-05-11  Jim Meyering  <jim@meyering.net>
87697
87698         Prior to this change, the save_cwd caller required read access to the
87699         current directory on most systems (ones with the fchdir function).
87700
87701         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
87702         fails, try write-only, and finally, resort to using xgetcwd.
87703
87704 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87705
87706         * lib/obstack.c, obstack.h: Import changes from libc.
87707
87708 2004-04-28  Bruno Haible  <bruno@clisp.org>
87709
87710         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
87711         also implicitly appends .exe to executables.
87712         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
87713         accepts Windows pathnames.
87714         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87715         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87716         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87717         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87718         Reported by Derek Robert Price <derek@ximbiot.com>.
87719
87720 2004-04-21  Karl Berry  <karl@gnu.org>
87721
87722         * config/srclist.txt (localcharset.c): break sync.
87723
87724 2004-04-20  Paul Eggert  <eggert@twinsun.com>
87725
87726         * m4/host-os.m4: Add a copyright notice.
87727
87728 2004-04-20  Jim Meyering  <jim@meyering.net>
87729
87730         Change UTILS_ to gl_ in AC_DEFINE'd names.
87731         Change utils_- and jm_-prefixed variables, too.
87732         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
87733         UTILS_FUNC_MKDIR_TRAILING_SLASH.
87734         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
87735
87736         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
87737         Don't emit trailing blanks.
87738         Also rename jm_-prefixed variables to have gl_ prefix.
87739
87740         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
87741         Also rename jm_-prefixed variables to have gl_ prefix.
87742
87743         * m4/jm-macros.m4: Reflect the renamings.
87744         * m4/prereq.m4: Likewise.
87745
87746 2004-04-20  Jim Meyering  <jim@meyering.net>
87747
87748         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
87749         memory.
87750
87751 2004-04-20  Jim Meyering  <jim@meyering.net>
87752             Bruno Haible  <bruno@clisp.org>
87753
87754         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
87755         memory when realloc fails.
87756
87757 2004-04-19  Jim Meyering  <jim@meyering.net>
87758
87759         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
87760         now that readutmp.c may call `free (0)'.
87761
87762 2004-04-19  Bruno Haible  <bruno@clisp.org>
87763
87764         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
87765         * m4/inttypes_h.m4: Likewise.
87766         * m4/stdint_h.m4: Likewise.
87767         * m4/intmax_t.m4: Likewise.
87768         * m4/uintmax_t.m4: Likewise.
87769
87770 2004-04-18  Jim Meyering  <jim@meyering.net>
87771
87772         * m4/prereq.m4: Don't forbid jm_ prefix.
87773
87774         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
87775         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
87776         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
87777         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
87778         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
87779         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
87780         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
87781         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
87782         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
87783         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
87784         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
87785         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
87786         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
87787         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
87788         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
87789         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
87790         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
87791         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
87792         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
87793
87794 2004-04-18  Jim Meyering  <jim@meyering.net>
87795
87796         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
87797         failure, don't leak memory and do call END_UTMP_ENT.
87798
87799 2004-04-16  Jim Meyering  <jim@meyering.net>
87800
87801         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
87802         coreutils' stat program.
87803         (gl_PREREQ): Don't require jm_PREREQ_STAT.
87804
87805 2004-04-11  Paul Eggert  <eggert@twinsun.com>
87806
87807         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
87808         C89.
87809         (CHAR_BIT): Remove, since we assume C89.
87810         Include <stdint.h> if available, as per current Autoconf CVS advice.
87811
87812 2004-03-31  Jim Meyering  <jim@meyering.net>
87813
87814         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
87815         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
87816         * m4/xalloc.m4: Likewise.
87817
87818 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87819
87820         Merge from coreutils.
87821
87822         * m4/inttostr.m4: New file.
87823         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
87824         Require AM_STDBOOL_H and gl_TIMESPEC instead.
87825         Require gl_CLOCK_TIME.
87826         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
87827
87828 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87829
87830         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
87831         not bool, to be more consistent with Unix conventions.
87832         Suggested by Bruno Haible.
87833
87834         Merge from coreutils.
87835
87836         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
87837         * lib/umaxtostr.c: New files.
87838
87839         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
87840         the usual <time.h> dance.
87841         (get_date): Change signature to support fractional time stamps.
87842         All callers changed.
87843         * lib/getdate.y: Include "getdate.h" first, as we can now
87844         assume C89 and don't need to worry about 'const'.
87845         Similarly, include "unlocked-io.h" near start, not in middle.
87846         Include <limits.h>.
87847         (textint.value): Use long int rather than int.
87848         (textint.digits): Use size_t rather than int.
87849         (BILLION, LOG10_BILLION): New constants.
87850         (parser_control): New member rel_ns.  Members day_ordinal,
87851         time_zone, month, day, hour, minutes, rel_year, rel_month,
87852         rel_day, rel_hour, rel_minutes, rel_seconds
87853         are now long int, not int.  Member seconds is now struct timespec,
87854         not int.  New member timespec_seen.  Members dates_seen, days_seen,
87855         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
87856         not int.
87857         (%union.intval): Now long int, not int.
87858         New member timespec.
87859         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
87860         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
87861         (spec): Now is a timespec or an item list.
87862         (timespec, items): New nonterminals.
87863         (time, rel, relunit, number, get_date):
87864         Add support for fractional seconds.
87865         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
87866         (gmtime, localtime, mktime): Remove decls; not needed with C89.
87867         (to_hour): First arg is now long int, not int.
87868         (to_year): Returns long int, not int.
87869         Don't treat year -70 like 70.
87870         (tm_diff): Returns long int, not int.
87871         (lookup_word): Use bool instead of int when appropriate.
87872         (yylex): Use size_t for count, not int.
87873         Detect overflow when parsing large integer constants.
87874         Add support for fractions.
87875         (get_date): Make pointers 'const' if possible.
87876         Use more-portable code to detect integer overflow.
87877         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
87878         Don't use ctime; it's not reliable if the year has >4 digits.
87879
87880         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
87881         This is for compatibility with BSD.
87882
87883         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
87884         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
87885         From coreutils' system.h.
87886
87887         * lib/userspec.c: Don't include "posixver.h".
87888         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
87889         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
87890         compatible extension.  Simplify code by removing a boolean int
87891         that was always nonzero if a string was nonnull.
87892
87893 2004-03-30  Jim Meyering  <jim@meyering.net>
87894
87895         Merge from coreutils.
87896
87897         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
87898         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
87899         on some systems one must include <grp.h> before it.
87900         Reported by Christian Krackowizer.
87901
87902 2004-03-30  Jim Meyering  <jim@meyering.net>
87903
87904         Merge from coreutils.
87905
87906         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
87907
87908         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
87909         an empty input stream.
87910
87911         * lib/readtokens.c: Include <stdbool.h>.
87912         (readtoken): Use `size_t' rather than int/long.
87913         All callers adjusted.
87914         Use `bool' rather than `int' where appropriate.
87915         Use memset rather than an explicit loop.
87916         Use x2nrealloc rather than xrealloc.
87917         Allow the use of `\0' as a delimiter.
87918         (readtokens): Likewise.
87919         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
87920
87921 2004-03-30  Jim Meyering  <jim@meyering.net>
87922
87923         * m4/realloc.m4: Remove file, since now it does no more than
87924         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
87925         the `configure.ac' section of module/realloc.
87926         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
87927
87928 2004-03-30  Bruno Haible  <bruno@clisp.org>
87929
87930         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
87931         nonnull.
87932
87933 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87934
87935         Merge changes to getloadavg.c from coreutils and Emacs.
87936
87937         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
87938         Define to an expression, not to the empty string.
87939         Include cloexec.h and xalloc.h.
87940         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
87941         Use set_cloexec_flag rather than rolling our own.
87942         * lib/cloexec.c, lib/cloexec.h: New files.
87943
87944 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87945
87946         * m4/cloexec.m4: New file.
87947
87948 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87949
87950         * lib/getopt.h: Sync with libc CVS.
87951
87952 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87953             Bruno Haible  <bruno@clisp.org>
87954
87955         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
87956         mbswidth.
87957
87958 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87959             Bruno Haible  <bruno@clisp.org>
87960
87961         * lib/mbswidth.h: Include <wchar.h> only if
87962         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
87963         <wchar.h>.
87964         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
87965
87966 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87967
87968         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
87969         Sync with libc CVS.
87970         * lib/getopt_int.h: New file, also synced from libc.
87971
87972 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87973
87974         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
87975         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
87976         Bring back getopt.c, getopt.h, getopt1.c.
87977
87978 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87979
87980         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
87981         All uses changed.  Check for sa_sigaction member; this fixes
87982         a bug first reported by Jason Andrade in
87983         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87984
87985 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87986
87987         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
87988         '#if' expressions.  Unlike the code it replaces, it does not
87989         depend on (defined _SC_PAGESIZE).  However, it does depend on
87990         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
87991         first reported by Jason Andrade in
87992         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87993
87994 2004-02-25  Simon Josefsson  <jas@extundo.com>
87995
87996         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
87997
87998 2004-02-25  Simon Josefsson  <jas@extundo.com>
87999
88000         * lib/strdup.h: New file.
88001         * lib/strdup.c: Include it.
88002         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
88003         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
88004
88005 2004-02-23  Karl Berry  <karl@gnu.org>
88006
88007         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
88008         (from fencepost.gnu.org:/gd/gnuorg).
88009
88010 2004-02-23  Karl Berry  <karl@gnu.org>
88011
88012         * config/srclistvars.sh (GNUORG) [karl]: redefine.
88013         * config/srclist.txt: add maintain/standards documents.
88014
88015 2004-02-18  Bruno Haible  <bruno@clisp.org>
88016
88017         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
88018         Reported by Derek Robert Price <derek@ximbiot.com>.
88019
88020 2004-02-16  Karl Berry  <karl@gnu.org>
88021
88022         * config/mkinstalldirs, install-sh: update from automake.
88023
88024 2004-02-06  Karl Berry  <karl@gnu.org>
88025
88026         * m4/po.m4: update from gettext 0.14.1.
88027
88028 2004-02-06  Karl Berry  <karl@gnu.org>
88029
88030         * lib/config.charset: update from gettext 0.14.1.
88031
88032 2004-02-05  Paul Eggert  <eggert@twinsun.com>
88033
88034         Add comments and code, prompted by suggestions from Bruno Haible
88035         for sh-quote.
88036         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
88037         describing the enum quoting_style values.
88038         * lib/quotearg.c (quotearg_alloc): New function.
88039         (quotearg_buffer_restyled): Treat lone { and } as special.
88040         Treat = as special.  Work around bug with older shells
88041         that "see" a '\' that is really the 2nd byte of a multibyte char.
88042         Quote empty string with shell_quoting_style.
88043
88044 2004-02-03  Bruno Haible  <bruno@clisp.org>
88045
88046         * m4/pipe.m4: New file, from GNU gettext.
88047
88048 2004-02-03  Bruno Haible  <bruno@clisp.org>
88049
88050         * lib/pipe.h: New file, from GNU gettext.
88051         * lib/pipe.c: New file, from GNU gettext.
88052
88053 2004-01-27  Bruno Haible  <bruno@clisp.org>
88054
88055         * m4/execute.m4: New file, from GNU gettext.
88056
88057 2004-01-27  Bruno Haible  <bruno@clisp.org>
88058
88059         * lib/execute.h: New file, from GNU gettext.
88060         * lib/execute.c: New file, from GNU gettext.
88061         * lib/w32spawn.h: New file, from GNU gettext.
88062
88063 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88064
88065         Merge from diffutils.
88066
88067         * lib/file-type.c (file_type): Add typed memory objects.
88068         * lib/file-type.h (S_TYPEISTMO): New macro.
88069
88070         * lib/c-stack.h (c_stack_action): Remove argv argument.
88071         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
88072         (die): Don't calculate message unless segv_action returns.
88073         (get_stack_location, min_address_from_argv, max_address_from_argv,
88074         volatile stack_base, volatile_stack_size): Remove.
88075         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
88076         that every segmentation violation is a stack overflow.  (Ouch!)
88077         See Debian bug 136249 (still outstanding) for more info about why
88078         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
88079
88080 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88081
88082         Exit-status fix from coreutils.
88083
88084         Use exit_failure consistently in place of EXIT_FAILURE,
88085         so that program exit statuses are consistent on failure.
88086
88087         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
88088         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
88089         * lib/argmatch.h: Comment fix to match the above.
88090         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
88091         Now a macro referring to exit_failure, instead of a separate
88092         variable.  Include "exitfail.h" to get it.
88093         * lib/xstrtol.h: Include "exitfail.h".
88094         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
88095
88096         * lib/long-options.c (parse_long_options): Use prototype
88097         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
88098         for clarity.
88099
88100 2004-01-21  Jim Meyering  <jim@meyering.net>
88101
88102         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
88103         so as not to conflict with a different-sized __mktime_internal
88104         function in GNU libc.
88105         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
88106         Problem building statically-linked `ls' reported by Michael Brunnbauer.
88107
88108 2004-01-20  Karl Berry  <karl@gnu.org>
88109
88110         * config/config.guess: update from config.
88111
88112         * config/srclistvars.sh: GNUWWWLICENSES for karl.
88113
88114 2004-01-20  Bruno Haible  <bruno@clisp.org>
88115
88116         Safer stack allocation.
88117         * lib/setenv.c: Include allocsa.h.
88118         (alloca): Remove fallback definition.
88119         (freea): Remove macro.
88120         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
88121         instead of freea.
88122
88123 2004-01-20  Bruno Haible  <bruno@clisp.org>
88124
88125         * m4/eealloc.m4: New file, from GNU gettext.
88126
88127 2004-01-20  Bruno Haible  <bruno@clisp.org>
88128
88129         * m4/allocsa.m4: New file, from GNU gettext.
88130
88131 2004-01-20  Bruno Haible  <bruno@clisp.org>
88132
88133         * lib/xallocsa.h: New file, from GNU gettext.
88134         * lib/xallocsa.c: New file, from GNU gettext.
88135
88136 2004-01-20  Bruno Haible  <bruno@clisp.org>
88137
88138         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
88139
88140 2004-01-20  Bruno Haible  <bruno@clisp.org>
88141
88142         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
88143         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
88144         specially.
88145
88146 2004-01-20  Bruno Haible  <bruno@clisp.org>
88147
88148         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
88149         patch.
88150
88151 2004-01-20  Bruno Haible  <bruno@clisp.org>
88152
88153         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
88154
88155 2004-01-20  Bruno Haible  <bruno@clisp.org>
88156
88157         * lib/eealloc.h: New file.
88158
88159 2004-01-20  Bruno Haible  <bruno@clisp.org>
88160
88161         * lib/binary-io.h: Avoid warnings on Cygwin.
88162
88163 2004-01-20  Bruno Haible  <bruno@clisp.org>
88164
88165         * lib/allocsa.h: New file, from GNU gettext.
88166         * lib/allocsa.c: New file, from GNU gettext.
88167
88168 2004-01-18  Karl Berry  <karl@gnu.org>
88169
88170         * doc/gpl.texi, doc/lgpl.texi: new files.
88171
88172 2004-01-18  Karl Berry  <karl@gnu.org>
88173
88174         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
88175         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
88176
88177 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88178
88179         Merge from coreutils.
88180
88181         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
88182         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
88183         (gl_DEFAULT_POSIX2_VERSION): Move
88184         the documentation from 'configure' into 'config.hin',
88185         so that 'configure --help' isn't burdened by it and
88186         we don't have to worry about its formatting there.
88187         Reword the documentation so that it's more succinct
88188         and can be run together into a single paragraph.
88189         * m4/same.m4 (gl_SAME): Check for pathconf.
88190
88191 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88192
88193         Merge from coreutils.
88194
88195         * lib/posixver.c: Include posixver.h.
88196
88197         * lib/same.c: Include <stdbool.h>, <limits.h>.
88198         (_POSIX_NAME_MAX): Define if not defined.
88199         (MIN): New macro.
88200         (same_name): If file names are silently truncated, report
88201         that the file names are the same if they are the same after
88202         the silent truncation.
88203
88204         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
88205         conversion function.
88206         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
88207         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
88208         longer needed.
88209
88210 2004-01-15  Jim Meyering  <jim@meyering.net>
88211
88212         Merge from coreutils.
88213
88214         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
88215         if no library is required.
88216         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
88217         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
88218         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
88219         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
88220         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
88221         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
88222         value, $ac_cv_search_crypt, if it's "none required".
88223         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
88224         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
88225         not gl_FUNC_GETLOADAVG.
88226         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
88227         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
88228
88229 2004-01-15  Jim Meyering  <jim@meyering.net>
88230
88231         Merge from coreutils.
88232
88233         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
88234         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
88235         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
88236
88237         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
88238         optional configure-time default.
88239
88240         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88241
88242         * lib/xreadlink.c (xreadlink): Correct outdated comment.
88243
88244 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
88245
88246         Merge from coreutils.
88247
88248         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
88249         value, $ac_cv_search_nanosleep, if it's "none required".
88250
88251 2004-01-14  Paul Eggert  <eggert@twinsun.com>
88252
88253         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
88254         with like-named macro in fnmatch.c.
88255         (EXT): Use an internal constant instead.
88256
88257         Merge fnmatch patches from glibc.
88258         * lib/fnmatch.c (mbsinit): Remove define.
88259         Add libc_hidden_ver (__fnmatch, fnmatch).
88260         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
88261         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
88262
88263 2004-01-14  Karl Berry  <karl@gnu.org>
88264
88265         * config/install-sh: update from automake.
88266
88267 2004-01-13  Karl Berry  <karl@gnu.org>
88268
88269         * config/install-sh: update from automake.
88270
88271 2004-01-09  Karl Berry  <karl@gnu.org>
88272
88273         * config/install-sh: update from automake.
88274
88275 2004-01-05  Karl Berry  <karl@gnu.org>
88276
88277         * config/config.{sub,guess}: update from config.
88278
88279 2003-12-31  Karl Berry  <karl@gnu.org>
88280
88281         * config/depcomp: update from automake.
88282
88283 2003-12-14  Karl Berry  <karl@gnu.org>
88284
88285         * lib/config.charset: update from gettext-runtime.
88286
88287 2003-12-03  Paul Eggert  <eggert@twinsun.com>
88288
88289         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
88290         Bug reported by Alfred M. Szmidt.
88291
88292 2003-12-03  Bruno Haible  <bruno@clisp.org>
88293
88294         * m4/gettext.m4: Upgrade from gettext-0.13.
88295         * m4/po.m4: Upgrade from gettext-0.13.
88296         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
88297         * m4/intmax.m4: New file, from gettext-0.13.
88298         * m4/printf-posix.m4: New file, from gettext-0.13.
88299
88300 2003-11-29  Karl Berry  <karl@gnu.org>
88301
88302         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
88303
88304 2003-11-25  Paul Eggert  <eggert@twinsun.com>
88305             Bruno Haible  <bruno@clisp.org>
88306
88307         * lib/printf-parse.h: Don't include sys/types.h.
88308         (ARG_NONE): New macro.
88309         (char_directive): Change type of *arg_index fields to size_t.
88310         * lib/printf-parse.c: Don't include sys/types.h.
88311         (SSIZE_MAX): Remove macro.
88312         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
88313         Remove unnecessary overflow check.
88314         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
88315         fields.
88316
88317 2003-11-25  Bruno Haible  <bruno@clisp.org>
88318
88319         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
88320
88321 2003-11-25  Bruno Haible  <bruno@clisp.org>
88322
88323         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
88324         gt_TYPE_SSIZE_T.
88325
88326 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88327
88328         * modules/alloca: Remove dependency on xalloc.
88329
88330 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88331
88332         * lib/alloca.c: Remove dependency on xalloc module.
88333         (xalloc_die): Remove.
88334         (memory_full) [!defined emacs]: New macro.
88335         [!defined emacs]: Don't include xalloc.h.
88336         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
88337         address arithmetic overflows.  Change datatypes a bit to avoid
88338         unnecessary casts.
88339
88340 2003-11-22  Jim Meyering  <jim@meyering.net>
88341
88342         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
88343         s/size/size_t/.
88344
88345 2003-11-21  Karl Berry  <karl@gnu.org>
88346
88347         * config/config.{sub,guess}: update from config.
88348
88349 2003-11-18  Karl Berry  <karl@gnu.org>
88350
88351         * config/config.{sub,guess}: update from config.
88352
88353         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
88354
88355 2003-11-17  Paul Eggert  <eggert@twinsun.com>
88356
88357         * README: Mention that S+T cannot overflow if S is the size of
88358         an existing object and T is sufficiently small.
88359
88360 2003-11-17  Jim Meyering  <jim@meyering.net>
88361
88362         On systems without utime and without a utimes function capable of
88363         dealing with a NULL struct utimbuf* argument, this utime replacement
88364         could -- in unusual circumstances -- leak a file descriptor.
88365         * lib/utime.c: Include <unistd.h> and <errno.h>.
88366         (utime_null): Be sure to close `fd' and to preserve errno.
88367         Reported by Geoff Collyer via Arnold Robbins.
88368
88369 2003-11-17  Bruno Haible  <bruno@clisp.org>
88370
88371         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
88372         (Depends-on): Add xsize.
88373
88374 2003-11-17  Bruno Haible  <bruno@clisp.org>
88375
88376         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
88377
88378 2003-11-17  Bruno Haible  <bruno@clisp.org>
88379
88380         * lib/vasnprintf.c (alloca): Remove fallback definition.
88381         (freea): Remove definition.
88382         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
88383         Reported by Paul Eggert.
88384
88385 2003-11-16  Paul Eggert  <eggert@twinsun.com>
88386             Bruno Haible  <bruno@clisp.org>
88387
88388         Protect against address arithmetic overflow.
88389         * lib/printf-args.h: Include stddef.h.
88390         (arguments): Change type of field 'count' to size_t.
88391         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
88392         'unsigned int' where appropriate.
88393         * lib/printf-parse.h: Include sys/types.h.
88394         (char_directive): Change type of *arg_index fields to ssize_t.
88395         (char_directives): Change type of fields 'count', max_*_length to
88396         size_t.
88397         * lib/printf-parse.c: Include sys/types.h and xsize.h.
88398         (SSIZE_MAX): Define fallback value.
88399         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
88400         instead of 'int' where appropriate. Check a_allocated, d_allocated
88401         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
88402         * lib/vasnprintf.c: Include xsize.h.
88403         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
88404         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
88405         overflow. Avoid wraparound when converting a width or precision from
88406         decimal to binary.
88407
88408 2003-11-16  Bruno Haible  <bruno@clisp.org>
88409
88410         Update from GNU gettext.
88411         * lib/printf-parse.c: Generalize to it can be compiled for wide
88412         strings.
88413         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
88414         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
88415         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
88416         SNPRINTF): New macros.
88417         Don't include <alloca.h> if the file is used inside libintl.
88418         (local_wcslen): New function, for Solaris 2.5.1.
88419         (VASNPRINTF): Use it instead of wcslen.
88420
88421 2003-11-16  Bruno Haible  <bruno@clisp.org>
88422
88423         * lib/xsize.h (xmax): New function.
88424         (xsum, xsum3, xsum4): Declare as "pure" functions.
88425
88426 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88427
88428         * modules/xalloc (Files): Undo latest change, since xalloc.h
88429         no longer needs SIZE_MAX or PTRDIFF_MAX.
88430
88431 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88432
88433         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
88434         gl_PTRDIFF_MAX.
88435
88436 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88437
88438         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
88439         "return", to pacify some unknown compiler.  Problem reported
88440         by Joerg Schilling.
88441
88442 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88443
88444         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
88445         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
88446         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
88447         heuristic is just as accurate as far as we know, and it removes a
88448         dependency on size_max.m4 and ptrdiff_max.m4.
88449
88450 2003-11-11  Bruno Haible  <bruno@clisp.org>
88451
88452         * modules/xsize (Files): Add m4/size_max.m4.
88453         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
88454
88455 2003-11-11  Bruno Haible  <bruno@clisp.org>
88456
88457         * m4/size_max.m4: New file.
88458         * m4/ptrdiff_max.m4: New file.
88459         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
88460         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
88461         (gl_XALLOC): Invoke it.
88462
88463 2003-11-11  Bruno Haible  <bruno@clisp.org>
88464
88465         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
88466         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
88467         defined.
88468
88469 2003-11-10  Paul Eggert  <eggert@twinsun.com>
88470
88471         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
88472         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
88473         rejected some allocations of exactly SIZE_MAX - 2 bytes.
88474         From Bruno Haible.
88475         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
88476         not (size_t) -1, since it's defined here.
88477
88478 2003-11-09  Karl Berry  <karl@gnu.org>
88479
88480         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
88481
88482 2003-11-06  Paul Eggert  <eggert@twinsun.com>
88483
88484         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
88485         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
88486         Reject sizes of exactly SIZE_MAX bytes.
88487         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
88488         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
88489
88490 2003-11-05  Bruno Haible  <bruno@clisp.org>
88491
88492         * lib/xsize.h: Include limits.h, to avoid a possible collision with
88493         SIZE_MAX defined in <limits.h> on Solaris.
88494
88495 2003-11-04  Jim Meyering  <jim@meyering.net>
88496
88497         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
88498         variable names, rather than @VAR@.
88499         * modules/poll: Likewise.
88500
88501 2003-11-04  Bruno Haible  <bruno@clisp.org>
88502
88503         * modules/xsize: New file.
88504         * modules/linebreak: Depend on xsize.
88505         * MODULES.html.sh (func_all_modules): Add xsize.
88506
88507 2003-11-04  Bruno Haible  <bruno@clisp.org>
88508
88509         * m4/xsize.m4: New file.
88510
88511 2003-11-04  Bruno Haible  <bruno@clisp.org>
88512
88513         * lib/xsize.h: New file.
88514         * lib/linebreak.c: Include xsize.h.
88515         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
88516         argument for overflow.
88517         Suggested by Paul Eggert.
88518
88519 2003-11-03  Karl Berry  <karl@gnu.org>
88520
88521         * config/config.{guess,sub}: update from config.
88522
88523 2003-11-03  Jim Meyering  <jim@meyering.net>
88524
88525         * modules/userspec (lib_SOURCES): Add userspec.h.
88526         (Include): Add "userspec.h".
88527         Improve description.
88528
88529 2003-11-03  Jim Meyering  <jim@meyering.net>
88530
88531         * lib/userspec.c: Include "userspec.h".
88532         * lib/userspec.h: New file.
88533
88534 2003-11-03  Bruno Haible  <bruno@clisp.org>
88535
88536         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
88537
88538 2003-11-03  Bruno Haible  <bruno@clisp.org>
88539
88540         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
88541         available, to avoid (extremely rare) race condition.
88542         Suggested by Paul Eggert.
88543
88544 2003-11-02  Karl Berry  <karl@gnu.org>
88545
88546         * config/srclist.txt (vasprintf.c): sync broken, sigh.
88547
88548 2003-10-31  Paul Eggert  <eggert@twinsun.com>
88549
88550         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
88551         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
88552         (read_filesystem_list): Set and use me_type_malloced.
88553         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
88554         whatever the type happens to be), for brevity and consistency.
88555         Check for size calculation overflow on Alphas running OSF/1.
88556
88557 2003-10-31  Jim Meyering  <jim@meyering.net>
88558
88559         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
88560
88561         * lib/linebuffer.c: Include <string.h> for declaration of memset.
88562
88563 2003-10-30  Paul Eggert  <eggert@twinsun.com>
88564             Bruno Haible  <bruno@clisp.org>
88565
88566         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
88567         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
88568
88569 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
88570
88571         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
88572         netbsd*-gnu*.  Suggested by Robert Millan.
88573
88574 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88575
88576         * modules/group-member: Depend on stdbool.
88577
88578 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88579
88580         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
88581
88582 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88583
88584         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
88585         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
88586         after the 'gnu' in these cases.  This fixes some bugs in the
88587         previous change, and is based on suggestions by Robert Millan.
88588
88589 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88590
88591         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
88592         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
88593         no longer needed.
88594         * lib/quotearg.c (quotearg_n_options): Use it.
88595         * lib/group-member.c: Include <stdbool.h>.
88596         (free_group_info): Arg is now const *; don't free arg.
88597         (get_group_info): Now returns bool and accepts struct group_info *,
88598         rather than returning a malloc'ed struct group_info *.
88599         All uses changed.  Check for overflow in internal size calculation.
88600
88601         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
88602         rather than xmalloc/xrealloc.
88603         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
88604         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
88605         conformance bug: the old code used a pointer after freeing the
88606         storage that it addressed.
88607         * lib/hash.c (hash_initialize): Simplify the code by using
88608         xalloc_oversized rather than doing it by hand.
88609         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
88610         the buffer preserved.  Use free and xmalloc instead.
88611         * lib/quotearg.c (quotearg_n_options): Likewise.
88612         Use a simpler test for size overflow.  Don't use xalloc_oversized
88613         because unsigned int might be wider than size_t (!); this suggests
88614         that we should switch from unsigned int to size_t for slot numbers.
88615
88616 2003-10-28  Paul Eggert  <eggert@twinsun.com>
88617
88618         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
88619         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
88620         NetBSD kernels.  Requested by Richard Stallman.
88621
88622 2003-10-27  Paul Eggert  <eggert@twinsun.com>
88623
88624         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
88625         to allocate the returned structure.  Do not allocate a subarray,
88626         as x2nrealloc will do that.
88627         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
88628         instead of xnrealloc.
88629         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
88630
88631 2003-10-27  Bruno Haible  <bruno@clisp.org>
88632
88633         * lib/stdbool_.h: Better support for BeOS.
88634
88635 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88636
88637         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
88638         now uses inline.
88639
88640 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88641
88642         * lib/xalloc.h (xalloc_oversized): New static inline function, for
88643         callers that want to do their own size-overflow checking.  Include
88644         <stdbool.h>, since xalloc_oversized returns bool.
88645         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
88646         to use xalloc_oversized.
88647
88648         Add two functions x2realloc, x2nrealloc, for programs that grow
88649         arrays dynamically by doubling their sizes.
88650         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
88651         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
88652         New functions.
88653
88654         Port to C99 semantics for 'inline' of external functions.
88655         Bug reported by Bruno Haible.
88656         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
88657         with the old contents of xnmalloc.
88658         (xnmalloc, xmalloc): Use it.
88659         (xnrealloc_inline): New static inline function,
88660         with the old contents of xnrealloc.
88661         (xnrealloc, xrealloc): Use it.
88662
88663         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
88664         that.
88665
88666 2003-10-26  Karl Berry  <karl@gnu.org>
88667
88668         * config/srclist.txt (COPYING.DOC): no longer available from
88669         /gd/gnuorg; don't know where the ultimate source is.
88670
88671 2003-10-25  Paul Eggert  <eggert@twinsun.com>
88672
88673         Fix several address-calculation bugs in the hash modules,
88674         plus some minor code cleanup.
88675
88676         * lib/hash.h: Include <stdbool.h>, for bool.
88677         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
88678         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
88679         hash_get_n_entries, hash_get_max_bucket_length,
88680         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
88681         hash_rehash): Use size_t rather than unsigned.
88682         * lib/hash.c (struct hash_table, hash_get_n_buckets,
88683         hash_get_n_buckets_used, hash_get_n_entries,
88684         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
88685         hash_get_entries, hash_do_for_each, hash_string, is_prime,
88686         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
88687         Likewise.
88688         (SIZE_MAX): Define if not defined.
88689         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
88690         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
88691         hash_print):
88692         Use const * when possible.
88693         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
88694         (check_tuning): Fix bug: if tuning parameters were very close to
88695         0 or 1, rounding errors could have caused subscript violations.
88696         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
88697         (hash_initialize): Add 'fail:' label
88698         to free table and return NULL, and use it to simplify code.
88699         Use calloc rather than clearing the storage ourself.
88700         (hash_initialize, hash_rehash): Check for arithmetic overflow in
88701         buffer size calculations.
88702         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
88703         Include <stddef.h>, for size_t.
88704         * lib/hash-pjw.c (hash_pjw): Likewise.
88705         Switch to method described by Bruno Haible.
88706         Include <limits.h>, for CHAR_BIT.
88707         (SIZE_BITS): New macro.
88708
88709 2003-10-23  Paul Eggert  <eggert@twinsun.com>
88710
88711         * m4/getline.m4 (AM_FUNC_GETLINE):
88712         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
88713         hosts.  Problem reported by Derek Robert Price in
88714         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
88715         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
88716         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
88717
88718 2003-10-21  Paul Eggert  <eggert@twinsun.com>
88719
88720         * lib/getndelim2.c (getndelim2): When size calculation overflows,
88721         ceiling the allocation at NMAX bytes rather than silently
88722         discarding input bytes before NMAX is reached.  This makes
88723         a difference only if NMAX exceeds SIZE_MAX / 2.
88724
88725         * lib/obstack.c: Merge from glibc.
88726         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
88727         Add libc_hidden_def (_obstack_newchunk).
88728         (_obstack_free) [! defined _LIBC]: Remove.
88729         [defined _LIBC]: Make a strong alias from obstack_free, rather than
88730         a clone of the function body.
88731         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
88732         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
88733
88734         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
88735         glibc.
88736         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
88737         arg to memcpy.
88738
88739         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
88740         (obstack_ptr_grow_fast, obstack_int_grow_fast):
88741         Don't use lvalue casts, as GCC plans to remove support for them
88742         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
88743         was also present in the non-GCC version, indicating that this
88744         code had always been buggy and had never been widely used.
88745         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
88746         Use the fast variant of each macro, rather than copying the
88747         definiens of the fast variant; that way, we'll be more likely to
88748         catch future bugs in the fast variants.
88749
88750 2003-10-20  Bruno Haible  <bruno@clisp.org>
88751
88752         * modules/wait-process: New file.
88753         * MODULES.html.sh (func_all_modules): Add wait-process.
88754
88755 2003-10-20  Bruno Haible  <bruno@clisp.org>
88756
88757         * m4/wait-process.m4: New file.
88758
88759 2003-10-20  Bruno Haible  <bruno@clisp.org>
88760
88761         * lib/wait-process.h: New file, from GNU gettext.
88762         * lib/wait-process.c: New file, from GNU gettext.
88763
88764 2003-10-19  Jim Meyering  <jim@meyering.net>
88765
88766         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
88767         HPUX 10.20.
88768
88769 2003-10-18  Karl Berry  <karl@gnu.org>
88770
88771         * config/config.guess: update from config.
88772
88773 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88774
88775         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
88776         (getgroups): First arg is int, not size_t.
88777         Don't let 'free' mangle errno.
88778
88779 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88780
88781         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
88782
88783 2003-10-16  Karl Berry  <karl@gnu.org>
88784
88785         * config/config.{guess,sub}: update from config.
88786
88787 2003-10-16  Jim Meyering  <jim@meyering.net>
88788
88789         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
88790         memcpy.
88791
88792 2003-10-15  Paul Eggert  <eggert@twinsun.com>
88793
88794         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
88795         (SIZE_MAX): Remove.
88796         (new_exclude, add_exclude_file): Initial size no longer needs to
88797         be a power of 2.
88798         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
88799         our own address arithmetic overflow checking.
88800
88801         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
88802         (fnmatch): Do not alloca more than 2000 wide characters;
88803         instead, use malloc for large buffers.
88804         Check for address arithmetic overflow, and return -1
88805         with errno set to ENOMEM in that case.
88806         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
88807         (NEW_PATTERN): Do not alloca more than 8000 bytes;
88808         instead, return -1.  Check for address arithmetic overflow.
88809
88810 2003-10-14  Paul Eggert  <eggert@twinsun.com>
88811
88812         Handle invalid suffixes and overflow independently, so that
88813         callers can treat them independently as needed.  Fix some bugs in
88814         suffix handling, e.g., "100k@" was not diagnosed as an invalid
88815         suffix for a human-readable blocksize.  The major caller-visible
88816         change is the addition of a new
88817         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
88818         that both overflow and suffix chars were found.
88819
88820         * lib/human.c (humblock): Don't check separately for invalid suffix
88821         char; that is xstrtoumax's job (now that its bug is fixed).
88822         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
88823         INTMAX_MAX]: New macros.
88824         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
88825         TYPE_MAXIMUM): New macros.
88826         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
88827         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
88828         if overflow occurs, as it's what __strtol does and it's more useful
88829         in practice.
88830         (__xstrtol): If __strtol reports some error other than ERANGE,
88831         reflect it to the caller as LONGINT_INVALID.  If it reports
88832         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
88833         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
88834         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
88835         value.
88836         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
88837         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
88838         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
88839         [defined UINTMAX_MAX]: New macros.
88840
88841 2003-10-14  Bruno Haible  <bruno@clisp.org>
88842
88843         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
88844
88845 2003-10-14  Bruno Haible  <bruno@clisp.org>
88846
88847         * m4/sig_atomic_t: New file, from GNU gettext.
88848         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
88849
88850 2003-10-14  Bruno Haible  <bruno@clisp.org>
88851
88852         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
88853         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
88854         Also use volatile where needed.
88855
88856 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88857
88858         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
88859         Change maintainer from Bruno Haible to 'all'.
88860
88861 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88862
88863         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
88864
88865 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88866
88867         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
88868         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
88869         and define in terms of the other primitives.
88870         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
88871         (SIZE_MAX): Define if not already defined.
88872         (array_size_overflow): New function.
88873         (xalloc_die): Abort instead of exiting if 'error' returns.
88874         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
88875         (xmalloc, xrealloc): Use them.
88876         (xcalloc): Check for address arithmetic overflow.
88877         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
88878         a bit faster than strcpy.
88879
88880 2003-10-10  Simon Josefsson  <jas@extundo.com>
88881
88882         * modules/argp (Depends-on): Add restrict and strcase.
88883
88884 2003-10-10  Simon Josefsson  <jas@extundo.com>
88885
88886         * m4/argp.m4: Add AC_C_INLINE.
88887
88888 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88889
88890         Merge getpass from libc, plus a few fixes.
88891
88892         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
88893         Include <stdbool.h>.
88894         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
88895         __fsetlocking to empty.
88896         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
88897         do include <bits/libc-lock.h>.
88898         Do not include <fcntl.h>; not needed.
88899         [_LIBC]: Include <wchar.h>.
88900         (NOTCANCEL_MODE): New macro.
88901         (flockfile, funlockfile) [_LIBC]: New macros.
88902         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
88903         [!_LIBC]: New macros.
88904         (call_fclose): New function.
88905         (getpass): Use it.  Save tty stream separately; this simplifies the
88906         code and makes it more reliable if stdin happens to equal stdout.
88907         Invoke __fsetlocking on tty.
88908         Handle thread cancellation if needed.
88909         Namespace cleanup (use __tcgetattr, __getline).
88910         Use bool for Booleans.
88911         [USE_IN_LIBIO]: Handle wide streams.
88912         [!_LIBC]: Unconditionally do the fseek, since we don't know what
88913         stream might go where.
88914
88915         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
88916         doesn't have to include <stdio.h> before us.
88917         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
88918         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
88919         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
88920         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
88921         if not declared, so that we can use getpass.c code from libc without
88922         rewriting it.
88923         (flockfile, ftrylockfile, funlockfile): New macros.
88924
88925 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88926
88927         * modules/getpass: Depend on stdbool.
88928
88929 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88930
88931         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
88932
88933 2003-10-07  Karl Berry  <karl@gnu.org>
88934
88935         * config/config.{guess,sub}: update from config.
88936
88937 2003-10-06  Jim Meyering  <jim@meyering.net>
88938             Bruno Haible  <bruno@clisp.org>
88939
88940         This lets translators provide better translations for the
88941         "Written by ..." part of --version output.
88942         * lib/version-etc.h: Include stdarg.h.
88943         (version_etc_copyright): Declare as readonly.
88944         (version_etc): Make this function variadic with a NULL-terminated list
88945         of author name strings.
88946         (version_etc_va): New declaration.
88947         * lib/version-etc.c: Include stdarg.h, stdlib.h.
88948         (version_etc_copyright): Declare as readonly.
88949         (version_etc_va): New function. Provide a different translatable string
88950         for each possible number of authors < 10. Abbreviate when there are 10
88951         authors or more.
88952         (version_etc): Make this function variadic. Call version_etc_va.
88953         Suggestion from Gary V. Vaughan.
88954
88955         * lib/long-options.h (parse_long_options): Change prototype: the
88956         authors string is moved to the end and becomes variadic.
88957         * lib/long-options.c: Include stdarg.h.
88958         (parse_long_options): Make this function variadic, too.
88959         Call version_etc_va, not version_etc.
88960
88961 2003-10-06  Bruno Haible  <bruno@clisp.org>
88962
88963         * modules/version-etc-2: Remove file.
88964         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
88965
88966 2003-10-06  Bruno Haible  <bruno@clisp.org>
88967
88968         * modules/fatal-signal: New file.
88969         * MODULES.html.sh (func_all_modules): Add fatal-signal.
88970
88971 2003-10-06  Bruno Haible  <bruno@clisp.org>
88972
88973         * m4/fatal-signal.m4: New file.
88974         * m4/signalblocking.m4: New file, from GNU gettext.
88975
88976 2003-10-06  Bruno Haible  <bruno@clisp.org>
88977
88978         * lib/version-etc-2.h: Remove file.
88979         * lib/version-etc-2.c: Remove file.
88980
88981 2003-10-06  Bruno Haible  <bruno@clisp.org>
88982
88983         * lib/fatal-signal.h: New file, from GNU gettext.
88984         * lib/fatal-signal.c: New file, from GNU gettext.
88985
88986 2003-10-05  Paul Eggert  <eggert@twinsun.com>
88987
88988         * README: Rework advice for preventing empty .o files.
88989         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
88990         not <sys/types.h>.
88991
88992 2003-10-04  Karl Berry  <karl@gnu.org>
88993
88994         * lib/argp*: update from libc.
88995
88996 2003-10-04  Karl Berry  <karl@gnu.org>
88997
88998         * config/config.{guess,sub}: update from config.
88999
89000 2003-10-02  Bruno Haible  <bruno@clisp.org>
89001
89002         * modules/lchown (Include): Add lchown.h.
89003         * modules/time_r (Include): Use "..." syntax.
89004         * modules/xgetdomainname (Include): Add xgetdomainname.h.
89005
89006 2003-10-01  Simon Josefsson  <jas@extundo.com>
89007
89008         * MODULES.html.sh (func_all_modules): Move gethostname from section
89009         'based on' to section 'lacking' POSIX:2001.
89010
89011 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
89012
89013         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
89014         to output mode on the same stream.
89015
89016 2003-09-29  Paul Eggert  <eggert@twinsun.com>
89017
89018         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
89019         Fix arg typo in previous patch.
89020
89021 2003-09-28  Jim Meyering  <jim@meyering.net>
89022
89023         * lib/error.c: Correct cpp indentation.
89024
89025 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89026
89027         * modules/free: New file.
89028
89029 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89030
89031         * m4/free.m4: New file.
89032
89033 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89034
89035         * lib/minmax.h (MIN, MAX)
89036         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
89037         Omit the special code that used __typeof__, since we worry that
89038         it could be more trouble than it's worth.  See:
89039         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
89040         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
89041
89042         * lib/free.c: New file.
89043
89044 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
89045
89046         Trivial fixes to Makefile.am parts of module listings.
89047         * modules/strstr: Append strstr.h to lib_SOURCES.
89048         * modules/strcase: Likewise, for strcase.h.
89049
89050 2003-09-27  Karl Berry  <karl@gnu.org>
89051
89052         * config/mkinstalldirs: update from automake.
89053
89054 2003-09-26  Paul Eggert  <eggert@twinsun.com>
89055
89056         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
89057         (error_tail): Do not loop, reallocating temporary buffer, since
89058         the output cannot contain more wide characters than the input
89059         contains bytes, the size must be big enough already.  This avoids
89060         one potential size overflow calculation.  Check for size overflow
89061         when calculating temporary buffer size.  Free temporary buffer
89062         when done, if it was allocated with malloc; this plugs a memory
89063         leak.  Remove casts from void * to pointers, that are no longer
89064         needed now that we're assuming C89 or better.
89065
89066         Merge error changes from glibc.
89067
89068         * lib/error.c, error.h: Update copyright notice header to match glibc.
89069         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
89070         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
89071         Disable cancellation while printing error.
89072         * lib/error.h: Prepend __ to parameter names.
89073
89074 2003-09-26  Jim Meyering  <jim@meyering.net>
89075
89076         * lib/error.c (error_tail): Move some declarations
89077         into inner scope where the local variables are used.
89078
89079 2003-09-26  Bruno Haible  <bruno@clisp.org>
89080
89081         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
89082         stpncpy().
89083         Don't define stpncpy through config.h; it's now done through stpncpy.h.
89084
89085 2003-09-26  Bruno Haible  <bruno@clisp.org>
89086
89087         * lib/stpncpy.h (gnu_stpncpy): New declaration.
89088         (stpncpy): Define as alias for gnu_stpncpy.
89089         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
89090
89091 2003-09-25  Simon Josefsson  <jas@extundo.com>
89092
89093         * lib/xgetdomainname.h: New file.
89094         * lib/xgetdomainname.c: New file.
89095
89096 2003-09-25  Simon Josefsson  <jas@extundo.com>
89097             Bruno Haible  <bruno@clisp.org>
89098
89099         * modules/getdomainname: New file.
89100         * modules/xgetdomainname: New file.
89101         * MODULES.html.sh (func_all_modules): Add getdomainname,
89102         xgetdomainname.
89103
89104 2003-09-25  Simon Josefsson  <jas@extundo.com>
89105             Bruno Haible  <bruno@clisp.org>
89106
89107         * m4/getdomainname.m4: New file.
89108
89109 2003-09-25  Simon Josefsson  <jas@extundo.com>
89110             Bruno Haible  <bruno@clisp.org>
89111
89112         * lib/getdomainname.h: New file.
89113         * lib/getdomainname.c: New file.
89114
89115 2003-09-25  Karl Berry  <karl@gnu.org>
89116
89117         * lib/argp-fmtstream.c, argp-help.c: update from libc.
89118
89119 2003-09-25  Karl Berry  <karl@gnu.org>
89120
89121         * config/install-sh: update from automake.
89122
89123 2003-09-25  Bruno Haible  <bruno@clisp.org>
89124
89125         * modules/version-etc-2: New file, from modules/version-etc with
89126         modifications.
89127         * MODULES.html.sh (func_all_modules): Add version-etc-2.
89128
89129 2003-09-25  Bruno Haible  <bruno@clisp.org>
89130
89131         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
89132         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
89133
89134 2003-09-24  Simon Josefsson  <jas@extundo.com>
89135
89136         * modules/xgethostname: Add xgethostname.h.
89137
89138 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89139
89140         * lib/linebuffer.c (freebuffer): Don't free the argument, just
89141         the buffer associated with the argument.  Bug reported by
89142         Simon Josefsson.
89143
89144 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89145
89146         * README: Document assumptions that 'int' is at least 32 bits
89147         wide, that integer arithmetic is 2's complement without overflow,
89148         that there are no holes in integer values, that adding sizes of
89149         two nonoverlapping objects can't overflow, and that all-bits-zero
89150         yields scalar zero.  Fix spelling and capitalization typos.
89151
89152 2003-09-19  Karl Berry  <karl@gnu.org>
89153
89154         * lib/argp.h: update from libc.
89155
89156 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89157
89158         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
89159         to avoid spurious warnings like "AC_RUN_IFELSE was called before
89160         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
89161
89162 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89163
89164         * gnulib-tool: Use "test -h", not "test -L", for portability
89165         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
89166         (tags_regexp): Remove, since \| doesn't conform to POSIX.
89167         (sed_extract_prog): Issue s commands one-by-one, rather than
89168         using \| in one s command.
89169
89170 2003-09-16  Paul Eggert  <eggert@twinsun.com>
89171
89172         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
89173         input error, instead of returning NULL the next time we are called
89174         (and therefore losing track of errno).
89175
89176 2003-09-16  Bruno Haible  <bruno@clisp.org>
89177
89178         * gnulib-tool (func_create_testdir): Warn about duplicated
89179         dependencies.
89180
89181 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89182
89183         * modules/argmatch, modules/fatal, modules/obstack,
89184         modules/xalloc, modules/xgethostname: Sort dependencies by
89185         importance, not alphabetically.
89186
89187 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89188
89189         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
89190         fails, so that the caller gets the proper errno.
89191
89192         * lib/readutmp.c (read_utmp): Likewise.
89193         Check for fstat error.  Close stream and free storage
89194         when failing.
89195
89196 2003-09-14  Karl Berry  <karl@gnu.org>
89197
89198         * config/srclist.txt (strdup.c): disable for c89 changes.
89199
89200 2003-09-14  Jim Meyering  <jim@meyering.net>
89201
89202         * lib/getloadavg.c: Correct cpp indentation.
89203         * lib/strdup.c: Likewise.
89204         * lib/vasnprintf.c: Likewise.
89205
89206 2003-09-14  Bruno Haible  <bruno@clisp.org>
89207
89208         * modules/fwriteerror: New file.
89209         * MODULES.html.sh (func_all_modules): Add fwriteerror.
89210
89211 2003-09-14  Bruno Haible  <bruno@clisp.org>
89212
89213         * lib/fwriteerror.h: New file.
89214         * lib/fwriteerror.c: New file.
89215
89216 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89217
89218         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
89219         modules/xgethostname, modules/xalloc: Depend on exit.
89220
89221 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89222
89223         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
89224
89225         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
89226         and AC_MINIX, too, so that their extensions are available.
89227
89228         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
89229         This macro has been superseded by gl_BACKUPFILE.
89230
89231         More patches to assume C89 or better.
89232
89233         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
89234
89235         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
89236         unconditionally.
89237         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
89238         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
89239         Include <string.h>, <stdlib.h> unconditionally.
89240         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
89241         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
89242         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
89243         headers or for string.h.
89244         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
89245         or strtoul.
89246
89247         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
89248         headers.
89249         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
89250         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89251         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
89252         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
89253         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89254         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
89255         memcpy, memset.
89256         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
89257         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
89258         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
89259         strtol.
89260         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
89261         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
89262         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
89263         strtoul.
89264
89265 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89266
89267         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
89268         * lib/obstack.c [!defined _LIBC]: Likewise.
89269         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
89270         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
89271         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
89272
89273         More changes to assume C89 or better.
89274
89275         * lib/error.c (error_tail): Assume vprintf.
89276
89277         * lib/argmatch.c (getenv): Remove decl.
89278         * lib/progreloc.c (get_full_program_name): Define via prototype.
89279         * lib/setenv.c (clearenv): Likewise.
89280         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
89281         needed.
89282         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
89283         (malloc, memcpy): Remove decls.
89284         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
89285         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
89286         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89287         (memcpy): Remove macro.
89288         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
89289         (__P): Remove.  All uses removed.
89290         (PTR): Remove.  All uses changed to void *.
89291         (CHAR_BIT, NULL): Remove.
89292         (spaces, zeros, memset_space, memset_zero)
89293         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
89294         Remove.
89295         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
89296         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
89297         Define with prototype.
89298         Remove now-unnecessary prototype decl.
89299         (extra_args_spec): Assume ANSI C.  All uses changed.
89300         (extra_args_spec_iso): Remove.
89301         (my_strftime, emacs_strftimeu): Define via prototype.
89302         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
89303         unconditionally.
89304         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
89305         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
89306         (strtoul, strtol): Remove decls.
89307         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
89308         LONG_MAX): Remove.
89309         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89310         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
89311         (LOCALE_PARAM_PROTO): New macro.
89312         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
89313         (INTERNAL (strtol), strtol): Define with a prototype.
89314         (PARAMS): Remove.  All uses removed.
89315         * lib/tempname.c: Include <string.h> unconditionally.
89316         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
89317         * lib/xgethostname.c (main): Define with a prototype.
89318         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
89319         Include <stdlib.h> unconditionally.
89320         (calloc, malloc, realloc, free): Remove decls.
89321         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
89322         Include <stdlib.h> unconditionally.  Sort include file names.
89323         (strtod): Remove.
89324         (xstrtod): Define with a prototype.
89325         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
89326         (strtol, strtoul): Remove decls.
89327
89328 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89329
89330         More patches to assume C89 or better.
89331         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
89332         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
89333         string.h, memchr, STDC_HEADERS.
89334
89335 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89336
89337         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
89338         Include <stdlib.h>, <string.h> unconditionally.
89339         Remove now-unnecessary cast to char *.
89340         * lib/strnlen.c: Include <string.h> unconditionally.
89341         * lib/yesno.c (yesno): Define with a prototype.
89342
89343 2003-09-11  Bruno Haible  <bruno@clisp.org>
89344
89345         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
89346
89347 2003-09-10  Jim Meyering  <jim@meyering.net>
89348
89349         * lib/error.c: Correct indentation of cpp directives.
89350
89351 2003-09-10  Bruno Haible  <bruno@clisp.org>
89352
89353         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
89354         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
89355         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
89356         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
89357         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
89358         <stdlib.h> and <string.h> checks.
89359         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
89360         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
89361
89362 2003-09-10  Bruno Haible  <bruno@clisp.org>
89363
89364         * lib/strcspn.c: Include <string.h> unconditionally.
89365         * lib/strpbrk.c: Include <string.h> unconditionally.
89366         * lib/strstr.c: Include <string.h> unconditionally.
89367         * lib/unicodeio.c: Include <string.h> unconditionally.
89368         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
89369         * lib/unsetenv.c: Likewise.
89370         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
89371         * lib/yesno.c: Include <stdlib.h> unconditionally.
89372         (rpmatch): Add prototype.
89373
89374 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89375
89376         More patches to assume C89 or better.
89377         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
89378         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
89379         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
89380         or for string.h.
89381         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
89382         stdlib.h.
89383         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
89384         C headers.
89385         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
89386         string.h.
89387         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
89388         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
89389         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
89390         or for string.h.
89391         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
89392         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
89393         C headers.
89394         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
89395         memcpy.
89396         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
89397         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
89398         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
89399         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
89400         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
89401         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
89402         string.h, free.
89403         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
89404         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
89405         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
89406         C headers, or for string.h.
89407         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
89408         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
89409         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
89410         headers, memory.h, stdlib.h, string.h, strings.h.
89411         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
89412         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
89413         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
89414         strchr.
89415         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
89416         headers, memory.h, string.h.
89417         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
89418         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
89419         free.
89420         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
89421         headers.
89422         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
89423         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
89424         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
89425         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
89426         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
89427
89428 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89429
89430         More K&R removal.
89431
89432         * lib/acosl.c (main): Use a prototype.
89433         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
89434         tanl.c: Likewise.
89435
89436         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
89437
89438         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
89439         (getopt, etopt_long, getopt_long_only, _getopt_internal)
89440         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
89441         with a prototype.
89442         * lib/getopt.c (const): Remove macro.
89443         Include <string.h> unconditionally.
89444         (my_index): Remove; all uses changed to strchr.
89445         (strlen): Remove decl.
89446         (exchange): Remove forward decl; no longer needed.
89447         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
89448         Define with prototype.
89449         * lib/getopt1.c (const): Remove macro.
89450         (getopt_long, getopt_long_only, main): Define with prototype.
89451
89452         * lib/getugroups.c: Include <string.h> unconditionally.
89453
89454         * lib/getusershell.c: Include <stdlib.h> unconditionally.
89455         (getusershell, setusershell, endusershell, readname, main):
89456         Define with prototypes.
89457
89458         * lib/group-member.c: Include group-member.h first.
89459         Include <stdlib.h> unconditionally.
89460
89461         * lib/hard-locale.c: Include hard-locale.h first.
89462         Include <stdlib.h>, <string.h> unconditionally.
89463
89464         * lib/hash.c (free, malloc): Remove decls.
89465         Include <stdlib.h> unconditionally.
89466
89467         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
89468         (getenv): Do not declare.
89469
89470         * lib/idcache.c: Include <string.h> unconditionally.
89471
89472         * lib/long-options.c: Include long-options.h first, to test interface.
89473         Include <stdlib.h> unconditionally.
89474
89475         * lib/makepath.c: Include makepath.h first, to test interface.
89476         Include <stdlib.h> and <string.h> unconditionally.
89477
89478         * lib/linebuffer.c: Include <stdlib.h>.
89479         (free): Remove decl.
89480
89481         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
89482         stddef.h. rpl_malloc returns void *, not char *.
89483         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
89484         prototype.
89485
89486         * lib/md5.h: Include <limits.h> unconditionally.
89487         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
89488         (__P): Remove; all uses removed.
89489         * lib/md5.c: Include "md5.h" first.
89490         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
89491         md5_buffer, md5_process_bytes, md5_process_block):
89492         Define with prototypes.
89493         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
89494         * lib/sha.c: Include "sha.h" first.
89495         Include <stdlib.h>, <string.h> unconditionally.
89496
89497         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
89498         * lib/memcmp.c (__ptr_t): Likewise.
89499         * lib/memrchr.c (__ptr_t): Likewise.
89500         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
89501         Include <string.h> unconditionally.
89502         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
89503         * lib/memchr.c: Include <stdlib.h> unconditionally.
89504         * lib/memchr.c (LONG_MAX): Remove.
89505         * lib/memrchr.c (LONG_MAX): Likewise.
89506         * lib/memchr.c (__memchr): Define via a prototype.
89507         * lib/memrchr.c (__memrchr): Likewise.
89508         * lib/memcmp.c (__P): Remove, and remove all uses.
89509         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
89510         Remove forward decls; no longer needed.
89511         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
89512         Use types required by C89 in prototype.
89513
89514         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
89515         * lib/savedir.c: Likewise.
89516         * lib/mkdir.c (free): Remove decl.
89517         * lib/rmdir.c (rmdir): Define with a prototype.
89518         * lib/savedir.c: Include savedir.h first, to test interface.
89519
89520         * lib/mktime.c (STDC_HEADERS): Remove.
89521         Include <stdlib.h>, <string.h> unconditionally.
89522
89523         * lib/modechange.c: Include <stdlib.h> unconditionally.
89524         (malloc): Remove decl.
89525
89526         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
89527         (free): Remove decl.
89528
89529         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
89530         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
89531         (This type really should be intptr_t, but that's a C99ism.)
89532         (_obstack_memcpy): Remove: all uses changed to memcpy.
89533         Include <string.h> unconditionally.
89534         (struct obstack): Assume __STDC__ for types of members
89535         chunkfun, freefun, extra_arg.
89536         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
89537         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
89538         obstack_begin, obstack_specify_allocation,
89539         obstack_specify_allocation_with_arg, obstack_chunkfun,
89540         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
89541         Remove unprototyped decls and the macros that use them.
89542         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
89543         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
89544         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
89545         (defined __STDC__ && __STDC__)]:
89546         Remove nonprototyped code.
89547         Include <stdlib.h> unconditionally.
89548         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
89549         _obstack_allocated_p, _obstack_free, obstack_free,
89550         _obstack_memory_used, print_and_abort):
89551         Define using prototypes.
89552         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
89553         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
89554         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
89555         obstack_next_free, obstack_object_size, obstack_room) [0]:
89556         Remove unused, unprototyped code.
89557
89558         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
89559
89560         * lib/physmem.c (physmem_total, physmem_available, main): Define
89561         with prototypes.
89562
89563         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
89564         (main): Define with a prototype.
89565
89566         * lib/posixver.c (getenv): Remove decl.
89567
89568         * lib/putenv.c (malloc): Returns void *, not char *.
89569         Include <string.h> unconditionally.
89570         (strchr, memcpy, NULL): Do not define.
89571
89572         * lib/readtokens.c: Include readtokens.h first, to test interface.
89573         Include <stdlib.h>, <string.h> unconditionally.
89574         (init_tokenbuffer): Define with a prototype.
89575
89576         * lib/regex.c (PARAMS): Remove.  All uses removed.
89577         All uses of _RE_ARGS removed, too.
89578         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89579         unconditionally.
89580         (bzero): Assume memset exists.
89581         (memcmp, memcpy, NULL): Remove.
89582         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
89583         char, or assignments to local vars of type signed char.
89584         (init_syntax_once, PREFIX(extract_number_and_incr),
89585         PREFIX(print_partial_compiled_pattern),
89586         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
89587         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
89588         PREFIX(regex_grow_registers), PREFIX(regex_compile),
89589         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
89590         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
89591         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
89592         wcs_compile_range, byte_compile_range, truncate_wchar,
89593         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
89594         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
89595         count_mbs_length, wcs_re_match_2_internal,
89596         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
89597         PREFIX(alt_match_null_string_p),
89598         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
89599         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
89600         regfree, PREFIX(extract_number)): Define with prototype.  Remove
89601         now-unnecessary declaration, if any.
89602         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
89603         regcomp, regexec):
89604         Remove now-unnecessary casts among pointer types.
89605         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
89606
89607         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
89608         (free): Remove decl.
89609
89610         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
89611
89612         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
89613         (free): Remove decl.
89614
89615         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
89616         * lib/xgetcwd.c: Likewise.
89617
89618         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
89619         (free): Remove decl.
89620
89621         * lib/strchrnul.c (strchrnul): Define with a prototype.
89622         Fix bug: c_in was not converted to char before searching.
89623
89624         The following changes are not K&R related:
89625
89626         * lib/group-member.h: Include <sys/types.h>, so that this file is
89627         self-contained.
89628         * lib/makepath.h: Likewise.
89629
89630         * lib/getusershell.c (readname, default_index, line_size, readname):
89631         Use size_t, not int, for sizes.
89632         (readname): If the size overflows, report an error instead of
89633         looping forever.
89634
89635 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89636
89637         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
89638         libc.
89639
89640 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89641
89642         * README: New section: portability guidelines.
89643
89644 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89645
89646         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
89647         C89 spec.
89648
89649 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89650
89651         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
89652
89653 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89654
89655         Assume C89 or better; remove K&R cruft.
89656         A few of these changes were first proposed by Derek Robert Price
89657         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
89658
89659         * lib/addext.c: Include <string.h> unconditionally.
89660         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
89661         Don't declare getenv or malloc.
89662
89663         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
89664         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
89665         (NULL): Remove.
89666         (find_stack_direction, alloca): Use prototypes.
89667
89668         * lib/atexit.c (atexit): Define using a prototype.
89669
89670         * lib/basename.c, dirname.c, stripslash.c:
89671         Include <string.h> unconditionally.
89672
89673         * lib/bcopy.c: Include <stddef.h>.
89674         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
89675
89676         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
89677
89678         * lib/error.h (error, error_at_line, error_print_progname)
89679         [! (defined (__STDC__) && __STDC__)]: Remove decls.
89680         * lib/error.c: Include error.h first, to check interface.
89681         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89682         (VA_START): Remove; all uses changeed to va_start.
89683         (exit, strerror): Remove decls.
89684         (error_print_progname): Prototype uncondionally.
89685         Don't include <errno.h>; no longer needed.
89686         (private_strerror): Remove.
89687         (error_tail): Always define.
89688         (error, error_at_line): Assume C89 or better; always use prototypes.
89689         * lib/fatal.c: Include "fatal.h" first, to test interface.
89690         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89691         (VA_START): Remove; all uses changed to va_start.
89692         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
89693         this case.
89694         (exit): Remove decl.
89695         (fatal): Prototype unconditionally.  Assume va_start works.
89696         Abort at end, to pacify gcc.
89697
89698         * lib/euidaccess.c (main): Define with a prototype.
89699
89700         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
89701
89702         * lib/exitfail.c: Include <stdlib.h> unconditionally.
89703
89704         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
89705         prototypes.
89706         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
89707         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
89708         (getenv): Remove decl.
89709         (fnmatch): Define using a prototype.
89710         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
89711         (FCT): Define using a prototype.
89712
89713         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
89714
89715         * lib/gethostname.c: Include <stddef.h>.
89716         (gethostname): Define with prototype.  Length is size_t, not int.
89717
89718 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89719
89720         Assume C89 or better; remove K&R cruft.
89721         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
89722         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
89723         string.h, getenv, malloc.
89724         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
89725         headers.
89726         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
89727         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
89728         do not check for strerror.
89729         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
89730         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
89731         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
89732         do not check for doprnt or vprintf.
89733         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
89734         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
89735
89736 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89737
89738         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
89739         getversion.c should have been removed then, but was accidentally
89740         preserved.
89741
89742         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
89743         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
89744
89745 2003-09-08  Karl Berry  <karl@gnu.org>
89746
89747         * config/config.sub, config.guess, srclistvars.sh: update from savannah
89748                 config, forget about prep.
89749
89750         * config/depcomp, missing: update from automake.
89751
89752 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89753
89754         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
89755         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89756
89757 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89758
89759         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
89760         copy_tm_result.  Bug reported by Simon Josefsson in
89761         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89762
89763 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89764
89765         * m4/time_r.m4: New file.
89766         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
89767         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
89768         is. Check for timegm declaration.
89769         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
89770         Do not check for gmtime_r.
89771         Replace mktime if __mktime_internal does not exist and if mktime
89772         hasn't been replaced already.
89773
89774 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89775
89776         * lib/time_r.c, lib/time_r.h: New files.
89777
89778         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
89779         __localtime_r.
89780         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
89781         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
89782
89783         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
89784         __gmtime_r.
89785         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
89786         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
89787         Include <time_r.h>.
89788
89789         * lib/timegm.c: Switch to glibc implementation, with the following
89790         changes:
89791         [defined HAVE_CONFIG_H]: Include <config.h>.
89792         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
89793         (__mktime_internal) [!defined _LIBC]: New decl.
89794         (__gmtime_r) [!defined _LIBC]: New macro and function.
89795         (timegm): Use a prototype, since gnulib assumes C89.
89796         Do not bother declaring tmp to be const, as it's not really usefu.
89797         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
89798         (timegm): Declare only if HAVE_DECL_TIMEGM.
89799
89800 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89801
89802         * MODULES.html.sh (func_all_modules): Add time_r.
89803         * modules/time_r: New file.
89804         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
89805         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
89806
89807 2003-09-03  Paul Eggert  <eggert@twinsun.com>
89808
89809         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
89810         Bug reported by Lute Kamstra in
89811         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
89812
89813         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
89814         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
89815         course with correspondingly smaller numbers for tomorrow and
89816         yesterday.  From Tadayoshi Funaba.  Originally installed into
89817         sh-utils on 1999-08-07, but the patch got lost (I guess during the
89818         coreutils merge?).
89819
89820 2003-08-31  Simon Josefsson  <jas@extundo.com>
89821
89822         * modules/timegm: New file.
89823         * MODULES.html.sh (func_all_modules): Add timegm.
89824
89825 2003-08-31  Simon Josefsson  <jas@extundo.com>
89826
89827         * m4/timegm.m4: New file.
89828
89829 2003-08-31  Simon Josefsson  <jas@extundo.com>
89830
89831         * lib/timegm.h: New file.
89832         * lib/timegm.c: New file.  Based on
89833         wget-1.8.2/src/http.c:mktime_from_utc.
89834
89835 2003-08-31  Karl Berry  <karl@gnu.org>
89836
89837         * lib/argp.h: update from libc.
89838
89839 2003-08-28  Bruno Haible  <bruno@clisp.org>
89840
89841         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
89842         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
89843         followed by '#define fnmatch fnmatch_posix' gives an error.
89844
89845 2003-08-28  Bruno Haible  <bruno@clisp.org>
89846
89847         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
89848         warning on QNX, which defines O_BINARY to 000000.
89849
89850 2003-08-27  Jim Meyering  <jim@meyering.net>
89851
89852         * m4/mkstemp.m4: Require that the system mkstemp be able to create
89853         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
89854         would fail after 32.  Reported by Danny Levinson.  Details here:
89855         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
89856
89857 2003-08-24  Bruno Haible  <bruno@clisp.org>
89858
89859         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
89860         MSVC7 <stdio.h> is included later.
89861
89862 2003-08-22  Simon Josefsson  <jas@extundo.com>
89863
89864         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
89865
89866 2003-08-20  Karl Berry  <karl@gnu.org>
89867
89868         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
89869
89870 2003-08-20  Bruno Haible  <bruno@clisp.org>
89871
89872         * modules/progname: New file.
89873         * MODULES.html.sh (func_all_modules): Add progname.
89874
89875 2003-08-20  Bruno Haible  <bruno@clisp.org>
89876
89877         * lib/progname.h: New file, from GNU gettext.
89878         * lib/progname.c: New file, from GNU gettext.
89879         * lib/progreloc.c: New file, from GNU gettext.
89880
89881 2003-08-19  Jim Meyering  <jim@meyering.net>
89882
89883         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
89884         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
89885
89886 2003-08-19  Bruno Haible  <bruno@clisp.org>
89887
89888         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
89889         more.
89890
89891 2003-08-19  Bruno Haible  <bruno@clisp.org>
89892
89893         * lib/xstrdup.c: Assume <string.h> exists.
89894
89895 2003-08-18  Paul Eggert  <eggert@twinsun.com>
89896
89897         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
89898         in makefile rules.
89899
89900 2003-08-18  Jim Meyering  <jim@meyering.net>
89901
89902         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
89903         * m4/lib-ld.m4: Likewise.
89904
89905 2003-08-18  Jim Meyering  <jim@meyering.net>
89906
89907         * lib/setenv.h: Indent nested cpp directive.
89908         * lib/vasnprintf.c: Remove trailing blanks.
89909
89910 2003-08-17  Simon Josefsson  <jas@extundo.com>
89911
89912         * modules/xstrndup: New file.
89913         * MODULES.html.sh (func_all_modules): Add xstrndup.
89914
89915 2003-08-17  Simon Josefsson  <jas@extundo.com>
89916
89917         * modules/argp: Fix autoconf macro name. Add more dependencies.
89918
89919 2003-08-17  Simon Josefsson  <jas@extundo.com>
89920
89921         * m4/xstrndup.m4: New file.
89922
89923 2003-08-17  Simon Josefsson  <jas@extundo.com>
89924
89925         * m4/argp.m4: New file.
89926
89927 2003-08-17  Simon Josefsson  <jas@extundo.com>
89928             Bruno Haible  <bruno@clisp.org>
89929
89930         * lib/xstrndup.h: New file.
89931         * lib/xstrndup.c: New file.
89932
89933 2003-08-17  Bruno Haible  <bruno@clisp.org>
89934
89935         * modules/strndup (Files, Include): Add lib/strndup.h.
89936
89937 2003-08-17  Bruno Haible  <bruno@clisp.org>
89938
89939         * modules/euidaccess (Files): Add lib/euidaccess.h.
89940
89941 2003-08-17  Bruno Haible  <bruno@clisp.org>
89942
89943         * lib/strndup.h: New file.
89944
89945 2003-08-17  Bruno Haible  <bruno@clisp.org>
89946
89947         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
89948         like AC_GNU_SOURCE.
89949         * modules/extensions (configure.ac): Comment out the invocation of
89950         gl_USE_SYSTEM_EXTENSIONS.
89951
89952 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89953
89954         Merges from coreutils, etc.
89955         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
89956         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
89957         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
89958         fixing a typo.
89959         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
89960         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
89961
89962 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89963
89964         Document merge from coreutils.
89965         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
89966         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
89967         * modules/utime: Add m4/utimes-null.m4.
89968
89969 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89970
89971         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
89972         space, undoing this 2003-08-12 change:
89973         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89974
89975 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89976
89977         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
89978         strtoul.c from libc, undoing this 2003-08-12 change:
89979         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89980
89981 2003-08-16  Jim Meyering  <jim@meyering.net>
89982
89983         Merges from coreutils.
89984         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
89985         prefix.  Adjust cache variables similarly.  Create 500 rather than
89986         just 300 files, to exercise bug on Darwin6.5, too.
89987         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
89988         $missing_dir.
89989         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
89990         AM_SYS_POSIX_TERMIOS.
89991         Reported by mkc@mathdogs.com.
89992         Also change use of $am_cv_sys_posix_termios
89993         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
89994         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
89995         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
89996         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
89997         in /proc/mounts until it finds one with matching device number.  This
89998         is unnecessary when the FILE argument *is* a mount point.  No stat call
89999         is necessary in that case.  So, disable the statvfs-testing code on
90000         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
90001         as RedHat bug# 84846.
90002         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90003         to 1MB, so as not to render systems with no stack size limit (e.g.,
90004         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90005         Include <unistd.h>.  On some systems,
90006         it is required for the definition of _SC_PAGESIZE.
90007
90008 2003-08-16  Jim Meyering  <jim@meyering.net>
90009
90010         Merge from coreutils.
90011         * lib/xstrtoimax.c: #else #if -> #elif.
90012         * lib/xstrtoumax.c: Likewise.
90013
90014 2003-08-16  Jim Meyering  <jim@meyering.net>
90015
90016         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
90017         * m4/utimes.m4: Removed.
90018         * m4/utimes-null.m4: Renamed from utimes.m4.
90019
90020         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90021         to 1MB, so as not to render systems with no stack size limit (e.g.,
90022         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90023         Include <unistd.h>.  On some systems,
90024         it is required for the definition of _SC_PAGESIZE.
90025
90026 2003-08-16  Jim Meyering  <jim@meyering.net>
90027         and Paul Eggert  <eggert@cs.ucla.edu>
90028
90029         Merges from coreutils, etc.
90030
90031         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
90032         using the latest version from cvs.  This avoids problems with #line
90033         directives using a vendor (Sun) compiler.
90034         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
90035         Don't set GETGROUPS_LIB here; now it's
90036         done via getgroups.m4's wrapper function.
90037         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
90038         rather than just in sh-util/configure.in, so that the
90039         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
90040         same.
90041         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
90042         AC_FUNC_GETLOADAVG where to find getloadavg.c.
90043         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
90044         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
90045         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
90046         Remove code that is now done by the newly-required macros.
90047         Append $(EXEEXT) to DF_PROG.
90048         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
90049         Do not invoke or require the following here,
90050         since prereq.m4 or some gnulib .m4 now does this for us:
90051         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
90052         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
90053         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
90054         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
90055         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
90056         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
90057         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
90058         AC_FUNC_OBSTACK.
90059         Do not replace the following functions, as this is now the job
90060         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
90061         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
90062         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
90063         atexit getpass, strdup, getpagesize.
90064         Replace 'raise'.
90065         Do not check for the following functions, as this is now the job
90066         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
90067         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
90068         setregid.
90069         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
90070         Check for sys/sysctl.h.
90071         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
90072         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
90073         of checking for ssize_t ourselves.
90074
90075         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
90076         Require every macro that gnulib/modules/* suggests for us.
90077         (jm_PREREQ_ADDEXT): New macro.
90078         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
90079         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
90080
90081         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
90082         (gl_PHYSMEM): Use it.
90083         Also check for `table' function.
90084         Check for new headers and functions.
90085         Add check for sys/sysmp.h.
90086         With suggestions from Kaveh Ghazi.
90087         Ignore headers that are present but cannot be compiled.  This
90088         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
90089         C 5.4.
90090
90091 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90092
90093         Document merge from coreutils.
90094         * modules/userspec: Depend on posixver.
90095         * modules/strftime: Depend on tzset.
90096
90097 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90098
90099         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
90100         rather than tab, after '#' in shell-script copyright notices.
90101         Suggested by Bruno Haible.
90102
90103 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90104
90105         * config/srclist-update: Use three spaces, rather than tab, after '#'
90106         in shell-script copyright notices.  Suggested by Bruno Haible.
90107         Remove unnecessary parenthesization in regular expression.
90108
90109 2003-08-15  Jim Meyering  <jim@meyering.net>
90110
90111         Merge from coreutils.
90112         * lib/xgethostname.c: Include <stdlib.h>.
90113         (xghostname): Don't exit for anything other than memory-related
90114         failure; just return NULL.
90115         * lib/userspec.c: Include "posixver.h".
90116         (parse_user_spec): Accept `.' as a separator only
90117         in pre-POSIX-200112 mode.
90118         * lib/strtoimax.c: Use #elif rather than #else #if.
90119         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
90120         Remove function, now that we can rely on a working tzset function.
90121         [!_LIBC]: Ensure that the required autoconf test has been run.
90122         [!defined _NL_CURRENT && HAVE_STRFTIME]:
90123         Use underlying_strftime for %r.
90124         * lib/sha.c: Merge in some clean-up and optimization changes from
90125         glibc.
90126         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
90127         Ensure that it is a multiple of 64.
90128         Rearrange loop exit tests so as to avoid performing an
90129         additional fread after encountering an error or EOF.
90130         * lib/realloc.c: Update copyright date.
90131
90132 2003-08-15  Jim Meyering  <jim@meyering.net>
90133         and Paul Eggert  <eggert@twinsun.com>
90134
90135         Merge from coreutils.
90136         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
90137         member but strut utmpx does not.  Needed for AIX 4.3.3.
90138         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
90139
90140 2003-08-15  Jim Meyering  <jim@meyering.net>
90141         and Paul Eggert  <eggert@cs.ucla.edu>
90142
90143         Merges from coreutils, etc.
90144         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
90145         Require gl_FUNC_TZSET_CLOBBER.
90146         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
90147         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
90148         members.
90149
90150 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90151
90152         Help the merge from coreutils.
90153         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
90154         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
90155         * m4/tzset.m4: Use it too.
90156
90157 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90158
90159         * modules/tzset: New file.
90160
90161 2003-08-14  Jim Meyering  <jim@meyering.net>
90162
90163         Merges from coreutils.
90164         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
90165         variable names, rather than @FNMATCH_H@.
90166         * modules/alloca: Likewise for $(ALLOCA_H).
90167
90168         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
90169         the three copies of the literal target, `fnmatch.h'.
90170         * modules/alloca (alloca.h): Likewise.
90171
90172 2003-08-14  Jim Meyering  <jim@meyering.net>
90173
90174         Merge from coreutils.
90175         * m4/tzset.m4: New file.
90176         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
90177         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
90178         otherwise, AIX 5.1 systems would end up using the latter.
90179         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
90180         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
90181         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
90182         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
90183
90184 2003-08-14  Jim Meyering  <jim@meyering.net>
90185
90186         Merge from coreutils.
90187         * lib/obstack.h: Whitespace changes.
90188         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
90189         and xcalloc return values.
90190         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
90191         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
90192         hang on OSF/1 5.1 for DIR on both local and remote file systems.
90193         Reported by (and fix confirmed by) Nelson H. F. Beebe.
90194         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90195         error from mntctl.
90196         Use mntctl's return value to drive the entry-processing loop, since
90197         we can't rely on the value of the vmt_length member in the last
90198         entry.  On some systems doing so could result in exhausting
90199         virtual memory.  Based in part on a patch from Mike Jetzer.
90200
90201 2003-08-14  Jim Meyering  <jim@meyering.net>
90202         and Paul Eggert  <eggert@twinsun.com>
90203
90204         Merges from coreutils, plus other fixes.
90205         * lib/physmem.c: Merge in portability changes from gcc/libiberty
90206         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
90207         for credits and details.  Thanks to Kaveh Ghazi for helping
90208         to keep these files in sync.
90209         (ARRAY_SIZE): Define it.
90210         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
90211         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
90212         (memcasecmp): Don't assume size_t fits in unsigned int.
90213         Remove casts and duplicate code.
90214         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
90215         (memcpy): Remove definition.
90216         Merge in some clean-up and optimization changes from glibc.
90217         [BLOCKSIZE]: Move definition to top of file.
90218         Ensure that it is a multiple of 64.
90219         Rearrange loop exit tests so as to avoid performing an
90220         additional fread after encountering an error or EOF.
90221         * lib/md5.h (md5_uintptr): Define.
90222         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
90223         return to the initial working directory.  Preserve errno
90224         for caller.
90225         * lib/idcache.c: Include "xalloc.h".
90226         (xmalloc, xrealloc): Remove decls.
90227         (getuser): Remove casts no longer required in C89.
90228         * lib/human.c: Include stdio.h, for sprintf.
90229         * lib/group-member.c: Include "xalloc.h".
90230         (xmalloc, xrealloc): Remove decls.
90231         (get_group_info): Remove casts no longer required in C89.
90232         * lib/getusershell.c (readname): Remove casts no longer required in
90233         C89.
90234         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
90235         * lib/getline.c: Whitespace fix, from coreutils.
90236
90237 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90238
90239         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
90240         Check for isascii.
90241
90242         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90243         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90244         Undo previous (whitespace-only) change.
90245
90246 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90247
90248         * lib/exclude.c: Include <ctype.h>
90249         (IN_CTYPE_DOMAIN): New macro.
90250         (is_space): New fn.
90251         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
90252         and empty lines.
90253
90254         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90255         Undo previous (whitespace-only) change.
90256
90257 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90258
90259         * config/srclist-update: Change update back to the old behavior,
90260         leaving whitespace alone.  Use one 'sed' command rather than a
90261         pipeline.
90262         (fixlicense): Now a variable, not a function.
90263         (remove_trailing_blanks): Remove.
90264         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
90265         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90266         Undo previous (whitespace-only) change.
90267
90268 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90269
90270         Merge from coreutils.
90271         * modules/euidaccess: Add lib_SOURCES, include for new
90272         file euidaccess.h
90273
90274 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90275
90276         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90277         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90278         Normalize leading white space and remove trailing white space.
90279
90280         Merge from coreutils
90281         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
90282
90283         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
90284         0.12.1.  These files are now being upgraded automatically by
90285         ../config/srclist-update.
90286
90287 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90288
90289         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90290         Normalize leading white space and remove trailing white space.
90291         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
90292         notice, as per ../config/srclist-update.
90293
90294         Merge from coreutils.
90295         * lib/euidaccess.h: New file.
90296         * lib/euidaccess.c: Include it.
90297         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
90298         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
90299         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
90300
90301 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90302
90303         * config/srclist-update: Add copyright notice.
90304         (remove_id_lines, remove_trailing_blanks): New constants.
90305         (fixfile): Use them to normalize spacing a bit in copied files.
90306         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90307         Normalize leading white space and remove trailing white space.
90308
90309         * config/texinfo.tex: Sync with texinfo.
90310
90311         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
90312         strtoul.c from libc, to merge coreutils whitespace changes.
90313
90314         * config/srclist.txt: Get the following m4 files from gettext:
90315         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
90316         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
90317         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
90318         wint_t.m4.
90319
90320 2003-08-12  Karl Berry  <karl@gnu.org>
90321
90322         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
90323         been made.
90324
90325 2003-08-11  Paul Eggert  <eggert@twinsun.com>
90326
90327         * modules/gnu-source, m4/gnu-source.m4:
90328         Remove; we're assuming Autoconf 2.54 or later now.
90329         Suggested by Bruno Haible.
90330         * MODULES.html.sh (func_all_modules): Remove gnu-source.
90331
90332 2003-08-11  Bruno Haible  <bruno@clisp.org>
90333
90334         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
90335
90336 2003-08-11  Bruno Haible  <bruno@clisp.org>
90337
90338         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
90339         (vasnprintf): Use it instead of wcslen.
90340
90341 2003-08-11  Bruno Haible  <bruno@clisp.org>
90342
90343         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
90344         value to ensure that _Bool promotes to int. Use #define for _Bool when
90345         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
90346
90347 2003-08-10  Karl Berry  <karl@gnu.org>
90348
90349         * lib/regex.h: update from libc (whitespace fix).
90350
90351 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90352
90353         Merge some files from coreutils.  These changes were
90354         originally made by Jim Meyering.
90355         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
90356         many older Unixes require this.
90357         * lib/alloca.c (alloca): Remove cast to argument of free;
90358         no longer needed in C89.
90359         * lib/alloca_.h, regex.h: Fix white space to match
90360         what GNU indent does.
90361
90362 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90363
90364         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
90365         apparently Emacs's Unicode mode got confused before my 2003-08-05
90366         checkin.
90367
90368 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90369
90370         * m4/extensions.m4: New file.
90371         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
90372         Require gl_USE_SYSTEM_EXTENSIONS.
90373         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
90374         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
90375
90376 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90377
90378         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
90379         * modules/extensions, modules/gnu-source: New files.
90380         * modules/timespec, modules/unlocked-io: Depend on extensions.
90381
90382 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90383
90384         * modules/restrict: New file.
90385         * MODULES.html.sh (func_all_modules): Add restrict.
90386         * modules/regex: Depend on restrict.
90387
90388 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90389
90390         * m4/restrict.m4: New file.
90391         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
90392
90393 2003-08-07  Bruno Haible  <bruno@clisp.org>
90394
90395         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
90396         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
90397
90398 2003-08-07  Bruno Haible  <bruno@clisp.org>
90399
90400         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
90401         makes the module 'getndelim2' compatible with the module 'getline'.
90402
90403 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90404
90405         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
90406         byte with "\201" to avoid glitches when editing that source file
90407         with multi-gnome-terminal.
90408
90409 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90410
90411         * lib/bumpalloc.h: Remove.
90412
90413 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90414
90415         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
90416         * modules/bumpalloc: Remove.
90417
90418 2003-08-04  Paul Eggert  <eggert@twinsun.com>
90419
90420         * lib/getloadavg.c: Change copyright notice and spacing to conform to
90421         GNU coding style.
90422
90423         Merge from coreutils.
90424         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
90425         1. From glibc.
90426         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
90427         from Karl Berry, implemented by Jim Meyering.
90428         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
90429         from Dmitry V. Levin.
90430         Remove anachronistic cast of xrealloc.
90431         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
90432         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
90433         type. Otherwise, it wouldn't compile with at least /bin/cc on
90434         ymp-cray-unicos9.0.2.X.
90435         Combine two mostly-identical uses of alloca into one.
90436         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
90437
90438 2003-08-04  Dave Love  <d.love@dl.ac.uk>
90439
90440         [From Emacs.]
90441
90442         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
90443         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
90444         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
90445         obsolete NLIST_NAME_UNION.
90446         [__GNU__]: Undef BSD and FSCALE.
90447         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
90448
90449 2003-08-03  Paul Eggert  <eggert@twinsun.com>
90450
90451         * lib/stdbool_.h (_Bool): Make it signed char, instead of
90452         an enum type, so that it's guaranteed to promote to int.  See:
90453         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
90454
90455 2003-08-03  Karl Berry  <karl@gnu.org>
90456
90457         * config/depcomp: update from automake.
90458
90459 2003-07-31  Paul Eggert  <eggert@twinsun.com>
90460
90461         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
90462         (strerror): Don't assume that a printable int fits in 14 bytes.
90463
90464 2003-07-31  Bruno Haible  <bruno@clisp.org>
90465
90466         * modules/getpass-gnu: New file.
90467         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
90468
90469 2003-07-31  Bruno Haible  <bruno@clisp.org>
90470
90471         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
90472
90473 2003-07-24  Karl Berry  <karl@gnu.org>
90474
90475         * config/missing: update from automake.
90476
90477 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
90478             Bruno Haible  <bruno@clisp.org>
90479
90480         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
90481         * lib/getline.c (getline, getdelim): Likewise.
90482         Remove _GNU_SOURCE define; now it's defined in config.h through
90483         m4/getline.m4.
90484
90485 2003-07-23  Karl Berry  <karl@gnu.org>
90486
90487         * config/config.sub: update from prep.
90488
90489 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90490
90491         * modules/xalloc (Depends-on): Add exitfail.
90492         * modules/xmemcoll: Likewise.
90493
90494 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90495
90496         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
90497         over-parenthesization in macros.
90498
90499         Sync with coreutils.
90500
90501         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
90502         required by C99.
90503
90504         Use `exit_failure' for xalloc and xmemcoll instead of their own
90505         private exit-failure variables.
90506         * lib/xalloc.h (xalloc_exit_failure): Remove.
90507         * lib/xmalloc.c: Likewise.  Include exitfail.h.
90508         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
90509         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
90510         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
90511         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
90512
90513 2003-07-20  Jim Meyering  <jim@meyering.net>
90514
90515         * modules/closeout (Depends-on): Add exitfail.
90516         Suggestion from Bruno Haible.
90517
90518 2003-07-19  Karl Berry  <karl@gnu.org>
90519
90520         * config/config.sub: update from prep.
90521
90522 2003-07-18  Paul Eggert  <eggert@twinsun.com>
90523
90524         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
90525         Remove.
90526         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
90527         to test that it can stand by itself.  Include "exitfail.h".
90528         Clients should set exit_failure instead.
90529         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
90530
90531 2003-07-18  Bruno Haible  <bruno@clisp.org>
90532
90533         * modules/getndelim2: New file.
90534         * modules/getline: Share files with module getndelim2.
90535         * modules/getnline: Depend on getndelim2 instead of sharing files with
90536         it. Add getnline.c to lib_SOURCES.
90537         * MODULES.html.sh (func_all_modules): Add getndelim2.
90538
90539 2003-07-18  Bruno Haible  <bruno@clisp.org>
90540
90541         * m4/getndelim2.m4: New file.
90542         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
90543         invoke gl_PREREQ_GETNDELIM2.
90544         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
90545         gl_PREREQ_GETNDELIM2.
90546         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
90547         gl_GETNDELIM2.
90548
90549 2003-07-18  Bruno Haible  <bruno@clisp.org>
90550
90551         * lib/getndelim2.h: New file.
90552         * lib/getndelim2.c: Make into a module of its own. Include config.h,
90553         getndelim2.h.
90554         (getndelim2): Make non-static. Change return type to ssize_t.
90555         * lib/getline.h: Change argument names.
90556         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
90557         * lib/getnline.c: Include getndelim2.h.
90558
90559 2003-07-18  Andreas Schwab  <schwab@suse.de>
90560
90561         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
90562
90563 2003-07-17  Karl Berry  <karl@gnu.org>
90564
90565         * config/config.sub: update from prep.
90566
90567 2003-07-17  Bruno Haible  <bruno@clisp.org>
90568
90569         * modules/getnline: New file.
90570         * modules/getline: Add lib/getndelim2.c to source file list.
90571         * MODULES.html.sh (func_all_modules): Add getnline.
90572
90573 2003-07-17  Bruno Haible  <bruno@clisp.org>
90574
90575         * m4/getnline.m4: New file.
90576
90577 2003-07-17  Bruno Haible  <bruno@clisp.org>
90578
90579         * m4/Makefile.am.in: Remove file.
90580         * m4/Makefile.am: Remove file.
90581         * m4/Makefile.in: Remove file.
90582
90583 2003-07-17  Bruno Haible  <bruno@clisp.org>
90584
90585         * lib/getnline.h: New file.
90586         * lib/getnline.c: New file.
90587         * lib/getndelim2.c: New file, extracted from getline.c.
90588         (getndelim2): Renamed from getdelim2, with added nmax argument.
90589         * lib/getline.c: Include getndelim2.c.
90590         (getdelim2): Moved out to getndelim2.c.
90591         (getline, getdelim): Update.
90592
90593 2003-07-17  Bruno Haible  <bruno@clisp.org>
90594
90595         * lib/Makefile.am: Remove file.
90596         * lib/Makefile.in: Remove file.
90597
90598 2003-07-17  Bruno Haible  <bruno@clisp.org>
90599
90600         * configure.in: Remove file.
90601         * Makefile.in: Remove file.
90602
90603 2003-07-17  Bruno Haible  <bruno@clisp.org>
90604
90605         * MODULES.html.sh: Put the </BODY> right before </HTML>.
90606
90607 2003-07-16  Karl Berry  <karl@gnu.org>
90608
90609         * config/srclist-update: was running fixlicense twice, which caused
90610                 texinfo.tex to be nullified for some reason.  Simplify,
90611                 $gplsrc is no longer needed as far as I can see?
90612
90613 2003-07-16  Jim Meyering  <jim@meyering.net>
90614
90615         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
90616
90617 2003-07-15  Paul Eggert  <eggert@twinsun.com>
90618
90619         * config/srclist.txt: Get the following files from gettext-runtime/intl
90620         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
90621         ref-del.sin.  From Bruno Haible.
90622         * config/srclist-update (fixfile): Change grep pattern again, since the
90623         previous fix didn't work (there was another trailing $).  Use
90624         '[$]' to escape the $s.
90625
90626 2003-07-15  Karl Berry  <karl@gnu.org>
90627
90628         * lib/vasnprintf.c: update from gettext.
90629
90630 2003-07-15  Karl Berry  <karl@gnu.org>
90631
90632         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
90633         gets expanded when surrounded by '$'.
90634
90635 2003-07-15  Jim Meyering  <jim@meyering.net>
90636
90637         * modules/save-cwd: Don't depend on error.  From Derek Price.
90638
90639 2003-07-15  Jim Meyering  <jim@meyering.net>
90640
90641         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
90642
90643 2003-07-14  Simon Josefsson  <jas@extundo.com>
90644
90645         * modules/mempcpy: New file.
90646         * MODULES.html.sh (func_all_modules): Add mempcpy.
90647
90648 2003-07-14  Simon Josefsson  <jas@extundo.com>
90649
90650         * m4/mempcpy.m4: New file.
90651
90652 2003-07-14  Simon Josefsson  <jas@extundo.com>
90653
90654         * lib/mempcpy.h: New file.
90655         * lib/mempcpy.c: New file.
90656
90657 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90658
90659         * modules/getdate, modules/posixtm: Depend on mktime.
90660
90661 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90662
90663         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
90664         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
90665         unicodeio.c, unicodeio.h, unlocked-io.h:
90666         Switch from LGPL to GPL.
90667
90668 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90669
90670         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
90671         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
90672         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
90673         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
90674         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
90675         updated automatically by ../config/srclist-update.  This changes
90676         their license from LPGL to GPL.
90677
90678 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90679
90680         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
90681         assumed to refer to the root of the most recent stable gettext version.
90682         * config/srclistvars.sh: Add defaults for eggert.
90683         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
90684         Match "This program" as well as "The program".  This is needed
90685         for gettext.
90686
90687 2003-07-14  Jim Meyering  <jim@meyering.net>
90688
90689         Don't emit diagnostics.  Let callers do that.
90690         * lib/save-cwd.c: Don't include "error.h".
90691         (save_cwd): Don't call error.  Ensure that errno is valid
90692         when returning nonzero.
90693
90694         * lib/save-cwd.h (restore_cwd): Update prototype.
90695         * lib/save-cwd.c (restore_cwd): Remove two parameters.
90696         Simplify.  Don't call error upon failure.  Let callers do that.
90697         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
90698         when auditing is enabled.  But don't bother updating the #if.
90699
90700 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
90701
90702         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
90703         it breaks C++ compilation.
90704         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
90705
90706 2003-07-10  Simon Josefsson  <jas@extundo.com>
90707
90708         * modules/strchrnul (Makefile.am): Add strchrnul.h.
90709
90710 2003-07-10  Jim Meyering  <jim@meyering.net>
90711
90712         * m4/clock_time.m4: Remove trailing blank.
90713         * m4/intmax_t.m4: Likewise.
90714
90715 2003-07-10  Jim Meyering  <jim@meyering.net>
90716
90717         * lib/vasnprintf.c: Remove trailing blanks.
90718         Make cpp indentation consistent.
90719
90720 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90721
90722         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
90723         posixver.c, strftime.c, strnlen.c, strverscmp.c:
90724         Switch from LGPL to GPL.
90725
90726 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90727
90728         * config/srclist.txt: Sort sublists.  Add
90729         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
90730         that differ from gnulib for one reason or another; we'd like this list
90731         to be smaller but for now let's document what we have.
90732
90733 2003-07-08  Paul Eggert  <eggert@twinsun.com>
90734
90735         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
90736         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
90737         and sweeter "eval x=$x".
90738         * config/srclist.txt: Get lib/argp* from glibc.
90739
90740 2003-07-07  Paul Eggert  <eggert@twinsun.com>
90741
90742         * lib/mktime.c: Fix some boundary cases and remove need for floating
90743         point.
90744
90745         Issue a compile-time diagnostic if time_t is floating point, or if
90746         two's complement arithmetic is not in effect, or if arithmetic
90747         right shift does not propagate the sign.  These assumptions were
90748         all in the original code but they weren't checked.
90749
90750         (TIME_T_MIDPOINT, verify): New macros.
90751         (__isleap): Remove; it has integer overflow problems.
90752         (leapyear): New function, without those problems.
90753         (ydhms_tm_diff): Remove; splitting into two parts.
90754         (ydhms_diff): New function, containing the arithmetic part of
90755         the old ydhms_tm_diff function.  Issue a compile-time
90756         diagnostic if we are not using C99 integer division.
90757         Avoid casts when possible.
90758         (guess_time_tm): New function, containing the checking part of
90759         the old ydhms_tm_diff function.  Return the new value, rather than
90760         the difference between it and the old.  Accept a new argument T
90761         so that *T specifies the old value.  Check for overflow in the result.
90762
90763         (__mktime_internal): Use a time_t offset, not a long int offset.
90764         This undoes the 2003-06-04 change, which is no longer needed now
90765         that we have better overflow checking.
90766         (localtime_offset): Likewise.
90767
90768         (__mktime_internal): Avoid harmful overflow on hosts where time_t
90769         and long are 64-bit but int is only 32-bit.
90770         (ydhms_diff): Use long int to store year1 and yday1.
90771         Issue a compile-time diagnostic if long int is not wide enough.
90772
90773         (__mktime_internal): Use long int to store adjusted year and yday.
90774         Use plain C rather than preprocessor commands, if that doesn't
90775         affect efficiency.
90776         Check for overflow (and try to repair) after each probe
90777         rather than checking only at the very end.  This avoids some bugs
90778         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
90779         does not equal GMT offset at maximum time).
90780         Use integer to check for overflow rather than floating point; this
90781         is more portable to non-IEEE hosts, and is a tad faster.
90782         When we detect that we are oscillating between two values,
90783         don't check whether tm_isdst has the requested value, since
90784         we already know the answer.  When tm_isdst has the wrong value,
90785         use a different heuristic to find the right one, based on the
90786         extreme values actually observed in practice in tz2003a,
90787         rather than the (overly optimistic) "previous 3 calendar quarters".
90788
90789         (not_equal_tm, print_tm, check_result): Use "const T" rather than
90790         "T const" to accommodate glibc style.
90791         (check_result): Use less-confusing report format.  "long" -> "long int.
90792         (main): Likewise.
90793         Don't loop if the iteration overflows time_t.
90794         Allow a negative step in the iteration.
90795
90796 2003-07-06  Karl Berry  <karl@gnu.org>
90797
90798         * config/depcomp: update from automake.
90799         * config/config.sub: update from prep.
90800
90801 2003-07-03  Karl Berry  <karl@gnu.org>
90802
90803         * config/config.guess: update from prep.
90804
90805 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90806
90807         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
90808         xreadlink.c now includes it unconditionally.
90809
90810 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90811
90812         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
90813         having it depend on HAVE_SYS_TYPES_H.
90814
90815 2003-07-01  Bruno Haible  <bruno@clisp.org>
90816
90817         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
90818         <sys/types.h> should be sufficient.
90819         Reported by Paul Eggert.
90820
90821 2003-06-26  Karl Berry  <karl@gnu.org>
90822
90823         * config/depcomp: update from automake.
90824
90825 2003-06-26  Bruno Haible  <bruno@clisp.org>
90826
90827         * modules/human: Depend on module stdbool.
90828
90829 2003-06-25  Bruno Haible  <bruno@clisp.org>
90830
90831         * modules/readlink: New file.
90832         * modules/xreadlink: Depend on it.
90833         * MODULES.html.sh (func_all_modules): Add readlink.
90834
90835 2003-06-25  Bruno Haible  <bruno@clisp.org>
90836
90837         * m4/readlink.m4: New file.
90838
90839 2003-06-25  Bruno Haible  <bruno@clisp.org>
90840
90841         * lib/readlink.c: New file.
90842
90843 2003-06-22  Karl Berry  <karl@gnu.org>
90844
90845         * config/srclist.txt: update mkinstalldirs from automake.
90846         * config/mkinstalldirs: update.
90847
90848 2003-06-22  Bruno Haible  <bruno@clisp.org>
90849
90850         Portability to mingw32.
90851         * m4/ssize_t.m4: New file, from GNU gettext.
90852         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
90853         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
90854
90855 2003-06-22  Bruno Haible  <bruno@clisp.org>
90856
90857         * modules/safe-read: Add m4/ssize_t.m4.
90858         * modules/xreadlink: Add m4/ssize_t.m4.
90859
90860 2003-06-20  Bruno Haible  <bruno@clisp.org>
90861
90862         Assume C89, so PARAMS isn't needed.
90863         * lib/unicodeio.h (PARAMS): Remove.
90864         * lib/unicodeio.c: Don't use PARAMS.
90865
90866 2003-06-18  Karl Berry  <karl@gnu.org>
90867
90868         * config/config.{guess,sub}: update from prep.
90869
90870 2003-06-18  Jim Meyering  <jim@meyering.net>
90871
90872         Merge changes from coreutils.
90873         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
90874         Remove explicit declarations of xmalloc and realloc.
90875         Include xalloc.h.
90876         (read_utmp): Remove anachronistic cast of xmalloc.
90877
90878 2003-06-17  Paul Eggert  <eggert@twinsun.com>
90879
90880         Assume C89, so PARAMS isn't needed.
90881         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
90882         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
90883         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
90884         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
90885         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
90886         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
90887         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
90888         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
90889         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
90890         lib/xstrtod.h, lib/xstrtol.h: Likewise.
90891         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
90892         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
90893         no longer needed. Anyway, config.h should always be included before any
90894         other file.
90895
90896 2003-06-11  Simon Josefsson  <jas@extundo.com>
90897
90898         * modules/sysexits: New file.
90899         * MODULES.html.sh (func_all_modules): Add sysexits.
90900
90901 2003-06-11  Simon Josefsson  <jas@extundo.com>
90902
90903         * lib/sysexit_.h: New file.
90904
90905 2003-06-11  Derek Price  <derek@ximbiot.com>
90906
90907         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
90908         necessary.
90909
90910 2003-06-11  Bruno Haible  <bruno@clisp.org>
90911
90912         * m4/sysexits.m4: New file.
90913
90914 2003-06-10  Simon Josefsson  <jas@extundo.com>
90915
90916         * lib/argp.h: New file, from glibc.
90917         * lib/argp-ba.c: New file, from glibc.
90918         * lib/argp-eexst.c: New file, from glibc.
90919         * lib/argp-fmtstream.c: New file, from glibc.
90920         * lib/argp-fmtstream.h: New file, from glibc.
90921         * lib/argp-fs-xinl.c: New file, from glibc.
90922         * lib/argp-help.c: New file, from glibc.
90923         * lib/argp-namefrob.h: New file, from glibc.
90924         * lib/argp-parse.c: New file, from glibc.
90925         * lib/argp-pv.c: New file, from glibc.
90926         * lib/argp-pvh.c: New file, from glibc.
90927         * lib/argp-xinl.c: New file, from glibc.
90928
90929 2003-06-10  Simon Josefsson  <jas@extundo.com>
90930
90931         * modules/strchrnul: New file.
90932
90933 2003-06-10  Simon Josefsson  <jas@extundo.com>
90934
90935         * modules/argp: New file.
90936
90937 2003-06-10  Simon Josefsson  <jas@extundo.com>
90938
90939         * m4/strchrnul.m4: New file.
90940
90941 2003-06-10  Simon Josefsson  <jas@extundo.com>
90942
90943         * lib/strchrnul.h: New file.
90944         * lib/strchrnul.c: New file.
90945
90946 2003-06-10  Bruno Haible  <bruno@clisp.org>
90947
90948         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
90949
90950 2003-06-07  Karl Berry  <karl@gnu.org>
90951
90952         * config/config.{guess,sub}: update from prep.
90953
90954 2003-06-07  Jim Meyering  <jim@meyering.net>
90955
90956         * modules/strtod: Use $(...) notation, not @...@ for
90957         AC_REPLACE'd variables.
90958         * modules/localcharset: Likewise.
90959
90960 2003-06-07  Jim Meyering  <jim@meyering.net>
90961
90962         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
90963         in place of my name in the copyright comment.
90964         Remove definition and uses of __P.
90965
90966         From coreutils.
90967         * lib/stat.c: Don't declare xmalloc explicitly.
90968         Instead, include "xalloc.h".
90969         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
90970         xrealloc, and xcalloc return values.
90971         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
90972         Improve comment.
90973         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
90974
90975 2003-06-07  Bruno Haible  <bruno@clisp.org>
90976
90977         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
90978         avoid AC_CONFIG_LINKS.
90979         * modules/fnmatch (Makefile.am): Use explicit creation rule for
90980         fnmatch.h, to avoid AC_CONFIG_LINKS.
90981         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
90982
90983 2003-06-07  Bruno Haible  <bruno@clisp.org>
90984
90985         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
90986         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
90987         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90988         directory.
90989         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
90990         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90991         directory.
90992
90993 2003-06-06  Jim Meyering  <jim@meyering.net>
90994
90995         Merge from coreutils.
90996         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
90997         Consolidate declarations and initializations of *_base* locals.
90998
90999         Merge from coreutils.
91000         This avoids a core dump on systems without GNU putenv,
91001         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
91002         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
91003         (unsetenv): New static function, from GNU libc.
91004         (rpl_putenv): Use it.
91005
91006         * lib/modechange.c: Remove trailing blanks.
91007
91008         Merge from coreutils.
91009         * lib/fsusage.c: Remove declaration of statfs.
91010         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
91011
91012         * lib/posixtm.c: Include <stdbool.h> unconditionally.
91013
91014 2003-06-06  Jim Meyering  <jim@meyering.net>
91015
91016         * lib/stdbool_.h: Renamed from stdbool.h.in.
91017
91018 2003-06-06  Jim Meyering  <jim@meyering.net>
91019             Bruno Haible  <bruno@clisp.org>
91020
91021         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
91022         Adjust Makefile.am snippet not to redirect directly to target.
91023         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
91024
91025 2003-06-05  Paul Eggert  <eggert@twinsun.com>
91026
91027         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
91028         mismatch, look in future quarters as well as past.  This fixes a
91029         bug when processing fall-backwards gaps immediately after a long
91030         period of daylight-saving time.
91031
91032         * lib/mktime.c: Assume freestanding C89 or better.
91033         (HAVE_LIMITS_H): Remove.  Assume it's 1.
91034         (__P): Remove; not used.
91035         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
91036         (mktime, not_equal_tm, print_tm, check_result,
91037         main): Use prototypes.  Use const * where appropriate.
91038         (main): Fix typo in testing code that uncovered by above changes.
91039         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
91040
91041 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91042
91043         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
91044         locale.h, localeconv.  This merges changes from coreutils.
91045
91046         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
91047         It can be removed after the next Autoconf is released.
91048         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
91049         needed.
91050
91051 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91052
91053         * lib/mktime.c: Fix Debian bug 177940
91054         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
91055         (localtime_offset): Now long int, not time_t, because we want it
91056         to be guaranteed to be signed.  All uses changed.
91057         (__mktime_internal): If overflow would occur when adding offset,
91058         don't add it.
91059
91060         Merge 'human' changes from coreutils.  Rewrite to support
91061         locale-specific notations like thousands separators.
91062         * lib/human.c: Simplify authorship notice.
91063         Include human.h immediately after config.h.
91064         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
91065         <limits.h>: Do not include, since human.h does.
91066         (SIZE_MAX, UINTMAX_MAX): New macros.
91067         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
91068         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
91069         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
91070         (power_letter): Renamed from suffixes.
91071         (generate_suffix_backwards): Remove.
91072         (adjust_value): Now takes int style (because of human.h changes)
91073         and long double value (for greater precision on some platforms).
91074         (group_number): New function.
91075         (human_readable): Use it.  Use integer options, not enum.
91076         Put the options before the sizes in the arg list.
91077         Support all the new options.
91078         The old human_readable function has been removed;
91079         use inttostr.h instead.
91080         (human_readable, default_block_size, humblock):
91081         Use uintmax_t, not int, for block sizes.
91082         (human_readable_inexact, block_size_types): Remove.
91083         (block_size_opts): New constant.
91084         (human_options): Renamed from human_block_size, with new signature
91085         that allows block sizes up to UINTMAX_MAX.  All callers changed.
91086         * lib/human.h: Add copyright and authorship notice.
91087         Include <limits.h> and <stdbool.h> unconditionally.
91088         (PARAMS): Remove.  All uses removed.
91089         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
91090         (enum human_inexact_style): Remove tag; now a nameless enum.
91091         (human_floor, human_ceiling, human_round_to_even): Now have
91092         values 2, 0, 1 rather than -1, 1, 0.
91093         (human_group_digits, human_suppress_point_zero, human_autoscale,
91094         human_base_1024, human_SI, human_B): New constants.
91095         (human_readable_inexact, human_block_size): Remove.
91096         (human_readable): Size args are now uintmax_t, not int.
91097         (human_options): New decl.
91098
91099         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
91100         unnecessary now that we assume C89 or better.  This change
91101         imported from coreutils.
91102
91103         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91104         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
91105         in the 2003-05-30 sync from glibc.
91106
91107         .h files should stand alone, but we shouldn't include <sys/types.h>
91108         if we can get away with just <stddef.h>.
91109
91110         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
91111         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
91112         rather than <sys/types.h>, as we merely need size_t.
91113         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
91114         to get size_t.
91115         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
91116         Include <stdio.h>, to get FILE.
91117         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
91118         memcasecmp.h has included <stddef.h> and all we need is size_t.
91119         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
91120         our interface, instead of including <sys/types.h>
91121
91122 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91123
91124         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
91125         now, as glibc mktime is buggy on non-glibc systems.
91126
91127 2003-06-03  Karl Berry  <karl@gnu.org>
91128
91129         * config/config.sub: update from prep.
91130
91131 2003-06-02  Paul Eggert  <eggert@twinsun.com>
91132
91133         [from coreutils]
91134         Fix some minor time-related bugs with POSIX time arguments.
91135         Some valid time stamps were being rejected (notably -1, and
91136         time stamps before 1900 on 64-bit hosts).  And some invalid
91137         time stamps were being accepted, e.g. September 31.
91138
91139         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
91140         that we can return (time_t) -1 successfully.
91141         * lib/posixtm.c: Likewise.
91142         [HAVE_STDBOOL_H]: Include <stdbool.h>.
91143         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
91144         (t): Remove static var.
91145         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
91146         of static var.  All uses changed.
91147         (year): Do not reject years before 1900; they can occur with
91148         64-bit time_t.
91149         (posix_time_parse): Do not check for out-of-range components;
91150         that is now the caller's responsibility, since our checks were
91151         only approximations.
91152         (posixtime): Use mktime to check for out-of-range components,
91153         since it knows them exactly.
91154         If mktime returns (time_t) -1, check whether an error actually occurred
91155         by invoking localtime on -1.
91156         (main) [TEST_POSIXTIME]: Check for input data errors, and report
91157         posixtime failures better.
91158         Improve the test data (in comments only).
91159
91160 2003-06-02  Karl Berry  <karl@gnu.org>
91161
91162         * config/mkinstalldirs (version): new variable.
91163         (--version): new option.
91164         (usage): improve message.
91165
91166 2003-05-30  Karl Berry  <karl@gnu.org>
91167
91168         * lib/mktime.c: update from libc.
91169
91170 2003-05-30  Bruno Haible  <bruno@clisp.org>
91171
91172         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
91173         * config/config.rpath: Upgrade to gettext-0.12.1.
91174
91175 2003-05-30  Bruno Haible  <bruno@clisp.org>
91176
91177         * m4/gettext.m4: Upgrade to gettext-0.12.1.
91178         * m4/nls.m4: New file, from gettext-0.12.1.
91179         * m4/po.m4: New file, from gettext-0.12.1.
91180         * m4/progtest.m4: Upgrade to gettext-0.12.1.
91181
91182 2003-05-30  Bruno Haible  <bruno@clisp.org>
91183
91184         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
91185         * lib/localcharset.h: Likewise.
91186         * lib/localcharset.c: Likewise.
91187
91188 2003-05-29  Karl Berry  <karl@gnu.org>
91189
91190         * config/config.rpath: update from gettext.
91191
91192 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91193
91194         Assume the headers required for C89 freestanding compilers.
91195         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
91196         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
91197         * m4/human.m4 (gl_HUMAN): Likewise.
91198         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
91199         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
91200         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91201         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
91202         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91203         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
91204
91205 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91206
91207         Assume the headers required for C89 freestanding compilers.
91208         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
91209         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
91210         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
91211         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
91212         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
91213         define, since <limits.h> is guaranteed to do that.
91214         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
91215         * lib/exclude.c: Include <stdbool.h> unconditionally.
91216         * lib/tempname.c: Include <stddef.h> unconditionally.
91217         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
91218         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
91219         <stddef.h> does that.
91220         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
91221         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
91222         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
91223         needed.
91224         * lib/xstrtol.c: Likewise.
91225         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
91226         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
91227
91228         * lib/addext.c (addext): Use assignment rather than cast, to avoid
91229         warnings on some platforms.
91230
91231         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91232         arbitrarily.
91233
91234 2003-05-26  Jim Meyering  <jim@meyering.net>
91235
91236         Merge in a change from coreutils:
91237         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
91238         that is guaranteed to be `no'.  Use `no_such_member' to indicate
91239         that condition, rather than `-1' which is slightly misleading.
91240         Change the name of the cache variable to have the gl_ prefix.
91241         Prompted by a patch from Richard Dawe for DJGPP.
91242
91243 2003-05-24  Karl Berry  <karl@gnu.org>
91244
91245         * config/config.guess: update from prep.
91246
91247 2003-05-22  Karl Berry  <karl@gnu.org>
91248
91249         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
91250
91251 2003-05-20  Karl Berry  <karl@gnu.org>
91252
91253         * config/config.guess: update from prep.
91254
91255 2003-05-18  Karl Berry  <karl@gnu.org>
91256
91257         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
91258         might actually be set by the user.
91259
91260         * config/depcomp, install-sh, mdate-sh: update from automake.
91261
91262 2003-05-17  Bruno Haible  <bruno@clisp.org>
91263
91264         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
91265         invalid expansion for AC_EGREP_CPP.
91266         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
91267         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
91268         Suggested by Akim Demaille <akim@epita.fr> in
91269         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
91270
91271 2003-05-12  Jim Meyering  <jim@meyering.net>
91272
91273         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
91274         the space-padded-by-default conversion specifiers, %e, %k, %l.
91275
91276 2003-05-12  Bruno Haible  <bruno@clisp.org>
91277
91278         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
91279         the string is longer than 4 KB.
91280
91281 2003-05-11  Karl Berry  <karl@gnu.org>
91282
91283         * config/config.{guess,sub}: update from prep.
91284
91285 2003-05-09  Bruno Haible  <bruno@clisp.org>
91286
91287         * modules/error: Add m4/strerror_r.m4 to file list.
91288
91289 2003-05-03  Bruno Haible  <bruno@clisp.org>
91290
91291         Upgrade to Unicode-4.0.
91292         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
91293         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
91294         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
91295         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
91296         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
91297         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
91298         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
91299         Change width of U+E0100..U+E01EF from 1 to 0.
91300
91301 2003-04-25  Jim Meyering  <jim@meyering.net>
91302
91303         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
91304         of type size_t, not int.
91305
91306 2003-04-25  Bruno Haible  <bruno@clisp.org>
91307
91308         * lib/copy-file.c: Include <stddef.h>, for size_t.
91309
91310 2003-04-21  Paul Eggert  <eggert@twinsun.com>
91311
91312         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
91313         code which expansion is under static control.  Patch imported from
91314         Akim Demaille's patch to Bison; see
91315         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
91316
91317 2003-04-14  Bruno Haible  <bruno@clisp.org>
91318
91319         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
91320
91321 2003-04-11  Jim Meyering  <jim@meyering.net>
91322
91323         Merge changes from Coreutils.
91324
91325         2003-03-22  Jim Meyering  <jim@meyering.net>
91326
91327         * lib/strftime.c (widen): Cast alloca return value to proper type.
91328
91329         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
91330
91331         From GNU libc.
91332         * lib/strftime.c (my_strftime): Handle very large width
91333         specifications for numeric values correctly.  Improve checks for
91334         overflow.
91335
91336         2003-01-19  Jim Meyering  <jim@meyering.net>
91337
91338         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
91339         definitions.
91340         (nl_get_alt_digit) [! defined my_strftime]: Define.
91341         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
91342         _nl_get_alt_digit and _nl_get_walt_digit.
91343
91344         * lib/strftime.c (my_strftime): Merge in locale-related changes from
91345         libc. These changes have no effect outside of _LIBC.
91346
91347 2003-04-10  Bruno Haible  <bruno@clisp.org>
91348
91349         * modules/findprog: New file.
91350         * MODULES.html.sh (func_all_modules): Add it.
91351
91352 2003-04-10  Bruno Haible  <bruno@clisp.org>
91353
91354         * m4/findprog.m4: New file.
91355         * m4/eaccess.m4: New file.
91356
91357 2003-04-10  Bruno Haible  <bruno@clisp.org>
91358
91359         * lib/findprog.h: New file, from GNU gettext.
91360         * lib/findprog.c: New file, from GNU gettext.
91361
91362 2003-04-05  Jim Meyering  <jim@meyering.net>
91363
91364         Merge changes from Coreutils.
91365
91366         * lib/exclude.h (PARAMS): Remove definition and uses.
91367         * lib/exclude.c: Remove uses of `PARAMS'.
91368
91369         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
91370         Add test-cases for DOS filenames. Declare program_name.
91371         (main): Set up program_name.  Patch by Rich Dawe.
91372
91373         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91374         error from mntctl.
91375         Use mntctl's return value to drive the entry-processing loop, since
91376         we can't rely on the value of the vmt_length member in the last
91377         entry.  On some systems doing so could result in exhausting
91378         virtual memory.  Based in part on a patch from Mike Jetzer.
91379
91380 2003-04-04  Bruno Haible  <bruno@clisp.org>
91381
91382         * modules/linebreak: New file.
91383         * MODULES.html.sh (func_all_modules): Add it.
91384
91385 2003-04-04  Bruno Haible  <bruno@clisp.org>
91386
91387         * m4/linebreak.m4: New file.
91388
91389 2003-04-04  Bruno Haible  <bruno@clisp.org>
91390
91391         * lib/linebreak.h: New file, from GNU gettext.
91392         * lib/linebreak.c: New file, from GNU gettext with slight
91393         modifications.
91394         * lib/lbrkprop.h: New file, from GNU gettext.
91395
91396 2003-04-03  Bruno Haible  <bruno@clisp.org>
91397
91398         * modules/utf8-ucs4: New file.
91399         * modules/utf16-ucs4: New file.
91400         * modules/ucs4-utf8: New file.
91401         * modules/ucs4-utf16: New file.
91402         * MODULES.html.sh (func_all_modules): Add them.
91403
91404 2003-04-03  Bruno Haible  <bruno@clisp.org>
91405
91406         * m4/utf-ucs4.m4: New file.
91407         * m4/ucs4-utf.m4: New file.
91408
91409 2003-04-03  Bruno Haible  <bruno@clisp.org>
91410
91411         * lib/utf8-ucs4.h: New file, from GNU gettext.
91412         * lib/utf16-ucs4.h: New file, from GNU gettext.
91413         * lib/ucs4-utf8.h: New file, from GNU gettext.
91414         * lib/ucs4-utf16.h: New file, from GNU gettext.
91415
91416 2003-04-02  Bruno Haible  <bruno@clisp.org>
91417
91418         * modules/binary-io: New file.
91419         * MODULES.html.sh (func_all_modules): Add it.
91420
91421 2003-04-02  Bruno Haible  <bruno@clisp.org>
91422
91423         * lib/binary-io.h: New file, from GNU gettext.
91424
91425 2003-04-01  Bruno Haible  <bruno@clisp.org>
91426
91427         * modules/pathname: New file.
91428         * MODULES.html.sh (func_all_modules): Add it.
91429
91430 2003-04-01  Bruno Haible  <bruno@clisp.org>
91431
91432         * lib/pathname.h: New file, from GNU gettext.
91433         * lib/concatpath.c: New file, from GNU gettext.
91434
91435 2003-03-30  Bruno Haible  <bruno@clisp.org>
91436
91437         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
91438
91439 2003-03-30  Bruno Haible  <bruno@clisp.org>
91440
91441         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
91442         function chown() doesn't exist.
91443
91444 2003-03-28  Bruno Haible  <bruno@clisp.org>
91445
91446         * modules/copy-file: New file.
91447         * MODULES.html.sh (func_all_modules): Add it.
91448
91449 2003-03-28  Bruno Haible  <bruno@clisp.org>
91450
91451         * m4/copy-file.m4: New file.
91452
91453 2003-03-28  Bruno Haible  <bruno@clisp.org>
91454
91455         * lib/copy-file.h: New file, from GNU gettext.
91456         * lib/copy-file.c: New file, from GNU gettext.
91457
91458 2003-03-18  Jim Meyering  <jim@meyering.net>
91459
91460         * lib/quote.c (quote_n): Fix typo in comment.
91461
91462 2003-03-18  Bruno Haible  <bruno@clisp.org>
91463
91464         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
91465         checking.
91466         * m4/onceonly_2_57.m4: Likewise.
91467
91468 2003-03-17  Bruno Haible  <bruno@clisp.org>
91469
91470         * m4/onceonly.m4: Require autoconf 2.54 or newer.
91471         (m4_quote): Remove macro.
91472         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
91473
91474 2003-03-14  Jim Meyering  <jim@meyering.net>
91475
91476         Merge changes from Coreutils.
91477         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
91478         to be const, in order to avoid warnings.
91479         (obstack_room): Likewise.
91480         (obstack_empty_p): Likewise.
91481
91482 2003-03-14  Bruno Haible  <bruno@clisp.org>
91483
91484         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
91485         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
91486
91487 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91488
91489         Merge changes from Bison.
91490         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
91491         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
91492         when compiling Bison 1.875's `bitset bset = obstack_alloc
91493         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
91494         * lib/hash.c: Include <stdbool.h> unconditionally.
91495
91496 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91497
91498         * m4/onceonly.m4 (m4_quote): New macro.
91499         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
91500         Quote AC_FOREACH variable-expansions properly.
91501
91502 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91503
91504         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
91505
91506 2003-03-09  Paul Eggert  <eggert@twinsun.com>
91507
91508         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
91509         Reported by Bruce Becker; see:
91510         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
91511
91512 2003-03-03  Paul Eggert  <eggert@twinsun.com>
91513             Bruno Haible  <bruno@clisp.org>
91514
91515         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
91516         Reported by John Hughes, see
91517         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
91518
91519 2003-02-20  Bruno Haible  <bruno@clisp.org>
91520
91521         * MODULES.html.sh (func_all_modules): Add poll.
91522
91523 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91524
91525         * modules/poll: New file.
91526
91527 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91528
91529         * lib/poll_.h: New file.
91530         * lib/poll.c: New file.
91531
91532 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91533
91534         * m4/poll.m4: New file.
91535
91536 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91537
91538         * modules/mathl: New file.
91539
91540 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91541
91542         * lib/mathl.h: New file.
91543         * lib/acosl.c: New file.
91544         * lib/asinl.c: New file.
91545         * lib/atanl.c: New file.
91546         * lib/ceill.c: New file.
91547         * lib/cosl.c: New file.
91548         * lib/expl.c: New file.
91549         * lib/floorl.c: New file.
91550         * lib/frexpl.c: New file.
91551         * lib/ldexpl.c: New file.
91552         * lib/logl.c: New file.
91553         * lib/sincosl.c: New file.
91554         * lib/sinl.c: New file.
91555         * lib/sqrtl.c: New file.
91556         * lib/tanl.c: New file.
91557         * lib/trigl.c: New file.
91558         * lib/trigl.h: New file.
91559
91560 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91561
91562         * m4/mathl.m4: New file.
91563
91564 2003-02-18  Bruno Haible  <bruno@clisp.org>
91565
91566         * MODULES.html.sh (func_all_modules): Add mathl.
91567
91568 2003-02-17  Bruno Haible  <bruno@clisp.org>
91569
91570         * modules/mkdtemp: New module.
91571         * MODULES.html.sh (func_all_modules): Add it.
91572
91573 2003-02-17  Bruno Haible  <bruno@clisp.org>
91574
91575         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
91576
91577 2003-02-17  Bruno Haible  <bruno@clisp.org>
91578
91579         * lib/mkdtemp.h: New file, from GNU gettext.
91580         * lib/mkdtemp.c: New file, from GNU gettext.
91581
91582 2003-02-02  Jim Meyering  <jim@meyering.net>
91583
91584         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
91585         e.g. glibc-2.2.93.
91586
91587 2003-01-31  Bruno Haible  <bruno@clisp.org>
91588
91589         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
91590         'rpl_rename'.
91591         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
91592         'rpl_strnlen'.
91593         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
91594         'rpl_strtod'.
91595         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
91596         'rpl_utime'.
91597
91598 2003-01-31  Bruno Haible  <bruno@clisp.org>
91599
91600         * lib/rename.c: #undef rename before defining rpl_rename.
91601         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
91602
91603 2003-01-30  Bruno Haible  <bruno@clisp.org>
91604
91605         * modules/vasnprintf, modules/vasprintf: New modules.
91606         * MODULES.html.sh (func_all_modules): Add them.
91607
91608 2003-01-30  Bruno Haible  <bruno@clisp.org>
91609
91610         * m4/signed.m4: New file, from GNU gettext.
91611         * m4/longdouble.m4: New file, from GNU gettext.
91612         * m4/wchar_t.m4: New file, from GNU gettext.
91613         * m4/wint_t.m4: New file, from GNU gettext.
91614         * m4/vasnprintf.m4: New file.
91615         * m4/vasprintf.m4: New file.
91616
91617 2003-01-30  Bruno Haible  <bruno@clisp.org>
91618
91619         * lib/printf-args.h: New file, from GNU gettext.
91620         * lib/printf-args.c: New file, from GNU gettext.
91621         * lib/printf-parse.h: New file, from GNU gettext.
91622         * lib/printf-parse.c: New file, from GNU gettext.
91623         * lib/vasnprintf.h: New file, from GNU gettext.
91624         * lib/vasnprintf.c: New file, from GNU gettext.
91625         * lib/asnprintf.c: New file, from GNU gettext.
91626         * lib/vasprintf.h: New file, from GNU gettext with modifications.
91627         * lib/vasprintf.c: New file, from GNU gettext.
91628         * lib/asprintf.c: New file, from GNU gettext.
91629
91630 2003-01-29  Bruno Haible  <bruno@clisp.org>
91631
91632         * modules/stpncpy: New module.
91633         * MODULES.html.sh (func_all_modules): Add it.
91634
91635 2003-01-29  Bruno Haible  <bruno@clisp.org>
91636
91637         * m4/stpncpy.m4: New file.
91638
91639 2003-01-29  Bruno Haible  <bruno@clisp.org>
91640
91641         * lib/stpncpy.h: New file, from GNU gettext with modifications.
91642         * lib/stpncpy.c: New file, from GNU gettext with modifications.
91643
91644 2003-01-28  Bruno Haible  <bruno@clisp.org>
91645
91646         * modules/c-ctype: New module.
91647         * MODULES.html.sh (func_all_modules): Add it.
91648
91649 2003-01-28  Bruno Haible  <bruno@clisp.org>
91650
91651         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
91652         Paul Eggert.
91653         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
91654         Paul Eggert.
91655
91656 2003-01-27  Bruno Haible  <bruno@clisp.org>
91657
91658         * modules/xsetenv: New module.
91659         * MODULES.html.sh (func_all_modules): Add it.
91660
91661 2003-01-27  Bruno Haible  <bruno@clisp.org>
91662
91663         * lib/xsetenv.h: New file, from GNU gettext.
91664         * lib/xsetenv.c: New file, from GNU gettext.
91665
91666 2003-01-23  Jim Meyering  <jim@meyering.net>
91667
91668         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
91669         from working on systems without dirfd (at least Irix and OSF1/Tru64).
91670
91671 2003-01-23  Bruno Haible  <bruno@clisp.org>
91672
91673         * modules/minmax: New module.
91674         * MODULES.html.sh (func_all_modules): Add it.
91675
91676 2003-01-23  Bruno Haible  <bruno@clisp.org>
91677
91678         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
91679         Eggert.
91680
91681 2003-01-22  Bruno Haible  <bruno@clisp.org>
91682
91683         * modules/exit: New module.
91684         * MODULES.html.sh (func_all_modules): Add it.
91685
91686 2003-01-22  Bruno Haible  <bruno@clisp.org>
91687
91688         * lib/exit.h: New file, from GNU gettext.
91689
91690 2003-01-19  Bruno Haible  <bruno@clisp.org>
91691
91692         * gnulib-tool: Recognize option --extract-maintainer.
91693         (func_get_maintainer): New function.
91694         * modules/*: Add Maintainer entry.
91695
91696 2003-01-16  Jim Meyering  <jim@meyering.net>
91697
91698         * m4/regex.m4: The `regex' struct is both input and output.
91699         Initialize it before each use.  Patch by Tim Waugh.
91700
91701 2003-01-16  Bruno Haible  <bruno@clisp.org>
91702
91703         * MODULES.html.sh: Add a table of contents. Add the module name as
91704         leftmost column. Add hyperlinks.
91705
91706 2003-01-15  Bruno Haible  <bruno@clisp.org>
91707
91708         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
91709
91710 2003-01-15  Bruno Haible  <bruno@clisp.org>
91711
91712         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
91713         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
91714         suffix.
91715
91716 2003-01-15  Bruno Haible  <bruno@clisp.org>
91717
91718         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
91719
91720 2003-01-15  Bruno Haible  <bruno@clisp.org>
91721
91722         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
91723         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
91724
91725 2003-01-14  Jim Meyering  <jim@meyering.net>
91726
91727         * lib/same.c (same_name): Tweak a comment.
91728
91729 2003-01-14  Bruno Haible  <bruno@clisp.org>
91730
91731         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
91732         when a string comparison is sufficient.
91733
91734 2003-01-14  Bruno Haible  <bruno@clisp.org>
91735
91736         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
91737         'unsigned int'.
91738
91739 2003-01-14  Bruno Haible  <bruno@clisp.org>
91740
91741         * lib/hash-pjw.c: Add comment about low quality of this function.
91742
91743 2003-01-13  Bruno Haible  <bruno@clisp.org>
91744
91745         * modules/stpcpy: Distribute lib/stpcpy.h.
91746         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
91747
91748 2003-01-13  Bruno Haible  <bruno@clisp.org>
91749
91750         * modules/*: Add a description.
91751         * modules/strpbrk: Fix Makefile.am snippet.
91752         * modules/strtoimax: Fix dependencies.
91753         * modules/strtoumax: Likewise.
91754
91755 2003-01-13  Bruno Haible  <bruno@clisp.org>
91756
91757         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
91758         * modules/alloca (Makefile.am): All object files depend on alloca.h.
91759         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
91760
91761 2003-01-13  Bruno Haible  <bruno@clisp.org>
91762
91763         * gnulib-tool (func_create_testdir): Store config/* files in the main
91764         directory.
91765         * config.rpath: Move to ...
91766         * config/config.rpath: ... here.
91767         * modules/gettext: Contains config/config.rpath, not config.rpath.
91768         * modules/iconv: Likewise.
91769
91770 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91771
91772         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91773         to avoid collisions with libcurses and libreadline.
91774
91775         * m4/getstr.m4: Remove.
91776         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
91777
91778 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91779
91780         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91781         to avoid collisions with libcurses and libreadline.
91782
91783         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
91784         * lib/getstr.h, getstr.c: Remove.
91785         * lib/getline.c: Include "getline.h", to check interface.
91786         Move body of old getstr.c here: this defines MIN_CHUNK and
91787         declares getdelim2, which is renamed from getstr.
91788         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
91789
91790         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
91791         All uses changed.
91792         * lib/linebuffer.h: Likewise.
91793         (readline): Remove backward-compatibility macro.
91794
91795 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91796
91797         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91798         to avoid collisions with libcurses and libreadline.
91799         * getstr: Remove.
91800         * MODULES.html.sh: Remove getstr.
91801         * modules/getline: Depend on unlocked-io, not getstr.
91802
91803 2003-01-12  Jim Meyering  <jim@meyering.net>
91804
91805         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
91806
91807 2003-01-10  Bruno Haible  <bruno@clisp.org>
91808
91809         * modules/alloca: Change Makefile.am requirements. Simplify Include
91810         requirements. Add lib/alloca_.h to file list.
91811
91812 2003-01-10  Bruno Haible  <bruno@clisp.org>
91813
91814         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
91815
91816 2003-01-10  Bruno Haible  <bruno@clisp.org>
91817
91818         * lib/alloca_.h: New file.
91819         * lib/getdate.y: Unconditionally include alloca.h.
91820         * lib/makepath.c: Likewise.
91821         * lib/setenv.c: Likewise.
91822         * lib/userspec.c: Likewise.
91823
91824 2003-01-09  Karl Berry  <karl@gnu.org>
91825
91826         * MODULES.html.sh: include `dirname $0` in PATH, to find
91827         gnulib-tool.
91828
91829 2003-01-09  Bruno Haible  <bruno@clisp.org>
91830
91831         * modules/stdbool: Change configure.ac, Makefile.am requirements.
91832         Simplify Include requirements. Add lib/stdbool.h.in to file list.
91833
91834 2003-01-09  Bruno Haible  <bruno@clisp.org>
91835
91836         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
91837
91838 2003-01-09  Bruno Haible  <bruno@clisp.org>
91839
91840         * lib/stdbool.h.in: New file.
91841
91842 2003-01-09  Bruno Haible  <bruno@clisp.org>
91843
91844         * gnulib-tool (func_all_modules): Ignore files ending in ~.
91845         * MODULES.html.sh: Likewise.
91846
91847 2003-01-08  Jim Meyering  <jim@meyering.net>
91848
91849         * lib/full-write.c: Undefine and define-away `const' after inclusion
91850         of errno.h, not before.  Suggestion from Bruno Haible.
91851
91852 2003-01-08  Bruno Haible  <bruno@clisp.org>
91853
91854         * modules/full-read: Depend on full-write.
91855
91856 2003-01-08  Bruno Haible  <bruno@clisp.org>
91857
91858         * lib/safe-read.c: Include specification header first, to ensure its
91859         selfcontainedness.
91860         * lib/full-write.c: Likewise.
91861
91862 2003-01-07  Jim Meyering  <jim@meyering.net>
91863
91864         * lib/full-write.c: Rework so that it may serve to define full_read,
91865         too.
91866         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
91867
91868 2003-01-07  Bruno Haible  <bruno@clisp.org>
91869
91870         * lib/strtoimax.c: Include <stdint.h> as an alternative to
91871         <inttypes.h>.
91872         * lib/xstrtol.h: Likewise.
91873         * lib/xstrtoimax.c: Likewise.
91874         * lib/xstrtoumax.c: Likewise.
91875         * lib/human.h: Likewise.
91876
91877         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
91878         on systems that have <inttypes.h> but not <stdint.h>.
91879
91880 2003-01-07  Bruno Haible  <bruno@clisp.org>
91881
91882         * MODULES.html.sh: Add copyright notice.
91883         (missed_files): Omit CVS directory entries.
91884         (func_module): Make it work with sed-3.02.
91885         * MODULES.txt: Remove file.
91886
91887 2003-01-06  Jim Meyering  <jim@meyering.net>
91888
91889         * lib/version-etc.c: Update year in translatable copyright string.
91890
91891 2003-01-03  Karl Berry  <karl@gnu.org>
91892
91893         * config/config.{guess,sub}: update from prep.
91894
91895 2003-01-02  Karl Berry  <karl@gnu.org>
91896
91897         * doc/COPYING.DOC: belatedly updated to 1.2.
91898
91899 2003-01-01  Karl Berry  <karl@gnu.org>
91900
91901         * gnulib-tool (func_verify_module): report module name $module in
91902         error message, not $1.
91903         * gnulib-tool (create-testdir): don't complain if destdir couldn't
91904         be created, only if it doesn't exist.
91905         * gnulib-tool (last_checkin_date): don't expand the $Date here.
91906
91907 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91908
91909         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
91910
91911 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91912
91913         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
91914         memcmp if strcoll doesn't work.
91915
91916 2002-12-31  Bruno Haible  <bruno@clisp.org>
91917
91918         * lib/utime.c (utime_null): No need to call ftruncate if the file was
91919         nonempty.
91920
91921 2002-12-31  Bruno Haible  <bruno@clisp.org>
91922
91923         * lib/memcoll.c (STRCOLL): New macro.
91924         (memcoll): Use it.
91925
91926 2002-12-31  Bruno Haible  <bruno@clisp.org>
91927
91928         * lib/localcharset.h: New file.
91929         * lib/localcharset.c: Include it.
91930         * lib/unicodeio.c: Likewise.
91931
91932 2002-12-31  Bruno Haible  <bruno@clisp.org>
91933
91934         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
91935         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
91936
91937 2002-12-31  Bruno Haible  <bruno@clisp.org>
91938
91939         * lib/getline.h: Include <stddef.h>, for size_t.
91940
91941         * lib/unicodeio.h: Include <stddef.h>, for size_t.
91942         * lib/unicodeio.c: Don't include <stddef.h>.
91943
91944 2002-12-31  Bruno Haible  <bruno@clisp.org>
91945
91946         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
91947         HAVE_TM_ZONE.
91948
91949 2002-12-24  Karl Berry  <karl@gnu.org>
91950
91951         * config/config.guess: update from prep.
91952
91953 2002-12-24  Bruno Haible  <bruno@clisp.org>
91954
91955         General infrasructure.
91956         * m4/README: Rewritten.
91957         * m4/onceonly.m4: New file.
91958         * m4/onceonly_2_57.m4: New file.
91959
91960         Module atexit.
91961         * m4/atexit.m4: New file.
91962
91963         Module strtod.
91964         * m4/strtod.m4: New file.
91965
91966         Module strtol.
91967         * m4/strtol.m4: New file.
91968
91969         Module strtoul.
91970         * m4/strtoul.m4: New file.
91971
91972         Module memchr.
91973         * m4/memchr.m4: New file.
91974
91975         Module memcmp.
91976         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
91977         (jm_FUNC_MEMCMP): Invoke it.
91978
91979         Module memcpy.
91980         * m4/memcpy.m4: New file.
91981
91982         Module memmove.
91983         * m4/memmove.m4: New file.
91984
91985         Module memset.
91986         * m4/memset.m4: New file.
91987
91988         Module strcspn.
91989         * m4/strcspn.m4: New file.
91990
91991         Module strpbrk.
91992         * m4/strpbrk.m4: New file.
91993
91994         Module strstr.
91995         * m4/strstr.m4: New file.
91996
91997         Module strerror.
91998         * m4/strerror.m4: New file.
91999
92000         Module mktime.
92001         * m4/mktime.m4: Renamed from jm-mktime.m4.
92002         (gl_PREREQ_MKTIME): New macro.
92003         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
92004
92005         Module malloc.
92006         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
92007         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
92008         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
92009
92010         Module realloc.
92011         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
92012         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
92013         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
92014
92015         Module strftime.
92016         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
92017         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
92018         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
92019         gl_TM_GMTOFF.
92020         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
92021
92022         Module xalloc.
92023         * m4/xalloc.m4: New file.
92024
92025         Module alloca.
92026         * m4/alloca.m4: New file.
92027
92028         Module putenv.
92029         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
92030         (jm_FUNC_PUTENV): Invoke it.
92031
92032         Module setenv.
92033         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
92034         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
92035         when invoked twice.
92036         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
92037         gt_FUNC_SETENV.
92038
92039         Module memrchr.
92040         * m4/memrchr.m4: New file.
92041
92042         Module stpcpy.
92043         * m4/stpcpy.m4: New file.
92044
92045         Module strcase.
92046         * m4/strcase.m4: New file.
92047
92048         Module strdup.
92049         * m4/strdup.m4: New file.
92050
92051         Module strnlen.
92052         * m4/strnlen.m4: New file.
92053
92054         Module strndup.
92055         * m4/strndup.m4: New file.
92056
92057         Module xstrtod.
92058         * m4/xstrtod.m4: New file.
92059
92060         Module xstrtol.
92061         * m4/xstrtol.m4: New file.
92062
92063         Module getdate.
92064         * m4/getdate.m4: New file.
92065
92066         Module unlocked-io.
92067         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
92068         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
92069         * m4/jm-glibc-io.m4n: Remove file.
92070
92071         Module long-options.
92072         * m4/long-options.m4: New file.
92073
92074         Module md5.
92075         * m4/md5.m4: New file.
92076
92077         Module sha.
92078         * m4/sha.m4: New file.
92079
92080         Module getstr.
92081         * m4/getstr.m4: New file.
92082
92083         Module getline.
92084         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
92085         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
92086         <sys/types.h>, for size_t. Use the function name gnu_getline, not
92087         simply getline. Infoke gl_PREREQ_GETLINE.
92088
92089         Module obstack.
92090         * m4/obstack.m4: New file.
92091
92092         Module hash.
92093         * m4/hash.m4: New file.
92094
92095         Module readtokens.
92096         * m4/readtokens.m4: New file.
92097
92098         Module strverscmp.
92099         * m4/strverscmp.m4: New file.
92100
92101         Module stdbool.
92102         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
92103         OSF/1.
92104
92105         Module strtoll.
92106         * m4/strtoll.m4: New file.
92107
92108         Module strtoull.
92109         * m4/strtoull.m4: New file.
92110
92111         Module strtoimax.
92112         * m4/strtoimax.m4: New file.
92113
92114         Module strtoumax.
92115         * m4/strtoumax.m4: New file.
92116
92117         Module xstrtoimax.
92118         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
92119         jm_AC_PREREQ_XSTRTOIMAX.
92120         Moved the strtol prerequisites to strtol.m4.
92121         Moved the strtoll prerequisites to strtoll.m4.
92122         Moved the strtoimax prerequisites to strtoimax.m4.
92123
92124         Module xstrtoumax.
92125         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
92126         jm_AC_PREREQ_XSTRTOUMAX.
92127         Moved the strtoul prerequisites to strtoul.m4.
92128         Moved the strtoull prerequisites to strtoull.m4.
92129         Moved the strtoumax prerequisites to strtoumax.m4.
92130
92131         Module chown.
92132         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
92133         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
92134
92135         Module dup2.
92136         * m4/dup2.m4: New file.
92137
92138         Module ftruncate.
92139         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
92140         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
92141
92142         Module getgroups.
92143         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
92144         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
92145
92146         Module gettimeofday.
92147         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
92148         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
92149         gl_PREREQ_GETTIMEOFDAY.
92150
92151         Module mkdir.
92152         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
92153         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
92154
92155         Module mkstemp.
92156         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
92157         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
92158         jm_AC_TYPE_UINTMAX_T.
92159         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
92160
92161         Module stat.
92162         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
92163         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
92164
92165         Module lstat.
92166         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
92167         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
92168
92169         Module timespec.
92170         * m4/timespec.m4 (gl_TIMESPEC): New macro.
92171         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
92172         * m4/st_mtim.m4: Indentation.
92173
92174         Module nanosleep.
92175         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
92176         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
92177         gl_PREREQ_NANOSLEEP.
92178
92179         Module regex.
92180         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
92181         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
92182         (gl_REGEX): New macro.
92183
92184         Module rename.
92185         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
92186         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
92187
92188         Module rmdir.
92189         * m4/rmdir.m4: New file.
92190
92191         Module utime.
92192         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
92193         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
92194         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
92195
92196         Module dirname.
92197         * m4/dirname.m4: New file.
92198
92199         Module getopt.
92200         * m4/getopt.m4: New file.
92201
92202         Module unistd-safer.
92203         * m4/unistd-safer.m4: New file.
92204
92205         Module fnmatch.
92206         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
92207         declaration.
92208         (gl_PREREQ_FNMATCH_EXTRA): New macro.
92209         (gl_FUNC_FNMATCH_POSIX): New macro.
92210         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
92211         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
92212         simply fnmatch.
92213
92214         Module exclude.
92215         * m4/exclude.m4: New file.
92216
92217         Module human.
92218         * m4/human.m4: New file.
92219
92220         Module acl.
92221         * m4/acl.m4: Nop.
92222
92223         Module backupfile.
92224         * m4/backupfile.m4: New file.
92225         * m4/d-ino.m4: Indentation.
92226
92227         Module fsusage.
92228         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
92229         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
92230         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
92231
92232         Module dirfd.
92233         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
92234         requirements.
92235
92236         Module euidaccess.
92237         * m4/euidaccess.m4: New file.
92238
92239         Module file-type.
92240         * m4/file-type.m4: New file.
92241
92242         Module fileblocks.
92243         * m4/fileblocks.m4: New file.
92244
92245         Module filemode.
92246         * m4/filemode.m4: New file.
92247
92248         Module isdir.
92249         * m4/isdir.m4: New file.
92250
92251         Module lchown.
92252         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
92253         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
92254
92255         Module makepath.
92256         * m4/makepath.m4: New file.
92257
92258         Module modechange.
92259         * m4/modechange.m4: New file.
92260
92261         Module mountlist.
92262         * m4/mountlist.m4: New file.
92263         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
92264         Indentation.
92265
92266         Module path-concat.
92267         * m4/path-concat.m4: New file.
92268
92269         Module pathmax.
92270         * m4/pathmax.m4: New file.
92271
92272         Module same.
92273         * m4/same.m4: New file.
92274
92275         Module save-cwd.
92276         * m4/save-cwd.m4: New file.
92277
92278         Module savedir.
92279         * m4/savedir.m4: New file.
92280
92281         Module xgetcwd.
92282         * m4/xgetcwd.m4: New file.
92283         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
92284
92285         Module xreadlink.
92286         * m4/xreadlink.m4: New file.
92287
92288         Module safe-read.
92289         * m4/safe-read.m4: New file.
92290
92291         Module safe-write.
92292         * m4/safe-write.m4: New file.
92293
92294         Module closeout.
92295         * m4/closeout.m4: New file.
92296
92297         Module stdio-safer.
92298         * m4/stdio-safer.m4: New file.
92299
92300         Module getpass.
92301         * m4/getpass.m4: New file.
92302
92303         Module getugroups.
92304         * m4/getugroups.m4: New file.
92305
92306         Module group-member.
92307         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
92308         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
92309
92310         Module idcache.
92311         * m4/idcache.m4: New file.
92312
92313         Module userspec.
92314         * m4/userspec.m4: New file.
92315
92316         Module gettime.
92317         * m4/clock_time.m4: New file.
92318         * m4/gettime.m4: New file.
92319
92320         Module settime.
92321         * m4/settime.m4: New file.
92322
92323         Module posixtm.
92324         * m4/posixtm.m4: New file.
92325
92326         Module gethostname.
92327         * m4/gethostname.m4: New file.
92328
92329         Module canon-host.
92330         * m4/canon-host.m4: New file.
92331
92332         Module gettext.
92333         * m4/codeset.m4: New file, from gettext-0.11.5.
92334         * m4/gettext.m4: New file, from gettext-0.11.5.
92335         * m4/glibc21.m4: New file, from gettext-0.11.5.
92336         * m4/iconv.m4: New file, from gettext-0.11.5.
92337         * m4/intdiv0.m4: New file, from gettext-0.11.5.
92338         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
92339         * m4/inttypes.m4: New file, from gettext-0.11.5.
92340         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
92341         * m4/isc-posix.m4: New file, from gettext-0.11.5.
92342         * m4/lcmessage.m4: New file, from gettext-0.11.5.
92343         * m4/lib-ld.m4: New file, from gettext-0.11.5.
92344         * m4/lib-link.m4: New file, from gettext-0.11.5.
92345         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
92346         * m4/progtest.m4: New file, from gettext-0.11.5.
92347         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
92348         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
92349         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
92350
92351         Module localcharset.
92352         * m4/localcharset.m4: New file.
92353
92354         Module hard-locale.
92355         * m4/hard-locale.m4: New file.
92356
92357         Module mbswidth.
92358         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
92359         onceonly macros.
92360         * m4/mbrtowc.m4: Add comment.
92361
92362         Module memcasecmp.
92363         * m4/memcasecmp.m4: New file.
92364
92365         Module memcoll.
92366         * m4/memcoll.m4: New file.
92367
92368         Module unicodeio.
92369         * m4/unicodeio.m4: New file.
92370
92371         Module rpmatch.
92372         * m4/rpmatch.m4: New file.
92373
92374         Module yesno.
92375         * m4/yesno.m4: New file.
92376
92377         Module exitfail.
92378         * m4/exitfail.m4: New file.
92379
92380         Module c-stack.
92381         * m4/c-stack.m4 (gl_C_STACK): New macro.
92382         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
92383
92384         Module error.
92385         * m4/error.m4 (gl_ERROR): New macro.
92386         (jm_PREREQ_ERROR): Use onceonly macros.
92387
92388         Module fatal.
92389         * m4/fatal.m4: New file.
92390
92391         Module getloadavg.
92392         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
92393         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
92394
92395         Module getpagesize.
92396         * m4/getpagesize.m4: New file.
92397
92398         Module getusershell.
92399         * m4/getusershell.m4: New file.
92400
92401         Module physmem.
92402         * m4/physmem.m4: New file.
92403
92404         Module posixver.
92405         * m4/posixver.m4: New file.
92406
92407         Module quotearg.
92408         * m4/quotearg.m4: New file.
92409
92410         Module quote.
92411         * m4/quote.m4: New file.
92412
92413         Module readutmp.
92414         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
92415
92416         Module sig2str.
92417         * m4/sig2str.m4: New file.
92418
92419         Other.
92420         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
92421         ulonglong.m4.
92422         * m4/intmax_t.m4: New file.
92423         * m4/d-type.m4: Indentation.
92424         * m4/jm-macros.m4: Update.
92425         * m4/prereq.m4 (jm_PREREQ): Update.
92426         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
92427         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
92428         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
92429         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
92430         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
92431         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
92432         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
92433         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
92434         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
92435         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
92436         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
92437         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
92438         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
92439         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
92440         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
92441         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
92442         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
92443         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
92444         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
92445
92446 2002-12-24  Bruno Haible  <bruno@clisp.org>
92447
92448         * MODULES.txt: Update according to m4/ changes.
92449
92450         Module gettext.
92451         * config.rpath: New file, from gettext-0.11.5.
92452
92453         * modules/*: New module descriptions.
92454         * gnulib-tool: New file.
92455         * MODULES.html.sh: New file.
92456
92457 2002-12-21  Karl Berry  <karl@gnu.org>
92458
92459         * doc/fdl.texi: update to version 1.2.
92460
92461 2002-12-19  Karl Berry  <karl@gnu.org>
92462
92463         * config/config.guess: update from prep.
92464
92465 2002-12-18  Bruno Haible  <bruno@clisp.org>
92466
92467         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
92468         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
92469
92470 2002-12-17  Bruno Haible  <bruno@clisp.org>
92471
92472         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
92473         stdlib.h, string.h.
92474
92475 2002-12-17  Bruno Haible  <bruno@clisp.org>
92476
92477         * lib/canon-host.c (strdup): Remove unused declaration.
92478
92479         * lib/fsusage.c: Include full_read.h.
92480         (get_fs_usage): Use full_read instead of safe_read.
92481
92482         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
92483
92484 2002-12-12  Karl Berry  <karl@gnu.org>
92485
92486         * config/config.guess: update from prep.
92487
92488 2002-12-11  Bruno Haible  <bruno@clisp.org>
92489
92490         * m4/setenv.m4: New file, from gettext-0.11.5.
92491
92492 2002-12-11  Bruno Haible  <bruno@clisp.org>
92493
92494         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
92495         not unsetenv().
92496         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
92497         modifications:
92498
92499         2002-12-11  Bruno Haible  <bruno@clisp.org>
92500
92501                 * setenv.c (alloca): Fall back to malloc.
92502                 (freea): New macro.
92503                 (setenv): Use freea() to free memory allocated with alloca().
92504
92505         2002-11-13  Bruno Haible  <bruno@clisp.org>
92506
92507                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
92508                 function declarations.
92509                 * unsetenv.c (unsetenv): Likewise.
92510
92511         2002-03-04  Bruno Haible  <bruno@clisp.org>
92512
92513                 Portability to AIX 4.3.3.
92514                 * unsetenv.c: New file, extracted from setenv.c.
92515                 * setenv.c: Move the unsetenv() function to unsetenv.c.
92516
92517         2001-12-20  Bruno Haible  <bruno@clisp.org>
92518
92519                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
92520                 use malloc instead. For SunOS 4.
92521
92522         2001-12-11  Bruno Haible  <bruno@clisp.org>
92523
92524                 * setenv.c: Declare alloca.
92525                 (compar_fn_t): New typedef.
92526                 (KNOWN_VALUE, STORE_VALUE): Use it.
92527
92528         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
92529         setenv.h.
92530
92531 2002-12-10  Paul Eggert  <eggert@twinsun.com>
92532
92533         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
92534         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
92535         Choose values that are less likely to collide with system fnmatch
92536         options.
92537         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
92538         defined (e.g., a pure POSIX system).
92539         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
92540         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
92541
92542 2002-12-06  Paul Eggert  <eggert@twinsun.com>
92543
92544         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
92545         a pain in practice to deal with generated m4 files.  This change
92546         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
92547
92548         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
92549         and jm-glibc-io.m4, as they are no longer a special case.
92550         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
92551         kludge and the auto-generation stuff.  Check only whether the
92552         functions are declared, not whether they exist, since older hosts
92553         that don't declare the functions can't use the optimization anyway.
92554
92555 2002-12-06  Jim Meyering  <jim@meyering.net>
92556
92557         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
92558
92559         Merge in changes from libc's misc/error.c, in preparation
92560         for the merge of gnulib's changes back into libc.
92561
92562         * lib/error.c (_): Define only if not already defined.
92563         Move definition to follow all #include directives.
92564         Include unlocked-io.h only if !_LIBC.
92565         [_LIBC]: Include <libio/libioP.h>.
92566         [USE_IN_LIBIO]: Include <libio/iolibio.h>
92567         (fflush): Tweak definition to use INTUSE.
92568         (putc): Define.
92569
92570 2002-12-05  Paul Eggert  <eggert@twinsun.com>
92571
92572         * lib/alloca.c [defined emacs]: Include "lisp.h".
92573         (xalloc_die) [defined emacs]: New macro.
92574         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
92575         [! defined emacs]: Include <xalloc.h>.
92576         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
92577         (pointer): Typedef to POINTER_TYPE *.
92578         (malloc): Remove decl; we now always use xmalloc.
92579         (alloca): Use old-style definition, since Emacs needs this.
92580         Check for arithmetic overflow when computing combined size.
92581
92582 2002-12-04  Paul Eggert  <eggert@twinsun.com>
92583
92584         Do not generate unlocked-io.h automatically, since it's easier to
92585         maintain it by hand.
92586
92587         * lib/unlocked-io.h: New file, from GNU diffutils,
92588         but with proper copyright notice and attribution.
92589         * lib/gen-uio: Remove.
92590         * lib/Makefile.am: Add copyright notice.
92591         (libfetish_a_SOURCES): Add unlocked-io.h.
92592         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
92593         (DISTCLEANFILES, io_functions): Remove macros.
92594         (EXTRA_DIST): Remove gen_uio.
92595         (unlocked-io.h): Remove rule.
92596
92597 2002-12-04  Jim Meyering  <jim@meyering.net>
92598
92599         Reflect the fact that stat.c and lstat.c are no longer generated.
92600         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
92601         (DISTCLEANFILES): Likewise.
92602         (EXTRA_DIST): Likewise.
92603         (all_local): Don't depend on stat.c or lstat.c.
92604         (stat.c, lstat.c): Remove rules.
92605         (EXTRA_DIST): Remove xstat.in.
92606
92607         * lib/xstat.in: Remove file.  Contents moved into stat.c.
92608         * lib/stat.c: New file.  Contents mostly from xstat.in.
92609         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
92610         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
92611
92612         * lib/safe-read.c: Rework so that it may serve to define safe_write,
92613         too.
92614         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
92615
92616 2002-12-03  Jim Meyering  <jim@meyering.net>
92617
92618         * lib/safe-read.c, safe-write.c: Change variable names and comments,
92619         but not semantics, to minimize the differences between these two files.
92620         (safe_read): Change comment to mention SAFE_READ_ERROR.
92621
92622         * lib/safe-read.c (IS_EINTR): Define.
92623         (safe_read): Use IS_EINTR in place of in-function cpp directives.
92624
92625 2002-12-02  Jim Meyering  <jim@meyering.net>
92626
92627         * lib/safe-read.c (EINTR): Define.
92628         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92629         (INT_MAX): Provide fallback.
92630         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
92631
92632         * lib/safe-read.h (SAFE_READ_ERROR): Define.
92633
92634 2002-12-02  Bruno Haible  <bruno@clisp.org>
92635
92636         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
92637         Define, taken from safe-read.c.
92638         (INT_MAX): Provide fallback.
92639         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
92640         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
92641
92642         * lib/safe-read.c (EINTR): Remove definition.
92643         (safe_read): Don't use EINTR if it is absent.
92644
92645 2002-12-01  Jim Meyering  <jim@meyering.net>
92646
92647         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
92648         zero.
92649         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
92650
92651 2002-11-27  Paul Eggert  <eggert@twinsun.com>
92652
92653         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
92654         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
92655         with `if (! (value < limit)) abort ();', for readability.
92656
92657 2002-11-26  Karl Berry  <karl@gnu.org>
92658
92659         * lib/strdup.c: copy from libc again, with jim's ok.
92660         * lib/.cppi-disable: re-add strdup.c
92661
92662 2002-11-25  Karl Berry  <karl@gnu.org>
92663
92664         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
92665         instead of "strtol.c".
92666
92667 2002-11-25  Karl Berry  <karl@gnu.org>
92668
92669         * config/install-sh: update from automake for variable quoting, $0 in
92670         error msgs, etc.
92671
92672         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
92673         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
92674         entry.
92675
92676 2002-11-25  Jim Meyering  <jim@meyering.net>
92677
92678         * lib/mktime.c: Sync from libc, now that it has the latest fix.
92679
92680 2002-11-24  Karl Berry  <karl@gnu.org>
92681
92682         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
92683         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
92684
92685 2002-11-24  Jim Meyering  <jim@meyering.net>
92686
92687         Update from coreutils:
92688
92689         * lib/mktime.c: Merge in changes from libc.
92690
92691         Avoid a link-time failure on some Linux systems.
92692         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
92693         (otherwise).
92694         (__mon_yday): Declare with the STATIC attribute.
92695         (__mktime_internal): Likewise.
92696         Based on a report from Greg Schafer.
92697
92698 2002-11-23  Jim Meyering  <jim@meyering.net>
92699
92700         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
92701         Use `unsigned', not `int', as type of index.
92702
92703         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
92704
92705         * lib/fsusage.c: Remove unneeded parentheses around operands of
92706         `defined'.
92707
92708 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92709
92710         * lib/quotearg.h: Allow multiple inclusion by surrounding with
92711         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
92712         so that we can be included first.
92713         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
92714         * lib/quotearg.c: Include quotearg.h immediately after config.h.
92715         No need to include stddef.h or sys/types.h any more.
92716         Surround local include files with "", not "<>".
92717         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
92718         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
92719         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
92720         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
92721         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
92722         (ISPRINT): Remove; no longer needed now that we assume C89.
92723
92724         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
92725         Preserve errno.
92726
92727         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
92728         quotearg_char): Use SIZE_MAX rather than
92729         (size_t) -1 when we are talking about "infinity".
92730
92731         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
92732
92733 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92734
92735         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
92736         hint that one should use `if (! x) abort ();' rather than `assert
92737         (x);', and anyway it's one less thing to worry about configuring.
92738         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
92739         hash_rehash, hash_insert): Use abort rather than assert.
92740
92741 2002-11-22  Bruno Haible  <bruno@clisp.org>
92742
92743         * lib/safe-read.h: Assume C89. Add comments.
92744         (safe_read): Change return type to size_t.
92745         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
92746         byte counts > SSIZE_MAX correctly.
92747         * lib/safe-write.h: New file.
92748         * lib/safe-write.c: New file.
92749         * lib/full-read.h: New file.
92750         * lib/full-read.c: New file.
92751         * lib/full-write.h: Assume C89. Add comments.
92752         * lib/full-write.c: Include safe-write.h.
92753         (full_write): Rewritten to use safe_write.
92754         Suggested by Jim Meyering and Paul Eggert.
92755
92756 2002-11-21  Jim Meyering  <jim@meyering.net>
92757
92758         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
92759
92760         Merge in changes from the coreutils.
92761
92762         2002-09-25  Paul Eggert  <eggert@twinsun.com>
92763         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
92764         <stdint.h>.
92765         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
92766         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
92767         int.  Work more efficiently if X is the same width as uintmax_t.
92768         Do not compare X to -1, to avoid bogus compiler warning.
92769         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
92770         Don't assume that f_frsize and f_bsize are the same type.
92771
92772         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
92773         warning on FreeBSD.
92774
92775         * lib/makepath.c (make_path): Restore umask *before* creating the final
92776         component.
92777         (make_path): Minor reformatting.
92778
92779         * lib/xmalloc.c: Adjust to work with new autoconf macros,
92780         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
92781         HAVE_MALLOC/HAVE_REALLOC.
92782
92783         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
92784         dummy ones.  At least on GNU/Linux systems, `auto' means something
92785         else.
92786         From Michael Stone.
92787
92788 2002-11-21  Bruno Haible  <bruno@clisp.org>
92789
92790         Remove case insensitive option matching.
92791         * lib/argmatch.h (argcasematch): Remove declaration.
92792         (ARGCASEMATCH): Remove macro.
92793         (__xargmatch_internal): Remove case_sensitive argument.
92794         (XARGMATCH): Update.
92795         (XARGCASEMATCH): Remove macro.
92796         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
92797         case_sensitive argument.
92798         (argcasematch): Remove function.
92799         (__xargmatch_internal): Remove case_sensitive argument.
92800         (main): Use XARGMATCH instead of XARGCASEMATCH.
92801
92802         * lib/xmalloc.c: Change compile-time error message. Add comment about
92803         required autoconf version.
92804
92805 2002-11-20  Paul Eggert  <eggert@twinsun.com>
92806
92807         Merge argmatch cleanups from Bison.  Assume C89.
92808
92809         * lib/argmatch.c: Include config.h here, not in argmatch.h.
92810         Include stdlib.h, for EXIT_FAILURE.
92811         Always include <string.h>, since we assume C89.
92812         (EXIT_FAILURE): Remove pre-C89 bug workaround.
92813         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
92814         Include <stddef.h> instead, since it's all we need for size_t.
92815         (PARAMS): Remove.  All uses removed.
92816         (ARRAY_CARDINALITY): Do not bother to #undef.
92817         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
92818         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92819         Remove unnecessary parentheses.
92820         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92821         Insert necessary parentheses.
92822         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
92823         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
92824
92825 2002-11-19  Bruno Haible  <bruno@clisp.org>
92826
92827         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
92828         * lib/mbswidth.h: Include <stddef.h>, for size_t.
92829
92830         * lib/mbswidth.h (PARAMS): Remove macro.
92831         (mbswidth, mbsnwidth): Use ANSI C function declarations.
92832         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
92833
92834         * lib/gcd.h (PARAMS): Remove macro.
92835         (gcd): Use ANSI C function declarations.
92836         * lib/gcd.c (gcd): Likewise.
92837
92838 2002-11-15  Bruno Haible  <bruno@clisp.org>
92839
92840         * lib/strcspn.c: Include <stddef.h>.
92841         (strcspn): Use ANSI C function declaration. Change return type to
92842         size_t. Use NULL.
92843         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
92844         (strpbrk): Use NULL.
92845         * lib/strpbrk.h (PARAMS): Remove macro.
92846         (strpbrk): Use ANSI C function declaration.
92847         * lib/strstr.c: Don't include <sys/types.h>.
92848         * lib/strstr.h (PARAMS): Remove macro.
92849         (strstr): Use ANSI C function declarations.
92850
92851 2002-11-14  Karl Berry  <karl@gnu.org>
92852
92853         * config/mkinstalldirs: `do' on separate line, instead of
92854         `for var; do'.
92855
92856 2002-11-06  Bruno Haible  <bruno@clisp.org>
92857
92858         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
92859         * lib/gcd.c (gcd): Likewise.
92860
92861 2002-11-05  Bruno Haible  <bruno@clisp.org>
92862
92863         * lib/gcd.h: New file, from gettext-0.11.5.
92864         * lib/gcd.c: New file, from gettext-0.11.5.
92865
92866 2002-11-05  Bruno Haible  <bruno@clisp.org>
92867
92868         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92869         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92870         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92871         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92872
92873         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
92874         <libintl.h>.
92875         * lib/makepath.c: Include gettext.h instead of <locale.h> and
92876         <libintl.h>.
92877
92878         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
92879         * lib/human.c: Include gettext.h instead of <libintl.h>.
92880         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
92881         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
92882         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
92883         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
92884         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
92885         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
92886         (textdomain): Remove definition.
92887         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
92888
92889         * lib/long-options.c: Remove include of <libintl.h> and definition of
92890         _.
92891         * lib/same.c: Remove include of <libintl.h> and definition of _.
92892
92893 2002-11-04  Owen Taylor  <otaylor@redhat.com>
92894
92895         * lib/config.charset: A few additions for Solaris.
92896
92897 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92898
92899         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
92900         * lib/localcharset.c (locale_charset): Declare as extern "C".
92901
92902 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92903
92904         * lib/config.charset: msdos in uk_UA uses CP1125.
92905
92906 2002-11-04  Bruno Haible  <bruno@clisp.org>
92907
92908         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
92909         * lib/strcase.h: New file, from GNU gettext-0.11.5.
92910         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
92911         * lib/strstr.h: New file, from GNU gettext-0.11.5.
92912         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
92913
92914 2002-11-04  Bruno Haible  <bruno@clisp.org>
92915
92916         * lib/localcharset.c (locale_charset): Don't return an empty string.
92917
92918 2002-11-04  Bruno Haible  <bruno@clisp.org>
92919
92920         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
92921         aliases.
92922
92923 2002-11-04  Bruno Haible  <bruno@clisp.org>
92924
92925         * lib/config.charset: Update for newest glibc. Add canonical names
92926         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
92927
92928 2002-11-04  Bruno Haible  <bruno@clisp.org>
92929
92930         * lib/config.charset: Add support for NetBSD.
92931
92932 2002-11-04  Bruno Haible  <bruno@clisp.org>
92933
92934         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
92935
92936 2002-11-01  Bruno Haible  <bruno@clisp.org>
92937
92938         * configure.in: Add AC_CONFIG_AUX_DIR call.
92939         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
92940         test/Makefile.
92941         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
92942
92943 2002-09-28  Karl Berry  <karl@gnu.org>
92944
92945         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
92946         installed automake until the next release, since changes have been
92947         made.
92948
92949 2002-09-25  Karl Berry  <karl@gnu.org>
92950
92951         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
92952         * lib/getopt*: copy from libc/posix.
92953         * lib/gettext.h: copy from gettext.
92954         * lib/.cppi-disable: add strdup.c, gettext.h.
92955
92956 2002-09-25  Karl Berry  <karl@gnu.org>
92957
92958         * config/srclist.txt: enable gettext.h check.
92959         * config/config.{guess,sub}: update from prep.
92960         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
92961                 from automake 1.6.3.
92962         See srclist*.
92963
92964 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
92965
92966         * regex.c (PATFETCH): Remove the translating fetch.
92967         (PATFETCH_RAW): Rename to PATFETCH.
92968         (set_image_of_range): New fun.
92969         (SET_RANGE_TABLE_WORK_AREA): Use it.
92970         (regex_compile): Don't translate the pattern chars so eagerly.
92971         Only do it when inserting an `exactn' bytecode or when handling
92972         a char-range.
92973         (mutually_exclusive_p): Avoid empty statement.
92974
92975 2002-07-06  Jim Meyering  <meyering@lucent.com>
92976
92977         * m4/README: Don't mention Makefile.am.in.
92978         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
92979
92980 2002-07-01  Jim Meyering  <meyering@lucent.com>
92981
92982         * lib/c-stack.c: Include sys/time.h.
92983         From Volker Borchert.
92984
92985 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92986
92987         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
92988
92989 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92990
92991         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
92992         New macro.  Use it uniformly instead of
92993         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
92994         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
92995         reported by Vin Shelton.
92996
92997 2002-06-22  Paul Eggert  <eggert@twinsun.com>
92998
92999         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
93000         Do not assume SA_SIGINFO behavior.
93001         Bug reported by Jim Meyering on NetBSD 1.5.2.
93002
93003 2002-06-22  Jim Meyering  <meyering@lucent.com>
93004
93005         * m4/c-stack.m4: New file, from diffutils-2.8.2.
93006         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
93007
93008         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
93009         now that configure.ac uses AC_GNU_SOURCE.
93010         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
93011         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
93012
93013         Update to latest tools.  Suggestions from Paul Eggert.
93014         * m4/stdbool.m4: New file, from diffutils-2.8.2.
93015         * m4/gnu-source.m4: Update from diffutils-2.8.2.
93016         * m4/fnmatch.m4: Likewise.
93017         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
93018         to AC_HEADER_STDBOOL
93019
93020 2002-06-22  Jim Meyering  <meyering@lucent.com>
93021
93022         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
93023         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
93024
93025 2002-06-22  Jim Meyering  <meyering@lucent.com>
93026
93027         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
93028
93029         * lib/exitfail.c, exitfail.h: Likewise.
93030         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
93031
93032         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
93033         of fnmatch.h.
93034         (EXTRA_DIST): Add fnmatch_loop.c.
93035         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
93036
93037         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
93038         * lib/fnmatch.c: Update from diffutils-2.8.2.
93039         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
93040         * lib/fnmatch.h: Remove file.
93041
93042 2002-06-21  Jim Meyering  <meyering@lucent.com>
93043
93044         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
93045         * m4/mbrtowc.m4: Likewise.
93046
93047         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
93048         * m4/mbswidth.m4: Reflect name change:
93049         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
93050         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93051
93052         * m4/lib-link.m4: Update from gettext-0.11.2.
93053         * m4/gettext.m4: Likewise.
93054
93055         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
93056         From Alfred M. Szmidt.
93057
93058 2002-06-18  Paul Eggert  <eggert@twinsun.com>
93059
93060         * lib/file-type.h: Report an error if neither S_ISREG nor
93061         S_IFREG is defined, instead of using a test specific to glibc
93062         2.2.  This should be safe, since POSIX requires S_ISREG and
93063         Unix Version 7 had S_IFREG.  We don't need to check for
93064         <sys/types.h> since we don't use any symbols that it defines.
93065
93066 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
93067
93068         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
93069         $@-t, so that each temporary file name is unique and valid in the first
93070         8 characters, for operation under DOS.
93071
93072 2002-06-15  Paul Eggert  <eggert@twinsun.com>
93073
93074         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
93075
93076 2002-06-15  Jim Meyering  <meyering@lucent.com>
93077
93078         Work even with DJGPP 2.03, which lacks support for symlinks.
93079         From Richard Dawe.
93080         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
93081         is defined.
93082         * lib/lchown.c (S_ISLNK): Likewise.
93083
93084 2002-06-15  Jim Meyering  <meyering@lucent.com>
93085
93086         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
93087         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
93088         have been included before this file.
93089
93090 2002-06-14  Jim Meyering  <meyering@lucent.com>
93091
93092         * lib/file-type.h: Use the version from diffutils-2.8.2.
93093         * lib/file-type.c: Likewise.
93094
93095 2002-06-07  Jim Meyering  <meyering@lucent.com>
93096
93097         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
93098         They're needed at least for NetBSD 1.5.2.
93099         ($statxfs_includes): Include those same headers.
93100         ($statxfs_includes): Include sys/vfs.h if available.
93101         ($statxfs_includes): Likewise for sys/statvfs.h.
93102         Check for the following members in both structs statfs and statvfs:
93103         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
93104
93105 2002-06-01  Jim Meyering  <meyering@lucent.com>
93106
93107         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
93108         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
93109
93110 2002-05-28  Jim Meyering  <meyering@lucent.com>
93111
93112         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
93113         Reported by Volker Borchert.
93114
93115 2002-05-27  Jim Meyering  <meyering@lucent.com>
93116
93117         Fix a problem seen only on nonconforming systems whereby ls.c's
93118         use of localtime, and then of gettimeofday would cause trouble:
93119         the localtime call used to initialize rpl_gettimeofday's save
93120         mechanism would clobber ls's current local time information so
93121         that in any long listing the first file would always be listed
93122         with date 1970-01-01.  Analysis by Volker Borchert.
93123
93124         * lib/gettimeofday.c (localtime): Undefine.
93125         (rpl_localtime): New function.
93126
93127 2002-05-27  Jim Meyering  <meyering@lucent.com>
93128
93129         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
93130         localtime.
93131
93132         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
93133         use the replacement function; it wouldn't resolve at link time.
93134         Reported by Volker Borchert.
93135
93136 2002-05-22  Jim Meyering  <meyering@lucent.com>
93137
93138         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
93139         file-type.h.
93140         * lib/file-type.h: New file.
93141         * lib/file-type.c (file_type): New file/function.  Extracted from
93142         diffutils.
93143
93144 2002-04-30  Jim Meyering  <meyering@lucent.com>
93145
93146         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
93147
93148 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93149
93150         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
93151
93152 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93153
93154         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
93155         Do not check for alloca.h (no longer used) or stdbool.h (was never
93156         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
93157
93158 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93159
93160         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
93161
93162 2002-04-29  Jim Meyering  <meyering@lucent.com>
93163
93164         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
93165         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
93166         Use AC_FUNC_STRNLEN here instead.
93167
93168         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
93169         With autoconf-2.53a, it's part of AC_PROG_CC.
93170
93171 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93172
93173         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
93174         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
93175
93176 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93177
93178         * lib/sig2str.h, lib/sig2str.c: New files.
93179         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
93180
93181 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93182
93183         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
93184         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
93185         of 127, since 64 is the largest conceivable number for ancient
93186         nonstandard hosts.
93187         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
93188
93189 2002-04-28  Jim Meyering  <meyering@lucent.com>
93190
93191         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
93192
93193 2002-04-24  Jim Meyering  <meyering@lucent.com>
93194
93195         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
93196         (jm_PREREQ): Use it.
93197
93198         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
93199         mach/mach.h fcntl.h.
93200         Check for this function: setlocale.
93201
93202 2002-04-24  Jim Meyering  <meyering@lucent.com>
93203
93204         * lib/gettext.h: New file, from Gettext.
93205         * lib/Makefile.am (INCLUDES): Remove -I../intl.
93206         (libfetish_a_SOURCES): Add gettext.h.
93207
93208 2002-04-16  Jim Meyering  <meyering@lucent.com>
93209
93210         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
93211         ut_pid, ut_id, ut_exit.
93212
93213 2002-04-16  Jim Meyering  <meyering@lucent.com>
93214
93215         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
93216         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
93217         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
93218
93219 2002-04-12  Jim Meyering  <meyering@lucent.com>
93220
93221         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
93222         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
93223         existence of the getmntinfo function.  Needed for Darwin 5.3.
93224
93225         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
93226         This is necessary at least on Darwin 5.3.
93227
93228         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
93229         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
93230         strnlen.o in the library, and that makes some versions of ranlib
93231         object.
93232
93233 2002-04-12  Jim Meyering  <meyering@lucent.com>
93234
93235         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
93236
93237 2002-04-09  Jim Meyering  <meyering@lucent.com>
93238
93239         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
93240         to be more precise.  Rather than saying we're checking whether the
93241         function `works', say what we're testing.
93242         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
93243         Reported by Bruno Haible.
93244
93245 2002-03-10  Jim Meyering  <meyering@lucent.com>
93246
93247         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
93248         Suggestion from Santiago Vila.
93249
93250 2002-03-08  Jim Meyering  <meyering@lucent.com>
93251
93252         * lib/rename.c: Mention that this wrapper is needed also on
93253         mips-dec-ultrix4.4 systems.
93254
93255 2002-03-02  Jim Meyering  <meyering@lucent.com>
93256
93257         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
93258         not HAVE_CLOCK_SETTIME.
93259
93260 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93261
93262         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
93263         Check for clock_settime.
93264
93265 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93266
93267         * lib/nanosleep.h: Rename to....
93268         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
93269
93270         * lib/gettime.c: New file.
93271         * lib/settime.c: New file.
93272         * lib/stime.c: Remove.
93273
93274         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
93275         timespec.h.  Remove nanosleep.h.
93276
93277 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93278
93279         * m4/acl.m4: New file.
93280         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
93281         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
93282
93283 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93284
93285         * lib/acl.c, lib/acl.h: New files.
93286         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
93287
93288 2002-02-24  Jim Meyering  <meyering@lucent.com>
93289
93290         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
93291         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
93292         cause trouble.  Reported by Nelson Beebe.
93293
93294 2002-02-23  Paul Eggert  <eggert@twinsun.com>
93295
93296         * lib/path-concat.c (xpath_concat): Reorder code to pacify
93297         compilers that don't know that xalloc_die never returns.
93298
93299 2002-02-20  Jim Meyering  <meyering@lucent.com>
93300
93301         * lib/getdate.c: Regenerate using bison-1.33.
93302
93303 2002-02-17  Jim Meyering  <meyering@lucent.com>
93304
93305         * config/config.guess (main): Don't use `head -1'; it's no longer
93306         portable. Use `sed 1q' instead.
93307
93308 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
93309
93310         * m4/codeset.m4: Upgrade to gettext-0.11.
93311         * m4/gettext.m4: Upgrade to gettext-0.11.
93312         * m4/glibc21.m4: Upgrade to gettext-0.11.
93313         * m4/iconv.m4: Upgrade to gettext-0.11.
93314         * m4/isc-posix.m4: Upgrade to gettext-0.11.
93315         * m4/lcmessage.m4: Upgrade to gettext-0.11.
93316         * m4/lib-ld.m4: New file, from gettext-0.11.
93317         * m4/lib-link.m4: New file, from gettext-0.11.
93318         * m4/lib-prefix.m4: New file, from gettext-0.11.
93319         * m4/progtest.m4: Upgrade to gettext-0.11.
93320
93321 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93322
93323         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
93324         (jm_PREREQ): Use it.
93325
93326 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93327
93328         * lib/posixver.c, lib/posixver.h: New files.
93329         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93330
93331 2002-02-02  Paul Eggert  <eggert@twinsun.com>
93332             Bruno Haible  <bruno@clisp.org>
93333
93334         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
93335         (fwrite_success_callback): New declaration.
93336         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
93337         print_unicode_char. Call failure callback instead of error.
93338         (fwrite_success_callback): New function.
93339         (exit_failure_callback): New function.
93340         (fallback_failure_callback): New function.
93341         (print_unicode_char): Call unicode_to_mb.
93342
93343 2002-01-26  Jim Meyering  <meyering@lucent.com>
93344
93345         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
93346         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
93347
93348 2002-01-26  Jim Meyering  <meyering@lucent.com>
93349
93350         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
93351
93352 2002-01-22  Paul Eggert  <eggert@twinsun.com>
93353
93354         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
93355
93356 2002-01-22  Jim Meyering  <meyering@lucent.com>
93357
93358         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
93359         Otherwise, some versions of automake would omit the rule that makes
93360         Makefile from Makefile.in.
93361
93362 2002-01-21  Paul Eggert  <eggert@twinsun.com>
93363
93364         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
93365         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93366         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
93367         (memcoll): Set errno to zero if there is no error.
93368
93369         * lib/quotearg.c (quotearg_buffer_restyled):
93370         Fix bug with quoting buffers containing NUL when backslashing escapes.
93371         This bug was exposed by the other changes in this patch.
93372         (quotearg_n_options): New arg ARGSIZE.
93373         All callers changed.
93374         (quoting_options_from_style): New function.
93375         (quotearg_n_style): Use it.
93376         (quotearg_n_style_mem): New function.
93377
93378         * lib/quotearg.h (quotearg_n_style_mem): New function.
93379
93380 2002-01-19  Jim Meyering  <meyering@lucent.com>
93381
93382         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
93383         Remove useless quotes: DF_PROG="df".
93384         * m4/strnlen.m4: New file.
93385
93386 2002-01-16  Paul Eggert  <eggert@twinsun.com>
93387
93388         * lib/backupfile.c (ISDIGIT): Comment fix.
93389         * lib/getdate.y (ISDIGIT): Likewise.
93390         * lib/posixtm.c (ISDIGIT, year): Likewise.
93391         * lib/strverscmp.c (ISDIGIT): Likewise.
93392         * lib/userspec.c (ISDIGIT): Likewise.
93393
93394 2002-01-16  Jim Meyering  <meyering@lucent.com>
93395
93396         * lib/getdate.y: Add three semicolons, each just before a closing
93397         brace. Bison (as of version 1.31) no longer papers over that mistake.
93398
93399 2002-01-05  Jim Meyering  <meyering@lucent.com>
93400
93401         * lib/version-etc.c (version_etc_copyright): Update copyright year.
93402
93403 2001-12-19  Paul Eggert  <eggert@twinsun.com>
93404
93405         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
93406         not silently exit merely because the output buffer happens to
93407         have nothing pending.
93408
93409 2001-12-18  Paul Eggert  <eggert@twinsun.com>
93410
93411         See the big note in ../ChangeLog.
93412         * lib/human.c (suffixes): Prefer K to k for 1024.
93413         (generate_suffix_backwards): New function.
93414         (human_readable_inexact): Use it.
93415         * lib/xstrtol.c (__xstrtol): If there is no number but there
93416         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
93417         Accept 'K' as well as 'k'.
93418
93419 2001-12-15  Jim Meyering  <meyering@lucent.com>
93420
93421         * lib/regex.h (__restrict_arr): Update from libc.
93422
93423         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
93424         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
93425         (STREQ): Define.
93426
93427 2001-12-14  Jim Meyering  <meyering@lucent.com>
93428
93429         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
93430         Suggestion from Bruno Haible.
93431
93432 2001-12-10  Jim Meyering  <meyering@lucent.com>
93433
93434         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
93435         xrealloc, Instead, include "xalloc.h".
93436         (initbuffer): Don't cast xmalloc return value to char*.
93437         (readline): Reword comment.
93438         Don't cast xrealloc return value to char*
93439         Return NULL, not 0.
93440
93441 2001-12-09  Jim Meyering  <meyering@lucent.com>
93442
93443         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
93444         about `signed and unsigned type in conditional expression'.
93445         * lib/posixtm.c (posix_time_parse): Likewise.
93446
93447         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
93448
93449         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
93450         to avoid a pedantic warning.
93451
93452         * lib/getstr.c: Don't include assert.h.
93453         (getstr): Remove warning-evoking assertions.
93454         Return -1 if offset parameter is out of bounds.
93455         Change the type of a local from int to size_t.
93456
93457         * lib/strftime.c (my_strftime_localtime_r): Include this function
93458         definition in the `#if ! HAVE_TM_GMTOFF' block.
93459
93460         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
93461         Include xalloc.h instead.
93462
93463 2001-12-02  Jim Meyering  <meyering@lucent.com>
93464
93465         * lib/tempname.c: Don't declare getenv, thus reverting the change of
93466         2001-11-18.  It's no longer necessary, now that stdlib.h is always
93467         included.
93468
93469         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
93470         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
93471
93472 2001-11-30  Akim Demaille  <akim@epita.fr>
93473
93474         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
93475         before being defined.
93476
93477 2001-11-27  Paul Eggert  <eggert@twinsun.com>
93478
93479         * lib/quotearg.h (quotearg_n, quotearg_n_style):
93480         First arg is int, not unsigned.
93481         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
93482         (SIZE_MAX, UINT_MAX): New macros.
93483         (quotearg_n_options): Abort if N is negative.
93484         Avoid overflow check on hosts where size_t is 64 bits and int
93485         is 32 bits, as overflow is impossible there.
93486         Fix off-by-one typo that caused unnecessary reallocation.
93487
93488 2001-11-27  Jim Meyering  <meyering@lucent.com>
93489
93490         * lib/tempname.c: Merge with version from libc.
93491         * lib/regex.c: Likewise.
93492
93493         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
93494         systems for which STDC_HEADERS is 0, it was not included, resulting in
93495         a warning about an integer-to-pointer conversion problem with getenv.
93496         Reported by Volker Borchert.
93497
93498 2001-11-26  Jim Meyering  <meyering@lucent.com>
93499
93500         * lib/gtod.h: Remove file.
93501         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
93502         * lib/gettimeofday.c: Don't include gtod.h.
93503         (GTOD_init): Remove function.
93504         (rpl_gettimeofday): Do its job here instead, rather than aborting.
93505         Suggestion from Volker Borchert.
93506
93507 2001-11-23  Jim Meyering  <meyering@lucent.com>
93508
93509         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
93510         it.
93511         * lib/hash.c (struct hash_table): Define it here instead.
93512
93513 2001-11-22  Jim Meyering  <meyering@lucent.com>
93514
93515         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
93516
93517 2001-11-20  Jim Meyering  <meyering@lucent.com>
93518
93519         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
93520         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
93521
93522 2001-11-19  Jim Meyering  <meyering@lucent.com>
93523
93524         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
93525         directory.  Use "conftestXXXXXX" as the template.
93526         Suggestion from Paul Eggert.
93527
93528         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
93529         immediately, so the test doesn't mistakenly hit the max-open-files
93530         limit.
93531
93532 2001-11-18  Paul Eggert  <eggert@twinsun.com>
93533
93534         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
93535         (TEMPORARIES): New macro.
93536         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
93537         removes an artificial limitation (e.g. HP-UX 10.20, where
93538         TMP_MAX is 17576).
93539
93540 2001-11-18  Jim Meyering  <meyering@lucent.com>
93541
93542         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
93543
93544 2001-11-18  Jim Meyering  <meyering@lucent.com>
93545
93546         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
93547         on SunOS 4.
93548
93549         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
93550         files will be created before anything else.
93551
93552 2001-11-17  Paul Eggert  <eggert@twinsun.com>
93553
93554         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
93555         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
93556
93557 2001-11-17  Jim Meyering  <meyering@lucent.com>
93558
93559         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
93560         Prompted by a report from Bob Proulx.
93561
93562         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
93563         Instead, require UTILS_FUNC_MKSTEMP.
93564
93565 2001-11-17  Jim Meyering  <meyering@lucent.com>
93566
93567         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
93568         Now, that's done as part of AC_FUNC_STRTOD.
93569
93570 2001-11-17  Jim Meyering  <meyering@lucent.com>
93571
93572         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
93573         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
93574         rather than group writable.  Patch by Juan F. Codagnone.
93575
93576         * lib/readtokens.c: Remove explicit declarations of xmalloc and
93577         xrealloc, Instead, include "xalloc.h".
93578
93579         * lib/mountlist.c: Include unlocked-io.h after all system headers.
93580         Remove explicit declarations of xmalloc, xrealloc,
93581         and xstrdup.  Instead, include "xalloc.h".
93582
93583         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
93584         unlocked-io.h.
93585         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
93586         Likewise.
93587         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
93588
93589         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
93590         Reported by Padraig Brady.
93591
93592         * lib/mkstemp.c: #undef mkstemp.
93593         Include config.h.
93594         (rpl_mkstemp): Rename from mkstemp.
93595         Protoize.
93596
93597 2001-11-16  Jim Meyering  <meyering@lucent.com>
93598
93599         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
93600         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
93601         determine the amount of total physical memory, use pstat_getstatic.
93602         HPUX-11 doesn't define _SC_PHYS_PAGES.
93603         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
93604         If sysconf couldn't be used to determine the amount of available
93605         physical memory, use both pstat_getstatic and pstat_getdynamic.
93606         Based on a patch from Bob Proulx.
93607
93608 2001-11-10  Jim Meyering  <meyering@lucent.com>
93609
93610         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
93611         (jm_PREREQ): Use it.
93612
93613 2001-11-09  Jim Meyering  <meyering@lucent.com>
93614
93615         * m4/jm-macros.m4: Require autoconf-2.52f.
93616         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
93617         Use these AC_-prefixed names, not the AM_-prefixed ones.
93618
93619         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
93620
93621 2001-11-05  Jim Meyering  <meyering@lucent.com>
93622
93623         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
93624
93625 2001-11-04  Jim Meyering  <meyering@lucent.com>
93626
93627         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
93628         $DEFS.
93629
93630 2001-11-03  Jim Meyering  <meyering@lucent.com>
93631
93632         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
93633         of AC_DEFUN.
93634
93635         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
93636         know the name of the variable in the macro definition.
93637
93638 2001-11-03  Jim Meyering  <meyering@lucent.com>
93639
93640         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
93641         in argmatch_to_argument call.
93642
93643         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
93644         argument.
93645
93646         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
93647         e.g., a fault due to an attempt to free a NULL pointer.
93648
93649 2001-11-01  Jim Meyering  <meyering@lucent.com>
93650
93651         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
93652         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
93653
93654 2001-11-01  Jim Meyering  <meyering@lucent.com>
93655
93656         * lib/dirfd.c, lib/dirfd.h: New files.
93657         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
93658
93659         * lib/hash.c (hash_print) [TESTING]: Clean up.
93660
93661 2001-10-22  Paul Eggert  <eggert@twinsun.com>
93662
93663         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
93664         to avoid a warning if -Wall.
93665
93666 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
93667
93668         * README: New file
93669         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
93670         (per RMS's instructions, this is now the canonical source)
93671         * lgpl/, gpl/: New directories.
93672
93673 2001-10-21  Paul Eggert  <eggert@twinsun.com>
93674
93675         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
93676
93677 2001-10-21  Jim Meyering  <meyering@lucent.com>
93678
93679         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
93680         this code would end up calling gettext even in packages built
93681         with --disable-nls.
93682         * lib/getopt.c (_): Likewise.
93683         * lib/regex.c (_): Likewise.
93684
93685 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93686
93687         * m4/error.m4 (jm_PREREQ_ERROR):
93688         Do not invoke AC_CHECK_FUNCS with strerror_r, as
93689         AC_FUNC_STRERROR_R does that.
93690         Check for strerror declaration.
93691
93692         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
93693         are supposed to have them these days.
93694         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
93695         Merge changes from latest Autoconf CVS.
93696         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
93697         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
93698         POSIX decided to standardize on the int flavor of strerror_r.
93699
93700 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93701
93702         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
93703         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
93704         Use strerror_r that is only a macro, even if it is not a function.
93705         (strerror): Check for HAVE_DECL_STRERROR before declaring.
93706         (private_strerror): Use prototypes, not old-style function definition.
93707         (print_errno_message): New function.
93708         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
93709         char*-flavored one.
93710         (error_tail, error, error_at_line): Use it.
93711
93712 2001-10-11  Jim Meyering  <meyering@lucent.com>
93713
93714         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
93715         and quote_n (1, ... to avoid clobbering a buffer.
93716
93717 2001-10-05  Jim Meyering  <meyering@lucent.com>
93718
93719         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
93720         hash-pjw.h.
93721         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
93722         * lib/hash-pjw.h: New file.
93723
93724 2001-09-30  Jim Meyering  <meyering@lucent.com>
93725
93726         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
93727         `struct fsstat' has the `f_fstypename' member.
93728         Use that to define FS_TYPE, which is now used to make
93729         the getfsstat link test tighter.
93730
93731 2001-09-30  Jim Meyering  <meyering@lucent.com>
93732
93733         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
93734         Include <sys/ucred.h>, for Apple Darwin.
93735         Include sys/mount.h and sys/fs_types.h only if available.
93736         (FS_TYPE): Define.
93737         (read_filesystem_list): Use FS_TYPE.
93738
93739 2001-09-29  Paul Eggert  <eggert@twinsun.com>
93740
93741         * lib/exclude.c (excluded_filename): 0 -> false, since it's
93742         a boolean context.
93743
93744 2001-09-29  Jim Meyering  <meyering@lucent.com>
93745
93746         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93747         [one-argument getmntent function]): Include stdio.h before mntent.h.
93748         SunOS 4.1.x needs it for the declaration of `FILE'.
93749         Patch by Volker Borchert.
93750
93751         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93752         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
93753         sys/fs_types.h, and make the link-test for getfsstat guard #include
93754         directives with appropriate #if HAVE_*_H tests so that we can
93755         detect getfsstat on Apple Darwin1.3.7 systems.
93756         Reported by Nelson Beebe.
93757         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
93758
93759 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93760
93761         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93762         #defines strtoimax.  Also treat the other strto* functions
93763         like strtoimax.
93764
93765         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93766         Check for strtoul and strtoumax,
93767         as those declarations are made even in the signed case.
93768         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
93769         Likewise, for strtol and strtoimax.
93770
93771 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93772
93773         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93774         #defines strtoimax.  Also treat the other strto* functions
93775         like strtoimax.
93776
93777         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
93778         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
93779         (strtoimax, strtoumax): Do not declare if already defined as a macro.
93780
93781 2001-09-26  Jim Meyering  <meyering@lucent.com>
93782
93783         Most macros in unlocked-io.h had the wrong number of arguments.
93784         * lib/gen-uio: New script.
93785         (USE_UNLOCKED_IO): Define to 1 if not already defined.
93786         * lib/unlocked-io.hin: Remove file.
93787         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
93788         rather than trying to embed it here.
93789         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
93790         Reported by Padraig Brady.
93791
93792 2001-09-25  Volker Borchert  <bt@teknon.de>
93793
93794         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
93795         `result'.
93796
93797 2001-09-24  Jim Meyering  <meyering@lucent.com>
93798
93799         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
93800
93801 2001-09-23  Jim Meyering  <meyering@lucent.com>
93802
93803         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
93804         instead of the mere test for existence of mntent.h.  The latter
93805         would get a false-positive on AIX 3.4 systems.
93806         In the outer getmntent if-block, don't die if neither of the getmntent
93807         tests succeeds.  Instead, just fall through and continue with the
93808         remaining tests.
93809
93810 2001-09-23  Jim Meyering  <meyering@lucent.com>
93811
93812         * lib/mountlist.c: Remove useless parentheses in #if directives.
93813         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
93814         the deprecated MOUNTED symbol is no longer defined in mntent.h.
93815
93816 2001-09-22  Jim Meyering  <meyering@lucent.com>
93817
93818         * m4/gettext.m4: New file.  From gettext.
93819         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
93820         * m4/progtest.m4: Likewise
93821         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
93822         * m4/glibc21.m4: Likewise.
93823
93824         * m4/libintl.m4: Remove.  No longer used.
93825
93826 2001-09-22  Jim Meyering  <meyering@lucent.com>
93827
93828         * lib/localcharset.c: Update from latest gettext.
93829         * lib/config.charset: Likewise.
93830
93831 2001-09-20  Jim Meyering  <meyering@lucent.com>
93832
93833         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
93834         strtoimax.
93835         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
93836         strtoumax.
93837
93838 2001-09-20  Jim Meyering  <meyering@lucent.com>
93839
93840         * lib/xstrtol.c (strtoimax): Guard declaration with
93841         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
93842         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
93843         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
93844         (strtoumax): Likewise, for completeness (it wasn't necessary).
93845
93846 2001-09-17  Paul Eggert  <eggert@twinsun.com>
93847
93848         * lib/strtoimax.c (HAVE_LONG_LONG):
93849         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
93850         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
93851         to work around bug in IBM C compiler.
93852
93853 2001-09-17  Jim Meyering  <meyering@lucent.com>
93854
93855         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
93856         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
93857         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
93858         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
93859         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
93860         whenever the right hand side need not be expanded by the shell.
93861
93862 2001-09-16  Paul Eggert  <eggert@twinsun.com>
93863
93864         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
93865         library.  It's not correct, as some older glibcs are buggy.
93866         fnmatch wasn't fixed until glibc 2.2.
93867
93868         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
93869         special shell magic here.
93870
93871 2001-09-16  Jim Meyering  <meyering@lucent.com>
93872
93873         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
93874         * m4/jm-macros.m4: Require it.
93875
93876 2001-09-16  Jim Meyering  <meyering@lucent.com>
93877
93878         * lib/mkdir.c: New file.
93879
93880 2001-09-15  Jim Meyering  <meyering@lucent.com>
93881
93882         * m4/jm-macros.m4: Check for help2man.
93883
93884 2001-09-11  Jim Meyering  <meyering@lucent.com>
93885
93886         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
93887         The body, by Paul Eggert, was moved here from configure.in.
93888         * m4/jm-macros.m4: Require UTILS_HOST_OS.
93889
93890 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93891
93892         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
93893         (jm_PREREQ): Use it.
93894
93895 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93896
93897         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
93898         Use ssize_t, not int, to store result of readlink.
93899         Check for ssize_t overflow as well as size_t overflow,
93900         as POSIX says the result of readlink is implementation-defined
93901         when ssize_t overflows.
93902         Remove unnecessary cast to char*.
93903         Use free+malloc instead of realloc, as the storage doesn't need
93904         to be preserved and it's clearer and can be more efficient that way.
93905         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
93906         * lib/xreadlink.h (xreadlink): Update prototype.
93907
93908 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93909
93910         * lib/xgetcwd.c: Revert some of the previous change; intead,
93911         fix the HAVE_GETCWD_NULL code to behave more like the
93912         !HAVE_GETCWD_NULL code used to.
93913
93914         Include "xalloc.h".
93915         (xgetcwd): Do not return NULL when memory is exhausted; instead,
93916         invoke xalloc_die.
93917
93918 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93919
93920         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
93921         sys/param.h, as pathmax.h includes them.
93922
93923 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93924
93925         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
93926         (jm_PREREQ_XGETCWD): New macro.
93927
93928         * m4/getcwd.m4: New file.
93929
93930 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93931
93932         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
93933         like the HAVE_GETCWD_NULL code.
93934         Include pathmax.h if not HAVE_GETCWD.
93935         Do not include xalloc.h.
93936         (INITIAL_BUFFER_SIZE): New symbol.
93937         Do not use xmalloc / xrealloc, since the caller is responsible for
93938         handling errors.  Preserve errno around `free' during failure.
93939         Do not overrun buffer when using getwd.
93940
93941 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93942
93943         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
93944         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
93945         getcwd (NULL, 0).
93946
93947 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93948
93949         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
93950         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
93951         spotted by Jim Meyering.
93952
93953 2001-09-03  Jim Meyering  <meyering@lucent.com>
93954
93955         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
93956         failure.
93957
93958 2001-09-02  Jim Meyering  <meyering@lucent.com>
93959
93960         * lib/error.c: Update from GNU libc.
93961
93962 2001-09-01  Jim Meyering  <meyering@lucent.com>
93963
93964         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
93965         Used by df.
93966
93967 2001-09-01  Jim Meyering  <meyering@lucent.com>
93968
93969         * lib/xreadlink.c: New file.
93970         * lib/xreadlink.h: New file.
93971         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
93972         xreadlink.h.
93973
93974         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
93975         doesn't conflict with sparc Solaris 7's definition in
93976         /usr/include/sys/int_types.h.
93977
93978         * lib/exclude.c: Use `""', not `<>' to #include non-system header
93979         files.
93980         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
93981         and strncasecmp as r-values.  Unixware didn't have declarations.
93982
93983 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93984
93985         * lib/xstrtol.h: Add copyright notice.
93986         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
93987         LONGINT_INVALID_SUFFIX_CHAR.
93988
93989 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93990
93991         * lib/xstrtol.c (strtoimax): New decl.
93992
93993 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93994
93995         * lib/xgetcwd.c: Don't include pathmax.h.
93996         Include stdlib.h and unistd.h if available.
93997         Include xalloc.h.
93998         (xmalloc, xstrdup, free): Remove decls.
93999         (xgetcwd): Don't assume sizes fit in unsigned.
94000         Check for overflow when computing sizes.
94001         Simplify reallocation code.
94002
94003 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94004
94005         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
94006         a directory's st_size can have an arbitrary value, so the old
94007         usage could waste an arbitrary amount of memory.  All uses
94008         changed.
94009         * lib/savedir.h: Update prototype.
94010
94011 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94012
94013         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
94014
94015         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
94016         old strtoimax.c.
94017
94018         Also, make the following further changes to make this file's
94019         configuration more similar to that of strtol.c:
94020         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
94021         (strtoumax, uintmax_t, strtoull, strtol): Remove.
94022         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
94023         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
94024         changed to signed values.
94025
94026         And make the following changes as well:
94027         Fix copyright notice, as 1999 was missing.
94028         (verify): New macro.
94029         (strtoimax): Check sizes at compile-time, not run-time.
94030         Prefer strtol to strtoll if both work.
94031         (main): Remove; it was not that useful and was a pain to maintain.
94032
94033         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
94034
94035 2001-08-31  Jim Meyering  <meyering@lucent.com>
94036
94037         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
94038         Use an initial, malloc'd, buffer of length 128 rather than
94039         a statically allocated one of length 1024.
94040
94041 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94042
94043         Simplify code, partly by assuming autoconf 2.52 semantics.
94044
94045         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
94046
94047         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
94048         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
94049         All uses removed.
94050         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
94051         Move AC_REQUIRE to next-to-top level, to avoid confusion.
94052         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
94053         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
94054         jm_AC_HEADER_INTTYPES_H.
94055         * m4/jm-macros.m4 (jm_MACROS): Likewise.
94056
94057         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
94058
94059         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
94060         Quote first arg of AC_DEFUN.
94061         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
94062         since they are needed to parse the include file even if we need
94063         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
94064         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
94065         but with opposite signedness.
94066
94067 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94068
94069         Merge 'exclude' changes from tar 1.13.22.
94070         This fixes one or two unlikely storage allocation overflow bugs,
94071         but doesn't change user-visible behavior otherwise.
94072
94073 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94074
94075         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
94076         (jm_PREREQ_EXCLUDE): New macro.
94077
94078 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94079
94080         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
94081         tm to be declared.
94082
94083 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94084
94085         * lib/hash.c: Remove '2001' from copyright notice.
94086
94087 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94088
94089         * lib/full-write.h: New file.
94090         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
94091         * lib/full-write.c: Correct credits, as cccp.c no longer
94092         exists and anyway it was so heavily changed from the old cccp
94093         code as to be unrecognizable.  Include full-write.h.
94094         (full_write): Return size_t, with short writes meaning failure.
94095         All callers changed.  This fixes a bug with large buffers
94096         on 64-bit hosts.
94097         * lib/utime.c: Include full-write.h.
94098
94099 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94100
94101         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
94102         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
94103         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
94104         Include if available.
94105         (<xalloc.h>): Include
94106         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
94107         (verify): New macro.  Use it to verify that EXCLUDE macros do not
94108         collide with FNM macros.
94109         (struct patopts): New struct.
94110         (struct exclude): Use it, as exclude patterns now come with options.
94111         (new_exclude): Support above changes.
94112         (new_exclude, add_exclude_file):
94113         Initial size must now be a power of two to simplify overflow checking.
94114         (free_exclude, fnmatch_no_wildcards): New function.
94115         (excluded_filename): No longer requires options arg, as the options
94116         are determined by add_exclude.  Now returns bool, not int.
94117         (excluded_filename, add_exclude):
94118         Add support for the fancy new exclusion options.
94119         (add_exclude, add_exclude_file): Now takes int options arg.
94120         Check for arithmetic overflow when computing sizes.
94121         (add_exclude_file): xrealloc might modify errno, so don't
94122         realloc until after errno might be used.
94123
94124         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
94125         New macros.
94126         (free_exclude): New decl.
94127         (add_exclude, add_exclude_file): Now takes int options arg.
94128         (excluded_filename): No longer requires options arg, as the options
94129         are determined by add_exclude.  Now returns bool, not int.
94130
94131 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94132
94133         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
94134
94135 2001-08-27  Jim Meyering  <meyering@lucent.com>
94136
94137         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
94138
94139         * lib/version-etc.c (N_): Remove definition.
94140         Revert most of last change.
94141         Instead, simply don't mark the `Copyright...' string for translation.
94142         Based on advice from Paul Eggert.
94143
94144         * lib/strtoxmax.c: Tweak comment.
94145
94146 2001-08-26  Jim Meyering  <meyering@lucent.com>
94147
94148         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
94149
94150         * m4/xstrtoimax.m4: New file.
94151         * m4/xstrtoumax.m4: Add comments explaining why we
94152         AC_REPLACE_FUNCS(strtol).
94153
94154 2001-08-26  Jim Meyering  <meyering@lucent.com>
94155
94156         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
94157         of copyright with `%s' so translators don't get an untranslated
94158         message in 2002.
94159         (COPYRIGHT_YEAR): Define.
94160         (version_etc): Use fprintf rather than fputs.
94161         Suggestion from Ulrich Drepper.
94162
94163         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
94164
94165         * lib/strtoll.c: New file, from GNU libc.
94166         * lib/xstrtoimax.c: New file.
94167
94168         * lib/xstrtol.h: Add xstrtoimax.
94169         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
94170         * lib/strtoimax.c: New file.  Likewise, but first define
94171         STRTOUXMAX_SIGNED.
94172
94173         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
94174         ...
94175         * lib/strtoxmax.c: ... then renamed to this.
94176
94177 2001-08-18  Paul Eggert  <eggert@twinsun.com>
94178
94179         * m4/inttypes.m4: Add AC_PREREQ(2.13).
94180         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
94181         (jm_AC_TYPE_INTMAX_T): New macro.
94182         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
94183
94184         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
94185
94186         * m4/longlong.m4: Renamed from ulonglong.m4.
94187         * m4/inttypes.m4: Renamed from inttypes_h.m4.
94188         * m4/uintmax_t.m4: Removed.
94189
94190 2001-08-13  Paul Eggert  <eggert@twinsun.com>
94191
94192         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
94193         Port to Solaris 8, where 'sed' requires a space after the 'r'
94194         command, and where sh dislikes "$/".  Clean up the spacing a bit.
94195         Redirect output to $tmp just once.
94196
94197 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
94198
94199         * lib/addext.c (<errno.h>): Include.
94200         (errno): Declare if not defined.
94201         (addext): Work correctly when pathconf returns -1 and leaves
94202         errno alone because there is no limit.  Also, work even if
94203         pathconf returns a value greater than SIZE_MAX.
94204
94205 2001-08-12  Jim Meyering  <meyering@lucent.com>
94206
94207         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
94208         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
94209         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
94210         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
94211         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
94212         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
94213         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
94214         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
94215         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
94216         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
94217         utime.m4, utimes.m4, xstrtoumax.m4:
94218         Quote the first argument in each use of AC_DEFUN.
94219
94220 2001-08-12  Jim Meyering  <meyering@lucent.com>
94221
94222         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
94223         Simply `return getcwd (NULL, 0);'.
94224         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
94225         Use 1300 as initial value for length, not PATH_MAX.
94226
94227         * lib/pathmax.h: Clean up cpp syntax.
94228
94229 2001-08-12  Jim Meyering  <meyering@lucent.com>
94230
94231         * lib/gettimeofday.c: New file.
94232         * lib/gtod.h: New file.
94233         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
94234
94235 2001-08-05  Jim Meyering  <meyering@lucent.com>
94236
94237         * m4/jm-macros.m4: Require autoconf-2.52.
94238
94239 2001-08-04  Jim Meyering  <meyering@lucent.com>
94240
94241         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
94242         stmt, to get in sync with glibc.
94243
94244 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94245
94246         The following changes are from gettext 0.10.39 as maintained by
94247         Bruno Haible.
94248
94249         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
94250         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
94251         with inverted sense.  All uses changed.
94252
94253         * lib/mbswidth.c: Don't include <limits.h>.
94254         Include <stdlib.h> and <string.h> unconditionally.
94255         (iswcntrl, mbsinit, ISCNTRL): New macros.
94256         (mbsnwidth): Use K&R style function declarations.
94257         Don't bother checking for MB_LEN_MAX == 1, since the compiler
94258         can optimize it when MB_CUR_MAX == 1.
94259         The width of control characters is zero, not 1.
94260
94261 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94262
94263         The following changes are from gettext 0.10.39 as maintained by
94264         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
94265
94266         * m4/codeset.m4: Upgrade to serial AM1.
94267         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
94268         all uses changed.  Quote first arg of AC_DEFUN.
94269         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
94270
94271         * m4/iconv.m4: Upgrade to serial AM2.
94272         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
94273         Add --with-libconv-prefix.
94274         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
94275         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
94276         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
94277         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
94278         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
94279
94280         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
94281         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
94282         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
94283         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
94284         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
94285         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
94286         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
94287         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
94288         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
94289
94290         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
94291         string.h any more.
94292
94293         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
94294         not the default value.
94295
94296         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
94297         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
94298         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
94299         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
94300         Also check for iswcntrl, used for wcwidth fallback.
94301         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
94302         to Autoconf 2.13.
94303
94304 2001-08-03  Jim Meyering  <meyering@lucent.com>
94305
94306         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
94307         as it was in the original.  Reported by Paul Eggert.
94308
94309 2001-07-16  Jim Meyering  <meyering@lucent.com>
94310
94311         * m4/gettimeofday.m4: New file.
94312         Prompted by a report from Bernhard Baehr.
94313
94314 2001-07-15  Jim Meyering  <meyering@lucent.com>
94315
94316         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
94317         stuff. Now it's in ../Makefile.cfg.
94318
94319 2001-07-15  Jim Meyering  <meyering@lucent.com>
94320
94321         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
94322         (BUILT_SOURCES): Add unlocked-io.h.
94323         (io_functions): Define.
94324         (unlocked-io.h): New rule.
94325         (DISTCLEANFILES): Add unlocked-io.h.
94326         (all-local): Depend on unlocked-io.h, to ensure it is created.
94327
94328         * lib/unlocked-io.hin: New file
94329
94330         * lib/regex.c: Update from glibc.
94331
94332 2001-07-05  Jim Meyering  <meyering@lucent.com>
94333
94334         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
94335         recommendation.
94336         (libfetish_a_SOURCES): Put all .h files here instead.
94337         Remove a thus-exposed (better checks in automake) duplicate and
94338         two unnecessary .h files.
94339
94340 2001-07-04  Jim Meyering  <meyering@lucent.com>
94341
94342         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
94343         that generates jm-glibc-io.m4 so that it doesn't trigger any make
94344         distcheck failure.
94345
94346 2001-07-02  Jim Meyering  <meyering@lucent.com>
94347
94348         The following changes were prompted by suggestions from Bruno Haible.
94349
94350         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
94351         is now generated.
94352         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
94353         definition of EXTRA_DIST.
94354         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
94355         ensure that the generated file is created/updated whenever the list
94356         of $(unlocked_functions) is changed.
94357         (jm-glibc-io.m4): New rule.
94358         (unlocked-io.h): New rule -- currently unused.
94359
94360 2001-06-24  Jim Meyering  <meyering@lucent.com>
94361
94362         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
94363         unmatched right bracket, rather than kludging it with an extra,
94364         falsely-matching quote in a comment.  Patch by Akim Demaille.
94365
94366 2001-06-11  Jim Meyering  <meyering@lucent.com>
94367
94368         * lib/regex.c: Update from GNU libc.
94369
94370 2001-05-27  Jim Meyering  <meyering@lucent.com>
94371
94372         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
94373         Check for ut_type in struct utmp.
94374
94375 2001-05-27  Jim Meyering  <meyering@lucent.com>
94376
94377         * lib/readutmp.h (UT_TYPE): Define.
94378
94379 2001-05-24  Jim Meyering  <meyering@lucent.com>
94380
94381         * lib/argmatch.c: Include "quote.h".
94382         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
94383         quote function.  Reported by Göran Uddeborg.
94384
94385 2001-05-22  Jim Meyering  <meyering@lucent.com>
94386
94387         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
94388         now that we use the package-supplied version unconditionally.
94389         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
94390
94391 2001-05-21  Jim Meyering  <meyering@lucent.com>
94392
94393         * m4/regex.m4: Change a couple backticks to single quotes to avoid
94394         shell syntax errors.
94395
94396 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94397
94398         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
94399
94400 2001-05-20  Paul Eggert  <eggert@twinsun.com>
94401
94402         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
94403         Don't bother to check library strftime, since
94404         we'll be using our own my_strftime function anyway.
94405         Define my_strftime instead of strftime.
94406
94407 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
94408
94409         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
94410         which is not yet declared.
94411
94412 2001-05-15  Jim Meyering  <meyering@lucent.com>
94413
94414         * m4/regex.m4: Use proper quoting so brackets appear in the test
94415         program.
94416         Reported by, and with help from, Bruno Haible.
94417
94418 2001-05-13  Jim Meyering  <meyering@lucent.com>
94419
94420         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
94421         undefined.
94422
94423 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94424
94425         dirname code cleanup.  base_name now behaves more compatibly
94426         with POSIX basename when given file names that have trailing
94427         slashes, and similarly for dir_name.  Add new primitives
94428         base_len and dir_len.  Put the directory-name-related decls
94429         into dirname.h.
94430
94431         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
94432         * lib/backupfile.c (base_name): Likewise.
94433         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
94434         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
94435         * lib/makepath.c (strip_trailing_slashes): Likewise.
94436         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
94437         ISSLASH): Likewise.
94438         * lib/rename.c (strip_trailing_slashes): Likewise.
94439         * lib/same.c (base_name): Likewise.
94440         * lib/stripslash.c (ISSLASH): Likewise.
94441
94442         * lib/addext.c: Include <dirname.h> after size_t is defined.
94443         * lib/backupfile.c: Likewise.
94444
94445         * lib/addext.c (addext): Use base_len to trim redundant
94446         trailing slashes instead of doing it ourselves.
94447         But do not trim the last slash if it is not redundant.
94448
94449         * lib/backupfile.c (find_backup_file_name,
94450         max_backup_version): Use base_len instead of rolling it ourselves.
94451         Handle the case of "" and (on DOS) "C:" correctly.
94452
94453         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
94454         needed. Include <string.h>, <dirname.h>.
94455         (base_name): Allow file names ending in slashes, other than names
94456         that are all slashes.  In this case, return the basename followed
94457         by the slashes.  This is more general, and can be used in places
94458         where the original base_name purposely had an assertion failure.
94459         (base_len): New function.
94460
94461         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
94462         Do not include <assert.h>; no longer needed.
94463         Include xalloc.h.
94464         (memrchr): Remove decl.
94465         (dir_name_r): Remove.
94466         (dir_len): Renamed from dirlen.  All callers changed.
94467         Rewrite in terms of base_name, for simplicity and consistency.
94468         (dir_name): Never return NULL.  All callers changed.
94469         Do not include <stdlib.h> in test program; no longer needed.
94470         return 0; is fine for test program.
94471
94472         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
94473         New macros.
94474         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
94475
94476         * lib/path-concat.c (path_concat): Use base_len to compute
94477         base length, not strlen; this means we cannot rely on memcpy
94478         to null-terminate.
94479
94480         * lib/same.c (STREQ): Remove.
94481         (same_name): Handle the case where the basename ends in trailing '/'.
94482
94483         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
94484         a slash was stripped.  Do not strip the last slash after a
94485         file system prefix.
94486
94487 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94488
94489         * lib/Makefile.am (libfetish_a_SOURCES):
94490         Add strftime.c, since we now compile it on all hosts.
94491
94492         * lib/strftime.c (my_strftime):
94493         Define to nstrftime if emacs, but only if my_strftime is not defined.
94494         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
94495         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
94496         Add one more extra argument: a nanoseconds value.
94497         All uses changed.
94498         (ns): New macro.
94499         (my_strftime function): Add %N format.
94500         (emacs_strftimeu): Renamed from emacs_strftime,
94501         with extra ut argument.
94502
94503 2001-05-09  Paul Eggert  <eggert@twinsun.com>
94504
94505         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
94506
94507 2001-04-21  Jim Meyering  <meyering@lucent.com>
94508
94509         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
94510         doesn't interfere.
94511
94512 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94513
94514         * m4/ftruncate.m4: Check for chsize.
94515         Link with ftruncate.o unconditionally if ftruncate is missing.
94516         This was required when cross-compiling to i586-mingw32msvc.
94517
94518 2001-04-08  Jim Meyering  <meyering@lucent.com>
94519
94520         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
94521         recomputed; that's necessary when the offset spans a DST transition.
94522         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
94523
94524 2001-04-02  Jim Meyering  <meyering@lucent.com>
94525
94526         * lib/regex.h, regex.c: Update from GNU libc.
94527
94528 2001-03-24  Jim Meyering  <meyering@lucent.com>
94529
94530         * m4/jm-macros.m4: Require autoconf-2.49d.
94531
94532 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
94533
94534         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
94535
94536 2001-03-19  Paul Eggert  <eggert@twinsun.com>
94537
94538         * lib/version-etc.c (version_etc_copyright): Update to 2001.
94539
94540 2001-03-17  Jim Meyering  <meyering@lucent.com>
94541
94542         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
94543         now that the version in autoconf is equivalent.
94544         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
94545
94546         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
94547         Suggestion from Akim Demaille.
94548
94549         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
94550         (jm_PREREQ_TEMPNAME): New function.
94551
94552 2001-03-16  Paul Eggert  <eggert@twinsun.com>
94553
94554         * lib/tempname.c (uint64_t): Define to uintmax_t if
94555         not defined, and if UINT64_MAX is not defined.
94556         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
94557         Reported by John David Anglin.
94558
94559 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
94560
94561         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
94562         resolve alias if codeset is empty.
94563         * lib/config.charset (BeOS): Use wildcard syntax.
94564
94565 2001-03-13  Jim Meyering  <meyering@lucent.com>
94566
94567         * lib/path-concat.c (path_concat)
94568         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
94569         concatenating e.g., `C:' and `foo'.
94570         From Bruno Haible.
94571
94572 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94573
94574         * lib/localcharset.c (locale_charset): Don't use
94575         setlocale(LC_CTYPE,NULL). Don't return NULL.
94576         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
94577
94578 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94579
94580         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
94581         support for DOS/DJGPP.
94582
94583 2001-03-01  Paul Eggert  <eggert@twinsun.com>
94584
94585         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
94586         lacks mkstemp.  Compile our own tempname.c if we compile our own
94587         mkstemp.c, as mkstemp relies on tempname.
94588
94589 2001-03-01  Jim Meyering  <meyering@lucent.com>
94590
94591         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
94592         AH_VERBATIM really does output its argument verbatim.
94593
94594 2001-02-28  Paul Eggert  <eggert@twinsun.com>
94595
94596         * lib/Makefile.am (libfetish_a_SOURCES):
94597         Add dup-safer.c, fopen-safer.c.
94598         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
94599
94600         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
94601         * lib/unistd-safer.h: New files.
94602
94603 2001-02-25  Paul Eggert  <eggert@twinsun.com>
94604
94605         The mkstemp replacement is taken from glibc 2.2.2, with some
94606         portability fixes for use outside glibc, as follows:
94607
94608         * lib/tempname.c (struct_stat64): New macro.
94609         (direxists, __gen_tempname): Use it.
94610         This avoids a portability problem with Solaris 8.
94611
94612         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
94613         (<stddef.h>, <stdint.h>, <string.h>):
94614         Include only if STDC_HEADERS || _LIBC.
94615         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
94616         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
94617         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
94618         (__set_errno): Define this macro if <errno.h> doesn't.
94619         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
94620         Define these macros if <stdio.h> doesn't.
94621         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
94622         Define these macros if <sys/stat.h>
94623         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
94624         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
94625         __xstat64): Define if not _LIBC.
94626         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
94627         (__gen_tempname): Invoke gettimeofday only if
94628         HAVE_GETTIMEOFDAY || _LIBC;
94629         otherwise, fall back on plain "time".
94630         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
94631
94632         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
94633
94634         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
94635
94636 2001-02-18  Paul Eggert  <eggert@twinsun.com>
94637
94638         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
94639
94640 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94641
94642         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
94643         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
94644         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
94645         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94646
94647 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94648
94649         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
94650         Remove workaround macros for hosts that have mbrtowc but not
94651         mbstate_t, as we now insist on proper declarations for both
94652         before using mbrtowc.
94653
94654 2001-02-17  Jim Meyering  <meyering@lucent.com>
94655
94656         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
94657         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
94658         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
94659         UnixWare 7.1.1.
94660
94661         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
94662         rather than AC_CACHE_VAL.
94663
94664 2001-02-17  Jim Meyering  <meyering@lucent.com>
94665
94666         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
94667         around included file name.
94668
94669         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
94670
94671         * lib/strftime.c: Update from GNU libc (the only changes were to
94672         comments).
94673
94674 2001-02-17  Jim Meyering  <meyering@lucent.com>
94675
94676         * lib/regex.c: Update from libc.
94677
94678 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
94679
94680         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
94681         clash.
94682
94683 2001-02-16  Paul Eggert  <eggert@twinsun.com>
94684
94685         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
94686         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
94687         Reported by Mark Hounschell via Paul Eggert.
94688
94689 2001-02-07  Jim Meyering  <meyering@lucent.com>
94690
94691         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
94692
94693 2001-02-05  Jim Meyering  <meyering@lucent.com>
94694
94695         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
94696         it includes the patch required for `large file' support with at least
94697         HP-UX's 10.20 /bin/cc.
94698
94699 2001-02-03  Jim Meyering  <meyering@lucent.com>
94700
94701         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
94702         AS_IF, now that it works once again (mysteriously).
94703         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94704
94705 2001-01-30  Jim Meyering  <meyering@lucent.com>
94706
94707         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
94708         * m4/chown.m4: Rename conftestchown to conftest.chown.
94709         * m4/rename.m4: s/conftestdir/conftest.d1/ and
94710         s/conftestdir2/conftest.d2/.
94711         * m4/utimes.m4: s/conftestdata/conftest.data/
94712         Inspired by Pavel Roskin's change in autoconf.
94713
94714 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
94715
94716         * lib/config.charset: Update for FreeBSD 4.2.
94717
94718 2001-01-27  Jim Meyering  <meyering@lucent.com>
94719
94720         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
94721         a use of AS_IF.
94722         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94723
94724 2001-01-26  Jim Meyering  <meyering@lucent.com>
94725
94726         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
94727         quotearg.c includes it.
94728
94729 2001-01-26  Jim Meyering  <meyering@lucent.com>
94730
94731         * lib/quotearg.c: Include stddef.h.
94732         * lib/quote.c: Include stddef.h.
94733         Reported by Axel Kittenberger.
94734
94735         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
94736         line in double quotes so that it evokes a better diagnostic.
94737         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
94738         Reported by Axel Kittenberger.
94739
94740 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
94741
94742         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
94743         as if it was a `charset'.
94744
94745 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94746
94747         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
94748         has const.
94749
94750 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94751
94752         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
94753         to avoid a warning.  Add back 'const' to inptr.
94754
94755 2001-01-20  Jim Meyering  <meyering@lucent.com>
94756
94757         Be sure that headers are checked before used in code compiled
94758         for the type checks.
94759         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
94760         In place of that, invoke jm_CHECK_ALL_TYPES.
94761         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
94762         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
94763         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
94764         The check for ssize_t was mistakenly run before the test for unistd.h.
94765
94766         The configure-time check for stdbool.h was missing.
94767         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
94768         (jm_PREREQ_HASH): New function.
94769
94770 2001-01-17  Jim Meyering  <meyering@lucent.com>
94771
94772         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
94773         for autoconf-2.49c.
94774         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
94775
94776 2001-01-16  Jim Meyering  <meyering@lucent.com>
94777
94778         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
94779         From Bruno Haible.
94780
94781 2001-01-14  Jim Meyering  <meyering@lucent.com>
94782
94783         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
94784         foo and bar.  Create conftestdir/ in the script, not in the C code.
94785         Remove directories in the script, not in the C code.
94786         Remove conftestdir{,2} before trying to create the directory.
94787         Make the entire configure script fail if the mkdir fails.
94788
94789 2001-01-14  Jim Meyering  <meyering@lucent.com>
94790
94791         * lib/rename.c: New file.  From Volker Borchert.
94792         Include stdlib.h, string.h or strings.h, and xalloc.h.
94793         Use strip_trailing_slashes rather than open-coding it.
94794
94795 2001-01-03  Paul Eggert  <eggert@twinsun.com>
94796
94797         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
94798
94799 2001-01-03  Jim Meyering  <meyering@lucent.com>
94800
94801         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
94802         of local `inptr' to avoid warning with some system declarations of
94803         iconv.
94804
94805 2001-01-02  Volker Borchert  <bt@teknon.de>
94806
94807         * m4/rename.m4: New file.
94808         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
94809
94810 2001-01-01  Jim Meyering  <meyering@lucent.com>
94811
94812         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
94813         even on systems with utmpx.h.  It's necessary for the declaration of
94814         utmp's ut_user member.  Reported by Andreas Jaeger.
94815
94816         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
94817         available. They are required for the declarations of getgrgid and
94818         getpwuid resp.
94819         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
94820         Reported by Andreas Jaeger.
94821
94822 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
94823
94824         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
94825         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
94826         so `make install' also works in VPATH builds.
94827
94828 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
94829
94830         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
94831         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
94832         can be used in subdirectories.
94833
94834 2000-12-29  Paul Eggert  <eggert@twinsun.com>
94835
94836         * lib/modechange.c: Do not assume that mode_t uses the
94837         traditional octal encoding.  E.g. "chmod 1 FOO" should set
94838         the other-execute bit of FOO even if S_IXOTH != 1.
94839
94840         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
94841         WOTH, XOTH, ALLM): New macros.
94842         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
94843          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
94844         Use them.
94845         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
94846         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
94847         (mode_compile):
94848         No need to use uintmax_t; unsigned long is long enough.
94849         Don't bother to get suffix since we don't use it.
94850
94851 2000-12-26  Jim Meyering  <meyering@lucent.com>
94852
94853         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
94854         better with autoheader.
94855
94856 2000-12-24  Jim Meyering  <meyering@lucent.com>
94857
94858         * lib/hash.c (is_prime): Return explicit boolean values.
94859         (hash_get_first): Return NULL to appease Irix5.6's 89.
94860         Reported by Nelson Beebe.
94861
94862 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
94863
94864         * lib/localcharset.c (locale_charset): Add support for Win32.
94865
94866 2000-12-18  Paul Eggert  <eggert@twinsun.com>
94867
94868         * lib/physmem.h, lib/physmem.c: New files.
94869
94870         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
94871         (noinst_HEADERS): Add physmem.h.
94872
94873         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
94874         't' for compatibility with Solaris 8 sort.
94875
94876 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
94877
94878         * lib/config.charset: Add support for BeOS.
94879
94880 2000-12-17  Jim Meyering  <meyering@lucent.com>
94881
94882         * m4/dos.m4 (jm_AC_DOS): New file and macro.
94883         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
94884
94885 2000-12-16  Jim Meyering  <meyering@lucent.com>
94886
94887         This bug had a serious impact on chown: `chown N:M FILE' (for integer
94888         N and M) would have treated it like `chown N:N FILE'.
94889
94890         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
94891
94892 2000-12-16  Jim Meyering  <meyering@lucent.com>
94893
94894         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
94895         SHELLS_FILE to a file name that's useful on djgpp systems.
94896         Include stdlib.h.
94897         (ADDITIONAL_DEFAULT_SHELLS): Define.
94898         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
94899         Based mostly on a patch from Prashant TR.
94900
94901 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
94902
94903         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
94904         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
94905         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
94906
94907 2000-12-08  Andreas Schwab  <schwab@suse.de>
94908
94909         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
94910         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
94911
94912 2000-12-07  Jim Meyering  <meyering@lucent.com>
94913
94914         * lib/stripslash.c (ISSLASH): Define.
94915         (strip_trailing_slashes): Use ISSLASH rather than comparing against
94916         `/'.
94917         From Prashant TR.
94918
94919         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
94920         (dir_name_r): Declare this function as static.
94921         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
94922         manifest itself on a name containing a mix of slashes and
94923         backslashes.
94924         Make this function work with names starting with a DOS-style
94925         drive letter and colon prefix.
94926         (dir_name): Append `.' if necessary.
94927         Based mostly on patches from Prashant TR and Eli Zaretskii.
94928
94929         * lib/dirname.h (dir_name_r): Remove prototype.
94930
94931 2000-12-06  Paul Eggert  <eggert@twinsun.com>
94932
94933         * m4/off_t-format.m4: Remove this file.
94934         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
94935
94936 2000-12-06  Jim Meyering  <meyering@lucent.com>
94937
94938         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
94939         replacement strtoull, we may well need the replacement strtoul, too.
94940         Check for declarations of strtoul and strtoull.
94941         Check for strtol.  Mainly as a cue to cause automake to include
94942         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
94943         Check for limits.h -- strtol.c needs it.
94944
94945 2000-12-05  Jim Meyering  <meyering@lucent.com>
94946
94947         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
94948
94949 2000-12-04  Jim Meyering  <meyering@lucent.com>
94950
94951         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
94952         Also include memory.h, stdlib.h, unistd.h if appropriate.
94953         Reported by Andreas Jaeger (conflicting declaration of malloc).
94954
94955 2000-12-02  Jim Meyering  <meyering@lucent.com>
94956
94957         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
94958         * m4/jm-macros.m4 (jm_MACROS): require it.
94959
94960 2000-12-02  Jim Meyering  <meyering@lucent.com>
94961
94962         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
94963
94964 2000-12-01  Paul Eggert  <eggert@twinsun.com>
94965
94966         * lib/memrchr.c: Include <config.h> before any system include file.
94967
94968 2000-11-30  Jim Meyering  <meyering@lucent.com>
94969
94970         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
94971
94972 2000-11-30  Jim Meyering  <meyering@lucent.com>
94973
94974         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
94975
94976 2000-11-29  Paul Eggert  <eggert@twinsun.com>
94977
94978         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
94979
94980 2000-11-26  Jim Meyering  <meyering@lucent.com>
94981
94982         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
94983
94984 2000-11-22  Paul Eggert  <eggert@twinsun.com>
94985
94986         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
94987         size of (size_t) -1; it's not portable.
94988
94989 2000-11-17  Jim Meyering  <meyering@lucent.com>
94990
94991         * lib/strstr.c: Update from GNU libc.
94992
94993 2000-11-17  Akim Demaille  <akim@epita.fr>
94994
94995         * lib/obstack.h: Formatting changes.
94996         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
94997         prevent type checking.
94998         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
94999         cast the value to (void *): assigning a `foo *' to a `void *'
95000         variable is valid.
95001         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
95002
95003 2000-11-16  Jim Meyering  <meyering@lucent.com>
95004
95005         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
95006
95007 2000-11-11  Jim Meyering  <meyering@lucent.com>
95008
95009         * lib/error.c: Add a couple #includes, merging from GNU libc version.
95010
95011 2000-11-10  Jim Meyering  <meyering@lucent.com>
95012
95013         * lib/obstack.h: Update from GNU libc.
95014         * lib/obstack.c: Likewise.
95015
95016 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
95017
95018         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
95019
95020 2000-11-06  Paul Eggert  <eggert@twinsun.com>
95021
95022         * lib/getusershell.c (setusershell): Use rewind rather than
95023         fseek/fseeko, to avoid configuration hassles with fseeko.
95024         Don't bother opening SHELLS_FILE if shellstream is NULL;
95025         it's not necessary.
95026
95027 2000-11-05  Jim Meyering  <meyering@lucent.com>
95028
95029         * lib/makepath.h (make_dir): Declare.
95030         * lib/makepath.c (make_dir): Remove `static' attribute.
95031         Tweak a comment.
95032
95033 2000-11-04  Jim Meyering  <meyering@lucent.com>
95034
95035         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
95036
95037 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
95038
95039         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
95040         last one in a bucket, advance to the next bucket.
95041
95042 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
95043
95044         * lib/fnmatch.c: Do not comment out all the code if we are using
95045         the GNU C library, because in some cases we are replacing buggy
95046         code in the GNU C library itself.
95047
95048 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
95049
95050         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
95051         (regex_compile): Catch bogus \(\1\).
95052
95053 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95054
95055         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
95056         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
95057         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
95058
95059 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95060
95061         * lib/error.h, getline.h, modechange.h:
95062         Remove "2000" from Copyright line, as the file hasn't been
95063         changed this year other than in the copyright notice.
95064
95065         * lib/xalloc.h: Add "2000" to Copyright line, as this file
95066         was changed this year.
95067
95068 2000-10-29  Jim Meyering  <meyering@lucent.com>
95069
95070         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
95071         renaming.
95072         * m4/ls-mntd-fs.m4: Likewise
95073
95074 2000-10-29  Jim Meyering  <meyering@lucent.com>
95075
95076         * lib/xstat.in: Fix grammar in comment.
95077
95078 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
95079
95080         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
95081         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
95082         doesn't define __restrict_arr.
95083
95084 2000-10-28  Jim Meyering  <meyering@lucent.com>
95085
95086         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
95087         (jm_PREREQ_MEMCHR): New function.
95088
95089 2000-10-28  Jim Meyering  <meyering@lucent.com>
95090
95091         * lib/memchr.c: Update from libc.
95092         Adjust for portability:
95093         [HAVE_STDLIB_H]: Include stdlib.h.
95094         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
95095         Undef __memchr, too.
95096         [!weak_alias]: Define __memchr to memchr.
95097
95098         * lib/regex.c: Update from libc.
95099         * lib/regex.h: Likewise.
95100         * lib/getopt1.c: Likewise.
95101         * lib/memcmp.c: Likewise.
95102
95103         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
95104         Avoid using fseek, when possible -- it's broken by design.
95105         Patch by Ulrich Drepper.
95106
95107 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
95108
95109         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
95110         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
95111         Giving in to popular pressure to shut up the compiler with casts.
95112
95113 2000-10-26  Jim Meyering  <meyering@lucent.com>
95114
95115         * lib/strftime.c: Update from libc.
95116
95117 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
95118
95119         * regex.c: More `unsigned char' -> `re_char' changes.
95120         Also change several `int' into `re_wchar_t'.
95121         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
95122         (PUSH_FAILURE_POINTER): Don't cast any more.
95123         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
95124         We want GCC to complain, since this piece of code makes
95125         re_match non-reentrant, which *should* be fixed.
95126         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
95127         (EXTEND_BUFFER): Use RETALLOC.
95128         (SET_LIST_BIT): Don't cast.
95129         (re_wchar_t): New type.
95130         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
95131         that those two functions will always properly return.
95132         (IMMEDIATE_QUIT_CHECK): Cast to void.
95133         (analyse_first): Use recursion rather than an explicit stack.
95134         (re_compile_fastmap): Can't fail anymore.
95135         (re_search_2): Don't check re_compile_fastmap for failure.
95136         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
95137         Now also sets the new value (passed in a new argument).
95138         (re_match_2_internal): Use it.
95139         Also, use a new var `reg' of type size_t when looping through regs
95140         rather than reuse the inappropriate `mcnt'.
95141
95142 2000-10-25  Jim Meyering  <meyering@lucent.com>
95143
95144         * lib/obstack.c: Update from libc.
95145
95146 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
95147
95148         * regex.c (regex_compile): Change the way of handling a range from
95149         a char less than 256 to a char not less than 256.
95150
95151 2000-10-24  Andrew Innes  <andrewi@gnu.org>
95152
95153         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
95154         NT-Emacs only.
95155         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
95156         so that re_search functions only quit when callers expect them to.
95157
95158 2000-10-23  Jim Meyering  <meyering@lucent.com>
95159
95160         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
95161         wrong.  That set_locale call must not have any side effects.
95162         From Paul Eggert.
95163
95164 2000-10-22  Jim Meyering  <meyering@lucent.com>
95165
95166         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
95167         [CYCLIC]: Remove now-unused definition.
95168
95169         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
95170         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
95171         Suggestion from Ulrich Drepper.
95172
95173 2000-10-21  Jim Meyering  <meyering@lucent.com>
95174
95175         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
95176         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
95177         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
95178
95179 2000-10-21  Jim Meyering  <meyering@lucent.com>
95180
95181         * lib/dirname.c (memrchr): Declare if necessary.
95182         (dir_name): Remove the restriction that there be no
95183         trailing slashes.  Now, this code skips past them, effectively
95184         ignoring them.
95185         [TEST_DIRNAME] (main): New unit tests.
95186
95187         * lib/memrchr.c: New file from GNU libc.
95188         Undef __memrchr, too.
95189         [!weak_alias]: Define __memrchr to memrchr.
95190         Guard weak_alias use with `#ifdef weak_alias'.
95191
95192 2000-10-21  Jim Meyering  <meyering@lucent.com>
95193
95194         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
95195         (dir_name): Use dir_name_r.
95196         * lib/dirname.h (dir_name_r): Declare it.
95197
95198 2000-10-17  Jim Meyering  <meyering@lucent.com>
95199
95200         * lib/quote.h (PARAMS): Define and use.
95201         Reported by Akim Demaille.
95202
95203         * lib/getopt.c: Update from libc.
95204
95205 2000-10-16  Jim Meyering  <meyering@lucent.com>
95206
95207         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
95208         setlocale.
95209         From Jan Fedak.
95210
95211 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
95212
95213         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
95214
95215 2000-09-25  Jim Meyering  <meyering@lucent.com>
95216
95217         * lib/md5.h (rol): Define (from GnuPG).
95218
95219         * lib/sha.c: Give credit (GnuPG) where due.
95220         (M): Use rol rather than open-coding it.
95221         Add a FIXME comment.
95222
95223 2000-09-21  Jim Meyering  <meyering@lucent.com>
95224
95225         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
95226         Reported by Michael Stone.
95227
95228 2000-09-20  Jim Meyering  <meyering@lucent.com>
95229
95230         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
95231         (noinst_HEADERS): Add sha.h.
95232         Based on code from Scott G. Miller and from GnuPG.
95233
95234 2000-09-18  Jim Meyering  <meyering@lucent.com>
95235
95236         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
95237         LIBS. Otherwise, everyone ends up linking with -lelf for some
95238         configurations.
95239         Reported by Mike Stone.
95240
95241 2000-09-15  Jim Meyering  <meyering@lucent.com>
95242
95243         * lib/regex.c: Update from libc.
95244
95245 2000-09-10  Jim Meyering  <meyering@lucent.com>
95246
95247         * lib/getopt.c (_getopt_internal): Update from glibc.
95248
95249 2000-09-09  Jim Meyering  <meyering@lucent.com>
95250
95251         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
95252         think it should be used as a general replacement for isascii.
95253         * lib/fnmatch.c: Likewise.
95254         * lib/mbswidth.c: Likewise
95255         * lib/regex.c: Likewise.
95256
95257         Don't use atoi.
95258         * lib/userspec.c: Include sys/param.h and limits.h.
95259         Include xstrtol.h.
95260         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95261         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
95262         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
95263         UID, GID.  Check range.
95264
95265 2000-09-06  Jim Meyering  <meyering@lucent.com>
95266
95267         * lib/getopt.c (_getopt_internal): Update from glibc.
95268
95269 2000-08-30  Jim Meyering  <meyering@lucent.com>
95270
95271         * lib/strftime.c: Merge in changes from GNU libc.
95272
95273 2000-08-26  Jim Meyering  <meyering@lucent.com>
95274
95275         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
95276         * m4/fpending.m4: New file.
95277
95278 2000-08-26  Jim Meyering  <meyering@lucent.com>
95279
95280         * lib/closeout.c: Include "__fpending.h".
95281         (close_stdout_status): Return right away if there's nothing to flush.
95282
95283         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
95284         * lib/__fpending.c: New file.
95285         * lib/__fpending.h: New file.
95286
95287 2000-08-20  Jim Meyering  <meyering@lucent.com>
95288
95289         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
95290         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
95291         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
95292
95293 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
95294
95295         Improve fileutils installation on systems where running
95296         programs (like install) can't be unlinked.
95297         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
95298         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
95299
95300 2000-08-07  Paul Eggert  <eggert@twinsun.com>
95301
95302         Standardize on "memory exhausted" instead of "Memory exhausted"
95303         or "virtual memory exhausted".
95304         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
95305         "virtual memory exhausted".
95306         * lib/same.c (same_name): Invoke xalloc_die instead of printing
95307         our own message.
95308         * lib/userspec.c (parse_user_spec): Likewise.
95309         * lib/bumpalloc.h: comment fix
95310         * lib/same.c, userspec.c: Include xalloc.h.
95311
95312         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
95313         not char *const and pointing to a constant array.
95314         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
95315         (xrealloc): Comment fix.
95316
95317         * lib/userspec.c (parse_user_spec):
95318         Don't translate a message until just before returning,
95319         to avoid unnecessary translation.
95320
95321 2000-08-07  Jim Meyering  <meyering@lucent.com>
95322
95323         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
95324         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
95325         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
95326         getgroups.c, gethostname.c, getopt.h, group-member.c,
95327         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
95328         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
95329         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
95330         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
95331         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
95332         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
95333         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
95334         yesno.c: Back out Copyright date changes for each file with no change
95335         this year.  This eases coordination with other programs using the same
95336         source code modules.  From Paul Eggert.
95337
95338 2000-08-06  Paul Eggert  <eggert@twinsun.com>
95339
95340         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
95341         not char, for compatibility with glibc 2.1.3 strftime.c.
95342
95343 2000-08-03  Greg McGary  <greg@mcgary.org>
95344
95345         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
95346         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
95347         (EXTEND_BUFFER): Use them.
95348
95349 2000-08-01  Jim Meyering  <meyering@lucent.com>
95350
95351         * lib/dirname.c (ISSLASH): Define.
95352         (BACKSLASH_IS_PATH_SEPARATOR): Define.
95353         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
95354         both `\' and `/' may be use as path separators.
95355         Based on a patch from Prashant TR.
95356
95357 2000-07-31  Paul Eggert  <eggert@twinsun.com>
95358
95359         * lib/quotearg.c (quotearg_n_options): Don't make the initial
95360         slot vector a constant, since it might get modified.
95361
95362 2000-07-31  Jim Meyering  <meyering@lucent.com>
95363
95364         * lib/xmalloc.c: Use `virtual memory exhausted', not
95365         `Memory exhausted'.
95366         * lib/obstack.c (print_and_abort): Likewise.
95367
95368 2000-07-30  Paul Eggert  <eggert@twinsun.com>
95369
95370         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
95371         buffer, so that the caller can always quote one small
95372         component of a "memory exhausted" message in slot 0.
95373         From a suggestion by Jim Meyering.
95374
95375 2000-07-30  Jim Meyering  <meyering@lucent.com>
95376
95377         * lib/makepath.c (make_path): Quote the other instance, too.
95378
95379         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
95380         (STATIC_BUF_SIZE): Define.
95381         (quotearg_n_options): Use only statically allocated storage when
95382         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
95383         than STATIC_BUF_SIZE.
95384
95385 2000-07-29  Jim Meyering  <meyering@lucent.com>
95386
95387         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
95388         * lib/dirname.c (dir_name): Likewise.
95389
95390         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
95391         `/'.
95392
95393         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
95394         (dir_name): Assert that there are no trailing slashes.
95395
95396 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
95397
95398         * lib/mbswidth.h (mbswidth): Add a flags argument.
95399         (mbswidth): New declaration.
95400         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
95401         * lib/mbswidth.c (mbswidth): Add a flags argument.
95402         (mbsnwidth): New function.
95403
95404 2000-07-24  Jim Meyering  <meyering@lucent.com>
95405
95406         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
95407
95408 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95409
95410         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
95411
95412 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95413
95414         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
95415         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
95416         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
95417         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
95418         invoke multibyte primitives.
95419
95420 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95421
95422         * lib/quotearg.c:
95423         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
95424         so that mbstate_t is always defined.
95425
95426         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
95427         be 1 in at least one GCC installation, and this configuration
95428         error is likely to be common.  Ignoring MB_LEN_MAX hurts
95429         performance on hosts that have mbrtowc but have only unibyte
95430         locales, but I assume these hosts are rare.
95431
95432 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95433
95434         * lib/mbswidth.c (_XOPEN_SOURCE):
95435         Don't define; this causes problems on Solaris 7.
95436         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
95437
95438 2000-07-23  Jim Meyering  <meyering@lucent.com>
95439
95440         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
95441         too: getgrgid, getpwuid, getuid.
95442
95443 2000-07-23  Jim Meyering  <meyering@lucent.com>
95444
95445         * lib/basename.c (base_name): Add an assertion.
95446
95447 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
95448
95449         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
95450         shadow its mbsinit function.
95451
95452 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95453
95454         * lib/mbswidth.h: New file.
95455         * lib/mbswidth.c: New file.
95456         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
95457         (noinst_HEADERS): Add mbswidth.h.
95458
95459 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95460
95461         * lib/config.charset: Add support for FreeBSD. Improve support for
95462         HP-UX and IRIX 6.
95463
95464 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
95465
95466         * m4/mbswidth.m4: New file.
95467         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
95468
95469 2000-07-15  Jim Meyering  <meyering@lucent.com>
95470
95471         * lib/makepath.c: Include quote.h.
95472         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
95473         corresponding argument in a `quote (...)' call.
95474         Give better diagnostics.
95475
95476         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
95477         (noinst_HEADERS): Add quote.h.
95478
95479         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
95480         from tar's src/misc.c.
95481         * lib/quote.h: New file.  Prototypes for same.
95482
95483 2000-07-14  Paul Eggert  <eggert@twinsun.com>
95484
95485         From a suggestion by Bruno Haible.
95486         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
95487         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
95488         to decide whether to define the BeOS workaround macro;
95489         this adjusts to the change to AC_MBSTATE_T.
95490
95491 2000-07-14  Jim Meyering  <meyering@lucent.com>
95492
95493         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
95494         jm_AC_TYPE_UINTMAX_T.
95495
95496 2000-07-13  Paul Eggert  <eggert@twinsun.com>
95497
95498         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
95499
95500         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
95501         quotearg_buffer_restyled): Add support for
95502         clocale_quoting_style.  Undo previous change to
95503         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
95504         and "{RIGHT QUOTATION MARK}" msgids.
95505
95506 2000-07-10  Paul Eggert  <eggert@twinsun.com>
95507
95508         From a suggestion by Bruno Haible.
95509         * m4/mbstate_t.m4 (AC_MBSTATE_T):
95510         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
95511         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
95512         and mbstate_t, to a single-part test that simply defines mbstate_t.
95513         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
95514         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
95515
95516 2000-07-10  Jim Meyering  <meyering@lucent.com>
95517
95518         * m4/strerror_r.m4: Mirror the correction made in autoconf.
95519
95520         * m4/gnu-source.m4: Output to confdefs.h directly.
95521         Suggestion from Akim Demaille.
95522
95523 2000-07-09  Paul Eggert  <eggert@twinsun.com>
95524
95525         The old behavior of quoting `like this' doesn't look good with
95526         newer, ISO-style fonts.  See:
95527         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
95528
95529         Instead, quote "like this" by default.  Let the translator
95530         tailor the locale-specific quoting behavior by providing
95531         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
95532
95533         * lib/quotearg.c (N_): New macro.
95534         (gettext_default): New function.
95535         (quotearg_buffer_restyled): Use
95536         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
95537         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
95538
95539 2000-07-09  Jim Meyering  <meyering@lucent.com>
95540
95541         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
95542         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
95543
95544         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
95545         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
95546
95547 2000-07-09  Jim Meyering  <meyering@lucent.com>
95548
95549         * lib/Most files: Update copyright dates to include 2000.
95550
95551 2000-07-08  Jim Meyering  <meyering@lucent.com>
95552
95553         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
95554         if not defined.
95555         (xgethostname): Remove now-unnecessary #ifdef.
95556         Move declaration of `err' into loop where it's used.
95557
95558 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95559         and Bruno Haible  <haible@clisp.cons.org>
95560
95561         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
95562         only if the test for an object-type mbstate_t fails.  This
95563         prevents us from mistakenly reporting that mbstate_t is a
95564         system object type after we "#define mbstate_t int" to work
95565         around its lack.
95566
95567 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95568         and Bruno Haible  <haible@clisp.cons.org>
95569
95570         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
95571
95572 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95573
95574         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
95575         to strerror_r.
95576         Include <ctype.h> for use of isalpha.
95577
95578 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95579
95580         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
95581         by allocating a larger buffer. Test the gethostname return value for
95582         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
95583         returns an error and ENAMETOOLONG isn't defined.
95584
95585 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95586
95587         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
95588         dimension.
95589
95590 2000-07-04  Jim Meyering  <meyering@lucent.com>
95591
95592         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
95593         of the deprecated AC_CHECKING.
95594
95595 2000-07-04  Jim Meyering  <meyering@lucent.com>
95596
95597         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
95598         Reported by Bruno Haible.
95599
95600 2000-07-04  Jim Meyering  <meyering@lucent.com>
95601
95602         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
95603         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
95604         lacks mbrtowc.
95605
95606 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95607
95608         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
95609         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
95610
95611 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95612         and Bruno Haible  <haible@clisp.cons.org>
95613
95614         * lib/quotearg.c (mbrtowc):
95615         Assign to *pwc, and return 1 only if result is nonzero.
95616         (iswprint): Use ISPRINT when substituting our own mbrtowc.
95617
95618 2000-07-03  Jim Meyering  <meyering@lucent.com>
95619
95620         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
95621
95622 2000-07-03  Jim Meyering  <meyering@lucent.com>
95623
95624         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
95625         This is necessary to get a definition of e.g., UTMP_FILE on
95626         HP-UX 10.20.
95627         From Bob Proulx.
95628
95629 2000-07-02  Jim Meyering  <meyering@lucent.com>
95630
95631         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
95632
95633         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
95634         AC_LIBOBJ(function_name).
95635         * m4/chown.m4: Likewise.
95636         * m4/fnmatch.m4: Likewise.
95637         * m4/ftruncate.m4: Likewise.
95638         * m4/getgroups.m4: Likewise.
95639         * m4/getline.m4: Likewise.
95640         * m4/group-member.m4: Likewise.
95641         * m4/jm-macros.m4: Likewise.
95642         * m4/lstat.m4: Likewise.
95643         * m4/malloc.m4: Likewise.
95644         * m4/memcmp.m4: Likewise.
95645         * m4/nanosleep.m4: Likewise.
95646         * m4/putenv.m4: Likewise.
95647         * m4/realloc.m4: Likewise.
95648         * m4/regex.m4: Likewise.
95649         * m4/stat.m4: Likewise.
95650         * m4/strftime.m4: Likewise.
95651
95652 2000-07-02  Jim Meyering  <meyering@lucent.com>
95653
95654         * lib/quotearg.c (mbstate_t): Don't define here.
95655
95656 2000-07-02  Jim Meyering  <meyering@lucent.com>
95657
95658         * lib/nanosleep.c (SIGCONT): Define if not already defined.
95659
95660 2000-07-01  Jim Meyering  <meyering@lucent.com>
95661
95662         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
95663
95664 2000-07-01  Jim Meyering  <meyering@lucent.com>
95665
95666         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
95667         problem.
95668
95669 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95670
95671         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
95672         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
95673
95674 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95675
95676         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
95677         per change in ../m4/ls-mntd-fs.m4.
95678         (read_filesystem_list): Ignore symbolic links.
95679
95680 2000-06-29  Jim Meyering  <meyering@lucent.com>
95681
95682         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
95683         for declaration of strcmp.
95684
95685         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
95686
95687         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
95688         Avoid warning by casting result to `char *' to remove `const'.
95689
95690 2000-06-28  Jim Meyering  <meyering@lucent.com>
95691
95692         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
95693         included by quotearg.c, for which we perform this test.  From
95694         Bruno Haible.
95695
95696 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95697
95698         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
95699         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
95700         <utmpx.h> exists, put readutmp.o into LIBOBJS.
95701
95702 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95703
95704         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
95705
95706 2000-06-26  Paul Eggert  <eggert@twinsun.com>
95707
95708         savedir now sets errno on failure and invokes xmalloc to get memory.
95709         Fix a couple of other minor bugs while we're at it.
95710
95711         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
95712         (NAMLEN): Remove macro.
95713         (malloc, realloc): Remove decls.
95714         (stpcpy): Likewise.
95715         ("xalloc.h"): Include.
95716         (NAME_SIZE_DEFAULT): New macro.
95717         (savedir): Use xmalloc / xrealloc to allocate memory.
95718         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
95719         Skip "" directory entries.
95720         Use strlen to calculate directory entry length, since the old method
95721         is rarely used these days and isn't worth supporting.
95722         Don't use a pointer after freeing it.
95723         Check for integer overflow when calculating allocation size.
95724         Use memcpy to copy entries, instead of stpcpy.
95725         Set errno properly when returning NULL.
95726         Check for readdir error.
95727
95728 2000-06-26  Jim Meyering  <meyering@lucent.com>
95729
95730         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
95731
95732 2000-06-25  Jim Meyering  <meyering@lucent.com>
95733
95734         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
95735         Linux header bug when _XOPEN_SOURCE is defined to 500.
95736
95737 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95738
95739         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
95740         deficiency.
95741
95742 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95743
95744         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
95745         Include xalloc.h.
95746         Don't include <stdlib.h>.  Don't declare malloc, realloc.
95747
95748 2000-06-24  Jim Meyering  <meyering@lucent.com>
95749
95750         * m4/strerror_r.m4: Revive this file -- to try out an experimental
95751         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
95752         for which strerror does return char*, but which lacks a conveniently
95753         accessible declaration of the function.  If the compile-test says
95754         strerror_r doesn't work, then resort to a `run'-test that works on
95755         BeOS and segfaults on DEC Unix.
95756
95757 2000-06-24  Jim Meyering  <meyering@lucent.com>
95758
95759         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
95760
95761 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95762
95763         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
95764         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
95765
95766 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95767
95768         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
95769         (mbrtowc, mbstate_t): Define substitutes if
95770         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
95771         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
95772         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
95773
95774 2000-06-23  Jim Meyering  <meyering@lucent.com>
95775
95776         * m4/afs.m4: Add missing AC_MSG_RESULT.
95777         Reported by Bruno Haible.
95778
95779         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
95780         Suggestion from Bruno Haible.
95781
95782 2000-06-23  Jim Meyering  <meyering@lucent.com>
95783
95784         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
95785
95786 2000-06-21  Jim Meyering  <meyering@lucent.com>
95787
95788         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
95789
95790 2000-06-21  Jim Meyering  <meyering@lucent.com>
95791
95792         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
95793         (noinst_HEADERS): Add getstr.h.
95794
95795         * lib/getline.c (getstr): Move into a separate file.
95796         * lib/getstr.c (getstr): New file, extracted from getline.c, with
95797         the following changes: new parameter, delim2; both delim[12]
95798         parameters have type `int', not `char'.  The latter would lose
95799         with 8-bit delimiters.
95800         * lib/getstr.h: New file.
95801
95802 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95803
95804         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
95805         than 1024, return a memory chunk of least possible size, instead
95806         of size PATH_MAX + 2. In the loop, increment the size proportionally.
95807         Use free/xmalloc instead of xrealloc to avoid copying for very long
95808         paths.
95809
95810 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95811
95812         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
95813         the empty string.
95814
95815 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95816
95817         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
95818         address, not strdup.  Include <stdlib.h> and don't declare free().
95819
95820 2000-06-19  Jim Meyering  <meyering@lucent.com>
95821
95822         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
95823
95824 2000-06-18  Jim Meyering  <meyering@lucent.com>
95825
95826         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
95827
95828         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
95829         `checking whether...' message to be consistent with that of the
95830         lstat test.
95831
95832 2000-06-18  Jim Meyering  <meyering@lucent.com>
95833
95834         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
95835         Besides, these days every porting target provides a mkdir function.
95836
95837         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
95838         needed. (this snippet comes from src/system.h).
95839
95840 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
95841
95842         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
95843
95844 2000-06-15  Paul Eggert  <eggert@twinsun.com>
95845
95846         * lib/human.c (adjust_value): New function.
95847         (human_readable_inexact): Apply rounding style even when
95848         printing approximate values.
95849
95850 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95851
95852         * lib/human.c (human_readable_inexact): Allow an input block
95853         size that is not a multiple of the output block size, and vice versa.
95854         Reported by Piergiorgio Sartor.
95855
95856 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95857
95858         * lib/getdate.y (get_date): Apply relative times after time
95859         zone indicator, not before.  Reported by Todd A. Jacobs.
95860
95861 2000-06-13  Jim Meyering  <meyering@lucent.com>
95862
95863         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
95864
95865         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
95866
95867 2000-06-12  Paul Eggert  <eggert@twinsun.com>
95868
95869         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
95870
95871 2000-06-12  Jim Meyering  <meyering@lucent.com>
95872
95873         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
95874         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
95875         optional argument.
95876         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
95877         the optional argument, `lib'.
95878
95879 2000-06-08  Jim Meyering  <meyering@lucent.com>
95880
95881         * m4/largefile.m4: Remove file (now that it's part of autoconf).
95882
95883 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95884
95885         Rewrite largefile configuration so that we don't need to run
95886         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
95887         AC_CANONICAL_HOST in configure.in -- jmm]
95888
95889         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
95890         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
95891         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
95892         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
95893         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
95894         All uses changed.
95895         Instead of inspecting the output of getconf, try to compile the
95896         test program without and with the macro definition.
95897         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
95898         for getconf.  Instead, check for the needed flags by compiling
95899         test programs.
95900
95901 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95902
95903         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
95904
95905 2000-06-04  Jim Meyering  <meyering@lucent.com>
95906
95907         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
95908         SunOS 4.1.4 for which gid_t is an unsigned type.
95909
95910 2000-06-03  Jim Meyering  <meyering@lucent.com>
95911
95912         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
95913         now that autoconf requires that.
95914
95915         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
95916         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
95917         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
95918
95919 2000-06-03  Jim Meyering  <meyering@lucent.com>
95920
95921         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
95922
95923 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95924
95925         * m4/glibc21.m4: New file.
95926         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
95927
95928 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95929
95930         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
95931         newer, don't install charset.alias.
95932         * lib/config.charset: Change the Linux/glibc rules so they become empty
95933         on glibc-2.1 or newer.
95934
95935 2000-06-02  Jim Meyering  <meyering@lucent.com>
95936
95937         * lib/mountlist.c: Back out last change.  Instead, do this...
95938         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
95939         me_dummy member using the same `ignore'-testing code.
95940         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
95941         fs_type strings.
95942         From Mark D. Roth.
95943
95944 2000-05-29  Jim Meyering  <meyering@lucent.com>
95945
95946         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
95947         mounts with the `ignore' attribute.  Based on a patch from
95948         Mark D. Roth.
95949
95950 2000-05-28  Jim Meyering  <meyering@lucent.com>
95951
95952         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
95953         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95954         * m4/stat.m4: Likewise.
95955         * m4/lstat.m4: Likewise.
95956         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
95957
95958         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
95959         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
95960
95961 2000-05-26  Jim Meyering  <meyering@lucent.com>
95962
95963         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
95964
95965 2000-05-24  Jim Meyering  <meyering@lucent.com>
95966
95967         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
95968         autoconf requires that.
95969         * m4/lib-check.m4: Likewise.
95970         * m4/jm-macros.m4: Likewise.
95971         * m4/strftime.m4: Likewise.
95972
95973         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
95974         AC_CHECK_DECLS, now that autoconf requires that.
95975
95976 2000-05-22  Jim Meyering  <meyering@lucent.com>
95977
95978         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95979         * m4/lstat.m4: Likewise.
95980
95981 2000-05-22  Jim Meyering  <meyering@lucent.com>
95982
95983         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
95984
95985 2000-05-20  Jim Meyering  <meyering@lucent.com>
95986
95987         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
95988         (jm_PREREQ): Use it.
95989
95990 2000-05-18  Jim Meyering  <meyering@lucent.com>
95991
95992         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
95993         back, too, since it may have been modified by allocate_entry.
95994         (hash_delete): Rewrite to use neither the assignment operator
95995         nor the comma operator in an if-expression.
95996
95997 2000-05-15  Paul Eggert  <eggert@twinsun.com>
95998
95999         * lib/closeout.c:
96000         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
96001         Remove; no longer needed.
96002         "quotearg.h": Add include.
96003         (file_name): Do not bother to explicitly initialize to NULL; it's less
96004         efficient on some hosts.
96005         (close_stdout_status): Remove test as to whether stdout was already
96006         closed; it breaks for the case "echo x | sort >&-".
96007         Quote file name colons.
96008         Do not assume that _("write error") lacks format strings.
96009
96010 2000-05-15  Jim Meyering  <meyering@lucent.com>
96011
96012         * lib/version-etc.c (version_etc_copyright): Update the copyright
96013         string used in all --version output.
96014
96015 2000-05-14  Jim Meyering  <meyering@lucent.com>
96016
96017         * lib/closeout.c (close_stdout_set_file_name): New function.
96018         (close_stdout_status): Use new file-scoped global.
96019         Return right away if fstat says the stdout file descriptor is invalid.
96020         * lib/closeout.h (close_stdout_set_file_name): Declare.
96021
96022 2000-05-10  Jim Meyering  <meyering@lucent.com>
96023
96024         * lib/closeout.c [default_exit_status]: New file-scoped variable.
96025         (close_stdout_set_status): New function.
96026         * lib/closeout.h (close_stdout_set_status): Declare.
96027
96028 2000-05-09  Jim Meyering  <meyering@lucent.com>
96029
96030         * m4/gettext.m4: Rename this...
96031         * m4/libintl.m4: ...to this.
96032
96033 2000-05-08  Jim Meyering  <meyering@lucent.com>
96034
96035         * lib/long-options.c: Don't include closeout.h.
96036         (parse_long_options): Don't call close_stdout for --version.
96037
96038 2000-05-06  Paul Eggert  <eggert@twinsun.com>
96039
96040         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
96041         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
96042         2.1.3 bug.  This avoids a clash when files like regex.c define
96043         _GNU_SOURCE.
96044
96045 2000-05-06  Jim Meyering  <meyering@lucent.com>
96046
96047         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
96048         (AC_REPLACE_FUNCS): Add strnlen.
96049
96050         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
96051         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
96052
96053         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
96054         AC_SEARCH_LIBS call for nanosleep.
96055         (LIB_NANOSLEEP): Set and AC_SUBST.
96056
96057 2000-05-06  Jim Meyering  <meyering@lucent.com>
96058
96059         * lib/strnlen.c: Undefine __strnlen and strnlen.
96060         [!weak_alias]: Define __strnlen to strnlen.
96061
96062         * lib/atexit.c: New file, from libiberty.
96063
96064 2000-05-06  Jim Meyering  <meyering@lucent.com>
96065
96066         * lib/closeout.c (close_stdout_status): Also check for errors on the
96067         stderr stream.
96068
96069 2000-05-05  Jim Meyering  <meyering@lucent.com>
96070
96071         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
96072         AC_SEARCH_LIBS call for clock_gettime.
96073         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
96074
96075         * m4/search-libs.m4: Update from autoconf.
96076
96077         su doesn't work on Solaris 2.6.
96078         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
96079         <shadow.h>.  Reported by Dragos Harabor.
96080
96081 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
96082
96083         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
96084         memcpy instead of xmalloc, xrealloc, path_concat.
96085         (locale_charset): Treat empty environment variables as absent.
96086         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
96087
96088 2000-05-04  Jim Meyering  <meyering@lucent.com>
96089
96090         * lib/getopt.c: Update from glibc.
96091         * lib/obstack.c: Likewise.
96092         * lib/obstack.h: Likewise.
96093         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
96094         file
96095
96096         * lib/regex.h: Likewise.
96097         * lib/strndup.c: Likewise.
96098         * lib/strnlen.c: New file, from glibc.
96099
96100 2000-05-03  Jim Meyering  <meyering@lucent.com>
96101
96102         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
96103
96104 2000-05-02  Paul Eggert  <eggert@twinsun.com>
96105
96106         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
96107         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
96108         compile-time test, rather than inspecting host and OS, to
96109         decide whether to define _LARGEFILE_SOURCE.
96110
96111 2000-05-01  Jim Meyering  <meyering@lucent.com>
96112
96113         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
96114
96115         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
96116         Based on a patch from Bruno Haible.
96117
96118 2000-05-01  Jim Meyering  <meyering@lucent.com>
96119
96120         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
96121
96122 2000-04-29  Jim Meyering  <meyering@lucent.com>
96123
96124         * lib/path-concat.c: Declare strdup only if it's not defined.
96125         * lib/canon-host.c: Likewise.
96126
96127 2000-04-28  Jim Meyering  <meyering@lucent.com>
96128
96129         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
96130         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
96131         is included first, then limits.h is included by locale.h by libintl.h.
96132         From John David Anglin.
96133
96134 2000-04-25  Jim Meyering  <meyering@lucent.com>
96135
96136         * lib/makepath.c (S_IRWXUGO): Define.
96137         (make_path): Always perform explicit chmod if MODE specifies any
96138         of the `special' permission bits.  Prompted by a bug report against
96139         install from Mate Wierdl and Joost van Baal.
96140
96141 2000-04-18  Jim Meyering  <meyering@lucent.com>
96142
96143         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
96144         (jm_PREREQ): Use it.
96145
96146 2000-04-18  Jim Meyering  <meyering@lucent.com>
96147
96148         * lib/README: New file.
96149
96150         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
96151         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
96152
96153 2000-04-17  Jim Meyering  <meyering@lucent.com>
96154
96155         Get it right :-)
96156         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
96157         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
96158         Suggestion from Akim Demaille.
96159
96160 2000-04-17  Jim Meyering  <meyering@lucent.com>
96161
96162         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
96163         the definition of it to rpl_strftime also defined-away the system's
96164         declaration.
96165
96166 2000-04-15  Jim Meyering  <meyering@lucent.com>
96167
96168         Use `C' to denote so-called `contiguous' files, the same way
96169         that tar does.
96170         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
96171         (ftypelet): Use S_ISCTG.
96172         From Michael Deutschmann.
96173
96174 2000-04-14  Jim Meyering  <meyering@lucent.com>
96175
96176         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
96177         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
96178         clobbered.
96179
96180 2000-04-14  Jim Meyering  <meyering@lucent.com>
96181
96182         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
96183
96184 2000-04-13  Jim Meyering  <meyering@lucent.com>
96185
96186         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
96187         AH_VERBATIM to insert required #ifndef into config.h.in.
96188         Suggestion from Akim Demaille.
96189
96190 2000-04-12  Jim Meyering  <meyering@lucent.com>
96191
96192         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
96193         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
96194         Christian Krackowizer.
96195
96196         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
96197         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
96198         (AC_SYS_LARGEFILE): Require.
96199         (AM_C_PROTOTYPES): Require.
96200
96201 2000-04-08  Jim Meyering  <meyering@lucent.com>
96202
96203         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
96204         names don't conflict.  Reported by Eli Zaretskii.
96205
96206 2000-04-07  Jim Meyering  <meyering@lucent.com>
96207
96208         * lib/putenv.c: Move inclusion of errno.h so it follows that of
96209         sys/types.h, to work around system header problems on AIX 3.2.5.
96210         From Bruno Haible.
96211
96212 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
96213
96214         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
96215         bug.  Deal with the different error behavior of Irix iconv.
96216
96217 2000-04-05  Paul Eggert  <eggert@twinsun.com>
96218
96219         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
96220         IRIX if the installer said otherwise.
96221
96222 2000-04-05  Jim Meyering  <meyering@lucent.com>
96223
96224         Portability tweaks required for ultrix4.3.
96225         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
96226         (jm_CHECK_DECLS): Add getutent to the list of functions.
96227         (_jm_DECL_HEADERS): Add utmpx.h.
96228         From John David Anglin.
96229
96230         * m4/strftime.m4: Back out the 2000-04-02 change.
96231         Instead of that change, simply undefine putenv in the test program.
96232
96233 2000-04-05  Jim Meyering  <meyering@lucent.com>
96234
96235         Portability tweaks required for ultrix4.3.
96236         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
96237         getutent.
96238         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
96239         * lib/canon-host.c: Declare strdup.
96240         * lib/path-concat.c: Likewise.
96241         From John David Anglin.
96242
96243 2000-04-04  Jim Meyering  <meyering@lucent.com>
96244
96245         Be more DOS 8.3-friendly.
96246         * lib/ref-add.sin: Renamed from ref-add.sed.in.
96247         * lib/ref-del.sin: Renamed from ref-del.sed.in.
96248         * lib/Makefile.am: Reflect renaming.
96249         Reported by Eli Zaretskii.
96250
96251         Use a temporary file name that won't clash with `charset.alias'
96252         in the DOS 8.3 name space.
96253         * lib/Makefile.am (charset_tmp): Define.
96254         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
96255         (uninstall-local): Likewise.
96256         Reported by Eli Zaretskii.
96257
96258 2000-04-03  Jim Meyering  <meyering@lucent.com>
96259
96260         * m4/gettext.m4: Fix typo in comment.
96261
96262         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
96263         textutils/configure.in).  Suggestion from Paul Eggert.
96264         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
96265
96266 2000-04-02  Paul Eggert  <eggert@twinsun.com>
96267
96268         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
96269         variable in the shell rather than using putenv, which isn't
96270         portable.  This avoids the configure-time inter-test dependency
96271         on the potentially-renamed putenv function.
96272
96273 2000-03-30  Paul Eggert  <eggert@twinsun.com>
96274
96275         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
96276         before checking struct stat.st_blksize, so that
96277         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
96278
96279 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96280
96281         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
96282         since strftime.c uses HAVE_STRFTIME to decide whether to use
96283         the underlying strftime.
96284
96285 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96286
96287         * lib/time/strftime.c (my_strftime): Make sure we call the system
96288         strftime, not ourselves, when invoking the underlying strftime.
96289
96290 2000-03-24  Jim Meyering  <meyering@lucent.com>
96291
96292         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
96293         (charset_alias): Define.
96294         (install-exec-local): Factor out common code.
96295         (uninstall-local): Split lines longer than 80.
96296         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
96297         (SUFFIXES): Define.
96298         (.sed.in.sed): New rule.  Don't redirect directly to $@.
96299         (CLEANFILES): Add ref-add.sed and ref-del.sed.
96300
96301 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
96302
96303         * lib/config.charset: Output a line containing "Packages using this
96304         file".
96305         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
96306         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
96307         ref-del.sed): New rules.
96308
96309 2000-03-17  Jim Meyering  <meyering@lucent.com>
96310
96311         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
96312         Otherwise, include <strings.h>
96313
96314 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
96315
96316         * lib/unicodeio.c (utf8_wctomb): New function.
96317         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
96318         format instead of in UCS-4 with platform dependent endianness.
96319
96320 2000-03-10  Jim Meyering  <meyering@lucent.com>
96321
96322         * m4/lib-check.m4: Look for getspnam in -lgen, too.
96323         From Marco Franzen.
96324
96325 2000-03-07  Paul Eggert  <eggert@twinsun.com>
96326
96327         * lib/savedir.c (savedir): Work even if directory size is
96328         negative; this can happen with some screwy NFS configurations.
96329
96330 2000-03-06  Jim Meyering  <meyering@lucent.com>
96331
96332         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
96333         if it's NULL (because we ran out of memory).  From Bruno Haible.
96334
96335 2000-03-05  Jim Meyering  <meyering@lucent.com>
96336
96337         * lib/localcharset.c ("path-concat.h"): Include.
96338         (get_charset_aliases): Use path_concat instead of ANSI string
96339         concatenation.
96340
96341         * lib/unicodeio.h (PARAMS): Define.
96342         Use it to guard prototype.
96343
96344 2000-03-04  Jim Meyering  <meyering@lucent.com>
96345
96346         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
96347         for lib/localcharset.c.
96348
96349 2000-03-04  Jim Meyering  <meyering@lucent.com>
96350
96351         * lib/Makefile.am (install-exec-local): Create $(libdir) before
96352         installing into it.
96353         (uninstall-local): Uncomment this rule so `make distcheck' works
96354         once again.
96355
96356         * lib/unicodeio.c (<errno.h>): Include it.
96357         (errno): Declare if not defined.
96358
96359         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
96360
96361         * lib/config.charset: New version, incorporating remarks from a linux
96362         i18n mailing list.  From Bruno Haible.
96363
96364 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
96365
96366         * m4/codeset.m4: New file.
96367         * m4/iconv.m4: New file.
96368         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
96369
96370 2000-03-03  Jim Meyering  <meyering@lucent.com>
96371
96372         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
96373
96374 2000-03-02  Jim Meyering  <meyering@lucent.com>
96375
96376         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
96377         the messages come out on separate lines.
96378
96379         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
96380         rather than jm_CHECK_DECLARATIONS.
96381         * m4/decl.m4: Remove now-unused file.
96382
96383         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
96384         geteuid.
96385
96386 2000-03-02  Jim Meyering  <meyering@lucent.com>
96387
96388         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
96389
96390 2000-03-01  Jim Meyering  <meyering@lucent.com>
96391
96392         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
96393         * lib/unicodeio.c: Likewise.
96394
96395 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
96396
96397         * lib/config.charset: New file.
96398         * lib/localcharset.c: New file.
96399         * lib/unicodeio.h, lib/unicodeio.c: New files.
96400         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
96401         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
96402         (noinst_HEADERS): Add unicodeio.h.
96403         (all-local, install-exec-local, charset.alias): New targets.
96404
96405 2000-02-28  Paul Eggert  <eggert@twinsun.com>
96406
96407         * lib/quotearg.c (ALERT_CHAR): New macro.
96408         (quotearg_buffer_restyled): Use it.
96409
96410 2000-02-27  Jim Meyering  <meyering@lucent.com>
96411
96412         * m4/check-decl.m4: Add getenv to the list.
96413
96414 2000-02-27  Jim Meyering  <meyering@lucent.com>
96415
96416         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
96417         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
96418
96419         * lib/backupfile.c: Guard inclusion of stdlib.h with
96420         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
96421         Declare malloc if needed.
96422
96423         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
96424         `#ifndef HAVE_DECL..'
96425         now that autoconf always defines the HAVE_DECL_ symbols.
96426         * lib/human.c: Likewise.
96427         * lib/same.c: Likewise.
96428         * lib/strtoumax.c: Likewise.
96429
96430         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
96431         declaration check was not run.
96432         * lib/hash.c: Likewise.
96433         * lib/human.c: Likewise.
96434         * lib/same.c: Likewise.
96435         * lib/strtoumax.c: Likewise.
96436
96437         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
96438         `.', then first look up the entire `.'-containing string as a login
96439         name.
96440
96441 2000-02-23  Jim Meyering  <meyering@lucent.com>
96442
96443         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
96444         in place of my hack.
96445
96446 2000-02-18  Paul Eggert  <eggert@twinsun.com>
96447
96448         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
96449         (textint): New typedef.
96450         (parser_control): Member year changed from int to textint.
96451         All uses changed.
96452         (YYSTYPE): Removed; replaced by %union with int and textint members.
96453         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
96454         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
96455         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
96456         (tSNUMBER, tUNUMBER): Now of type <textintval>.
96457         (date, number, to_year): Use width of number in digits, not its value,
96458         to determine whether it's a 2-digit year, or a 2-digit time.
96459         (yylex): Store number of digits of numeric tokens.
96460         Reported by John Kendall.
96461
96462         (parser_control): Changed from struct parser_control to typedef (for
96463         consistency).  All uses changed.
96464
96465         (tID): Removed; not used.
96466         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
96467
96468 2000-02-14  Paul Eggert  <eggert@twinsun.com>
96469
96470         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
96471         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
96472
96473 2000-02-12  Jim Meyering  <meyering@lucent.com>
96474
96475         * lib/userspec.c (ISDIGIT): Define it.
96476         (isdigit): Remove definition.
96477         (is_number): Use ISDIGIT, not isdigit.
96478         <libintl.h>: Include.
96479         (_ and N_): Define.
96480         (parse_user_spec): Mark translatable strings.
96481
96482 2000-02-10  Jim Meyering  <meyering@lucent.com>
96483
96484         With these changes, nanosleep.[ch] are finally enough like the other
96485         lib/* replacement files to compile on a few more losing systems.
96486
96487         * lib/nanosleep.h: Don't include config.h.
96488         Remove prototype from declaration of nanosleep.
96489         (PARAMS): Remove now-unneeded definition.
96490         * lib/nanosleep.c: #undef nanosleep.
96491         (rpl_nanosleep): Rename from nanosleep.
96492
96493 2000-02-10  Jim Meyering  <meyering@lucent.com>
96494
96495         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
96496         gnu_nanosleep to rpl_nanosleep.
96497
96498 2000-02-09  Jim Meyering  <meyering@lucent.com>
96499
96500         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
96501         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
96502
96503 2000-02-08  Akim Demaille  <akim@epita.fr>
96504
96505         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
96506         `[' and `]' and remove uses of `changequote'.
96507         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
96508         (AC_SYS_LARGEFILE): Likewise.
96509         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
96510         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
96511         of changequote.
96512         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
96513         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
96514         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
96515         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
96516
96517 2000-02-05  Jim Meyering  <meyering@lucent.com>
96518
96519         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
96520         Remove explicit use of AC_HEADER_TIME.  It is required by
96521         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
96522         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
96523         in autoconf whereby the expansion of the latter ended up preceding
96524         the expansion of its prerequisite, AC_HEADER_TIME.
96525         Reported by Volker Borchert.
96526
96527 2000-02-03  Jim Meyering  <meyering@lucent.com>
96528
96529         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
96530
96531 2000-02-03  Jim Meyering  <meyering@lucent.com>
96532
96533         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
96534         rather than with `#if HAVE_UTMPNAME'.
96535
96536 2000-02-02  Jim Meyering  <meyering@lucent.com>
96537
96538         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
96539         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
96540         Reported by Eli Zaretskii.
96541
96542 2000-02-01  Jim Meyering  <meyering@lucent.com>
96543
96544         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
96545
96546 2000-01-31  Jim Meyering  <meyering@lucent.com>
96547
96548         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
96549         functions.  Add the time.h and sys/time.h headers along with the
96550         AC_REQUIRE'ment of AC_HEADER_TIME.
96551
96552 2000-01-31  Jim Meyering  <meyering@lucent.com>
96553
96554         * lib/nanosleep.h (nanosleep): Guard declaration with
96555         `#if ! HAVE_DECL_NANOSLEEP'.
96556         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
96557         the declaration in that vendor's sys/timers.h.
96558         Reported by Christian Krackowizer.
96559
96560         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
96561         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
96562         (ISPRINT): Likewise.
96563         Reported by Tom Tromey.
96564
96565 2000-01-30  Jim Meyering  <meyering@lucent.com>
96566
96567         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
96568
96569         * m4/prereq.m4 (utmp_includes): Define.
96570         Check for ut_user and ut_name members in both struct utmpx
96571         and struct utmp.
96572
96573 2000-01-30  Jim Meyering  <meyering@lucent.com>
96574
96575         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
96576         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
96577         header files where only utmpx.ut_user is declared.
96578
96579         * lib/readutmp.h (UT_USER): Define.
96580
96581 2000-01-29  Jim Meyering  <meyering@lucent.com>
96582
96583         * m4/lib-check.m4: New file containing library-related checks from
96584         fileutils and sh-utils (textutils had none).
96585
96586 2000-01-28  Jim Meyering  <meyering@lucent.com>
96587
96588         * m4/perl.m4: Change format of warning message to look more like that
96589         from the missing script.  Suggestion from François Pinard.
96590
96591 2000-01-25  Jim Meyering  <meyering@lucent.com>
96592
96593         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
96594         well as time.h in the compile check.
96595         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
96596         Fix typo in cross-compiling case: s/yes/no/.
96597
96598 2000-01-23  Jim Meyering  <meyering@lucent.com>
96599
96600         * m4/jm-macros.m4: Move df-related tests here from
96601         fileutils/configure.in
96602
96603         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
96604         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
96605
96606         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
96607         s/space/ac_fsusage_space/.
96608         (jm_FILE_SYSTEM_USAGE): Take two parameters.
96609
96610         * m4/ftruncate.m4: New file (derived from part of
96611         fileutils/configure.in).
96612         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
96613         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
96614
96615         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
96616         AC_SUBST these here, rather than just in sh-util/configure.in, so
96617         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
96618         all the same.
96619         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
96620         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
96621         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
96622         (AC_SUBST(POW_LIBM)): Likewise.
96623         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
96624
96625 2000-01-23  Jim Meyering  <meyering@lucent.com>
96626
96627         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
96628         obstack.c.
96629
96630 2000-01-22  Jim Meyering  <meyering@lucent.com>
96631
96632         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
96633
96634         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
96635
96636         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
96637         configure.in
96638         (AC_CHECK_HEADERS): Likewise for sh-utils.
96639         (AC_CHECK_HEADERS): Likewise for textutils.
96640         Merge the three lists of headers.
96641
96642         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
96643         from fileutils' configure.in.
96644
96645         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
96646         code. Moved tests into their own function (_jm_DECL_HEADERS) in
96647         check-decl.m4.
96648
96649         * m4/check-decl.m4: Use #if rather than #ifdef.
96650         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
96651         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
96652         (_jm_DECL_HEADERS): Define new function.
96653         (jm_CHECK_DECLARATIONS): Require it.
96654
96655 2000-01-22  Jim Meyering  <meyering@lucent.com>
96656
96657         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
96658         [! HAVE_DECL_STRTOULL]: Declare strtoull.
96659         Required for some AIX systems.  Reported by Christian Krackowizer.
96660         [TESTING] (main): New function.
96661
96662         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
96663         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
96664         letters.
96665
96666         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
96667         iswprint.
96668
96669         * lib/strverscmp.c (ISDIGIT): Define.
96670         (strverscmp): Use ISDIGIT, not isdigit.
96671
96672 2000-01-19  Jim Meyering  <meyering@lucent.com>
96673
96674         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
96675         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
96676         defines `struct timespec' in <sys/time.h>
96677
96678         * m4/c-bs-a.m4: Remove uses of changequote altogether.
96679         Thanks to Akim for explaining.
96680
96681 2000-01-17  Paul Eggert  <eggert@twinsun.com>
96682
96683         * lib/nanosleep.c (nanosleep):
96684         Don't use SA_INTERRUPT to decide whether to call sigaction, as
96685         POSIX.1 doesn't require SA_INTERRUPT and some systems
96686         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
96687         it's been part of POSIX.1 since day 1 (in 1988).
96688
96689 2000-01-17  Jim Meyering  <meyering@lucent.com>
96690
96691         * lib/interlock: Remove unused file.  Reported by François Pinard.
96692
96693 2000-01-16  Paul Eggert  <eggert@twinsun.com>
96694
96695         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
96696         alert, backslash, formfeed, and vertical tab unnecessarily in
96697         shell quoting style.
96698
96699 2000-01-16  Jim Meyering  <meyering@lucent.com>
96700
96701         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
96702         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
96703         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
96704         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
96705
96706 2000-01-16  Jim Meyering  <meyering@lucent.com>
96707
96708         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
96709         because the latter didn't work.
96710
96711 2000-01-15  Jim Meyering  <meyering@lucent.com>
96712
96713         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
96714         (AC_REPLACE_FUNCS): Add memcpy and memset.
96715         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
96716         Add strpbrk.
96717         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
96718
96719 2000-01-12  Jim Meyering  <meyering@lucent.com>
96720
96721         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
96722         (jm_PREREQ): Use it.
96723         (jm_PREREQ_READUTMP): New macro.
96724         (jm_PREREQ): Use it.
96725
96726 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96727
96728         Quote multibyte characters correctly.
96729         * m4/c-bs-a.m4: New file.
96730         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
96731         (jm_PREREQ): Use it.
96732
96733 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96734
96735         * m4/uintmax_t.m4: Port to autoconf 2.13.
96736
96737 2000-01-08  Jim Meyering  <meyering@ascend.com>
96738
96739         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
96740         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
96741
96742 2000-01-04  Jim Meyering  <meyering@ascend.com>
96743
96744         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
96745         jm_STRUCT_DIRENT_D_TYPE.
96746         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
96747         jm_STRUCT_DIRENT_D_INO.
96748         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
96749         jm_STRUCT_UTIMBUF.
96750         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
96751         renamings.
96752         * m4/utime.m4: Likewise.
96753
96754         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
96755         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
96756
96757 2000-01-03  Paul Eggert  <eggert@twinsun.com>
96758
96759         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
96760         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
96761
96762 2000-01-02  Jim Meyering  <meyering@ascend.com>
96763
96764         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
96765         remember if this is necessary.
96766
96767 1999-12-26  Jim Meyering  <meyering@ascend.com>
96768
96769         * m4/jm-macros.m4: Use it here.
96770         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
96771
96772 1999-12-23  Jim Meyering  <meyering@ascend.com>
96773
96774         * m4/jm-macros.m4: Check for clock_gettime (moved from
96775         fileutils/configure.in)
96776         Check for gettimeofday.
96777
96778 1999-12-20  Jim Meyering  <meyering@ascend.com>
96779
96780         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
96781         autoconf-2.14a-1999-12-20.
96782
96783 1999-12-19  Jim Meyering  <meyering@ascend.com>
96784
96785         * m4/lstat-slash.m4: New file.
96786         * m4/jm-macros.m4: Use the new macro:
96787         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96788
96789 1999-12-07  Jim Meyering  <meyering@ascend.com>
96790
96791         * m4/perl.m4: Require that File::Compare be available, too.
96792         Too many systems seem to lack it.
96793
96794         * m4/strftime.m4: Add checks for most of the cpp macros tested in
96795         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
96796
96797 1999-11-18  Paul Eggert  <eggert@twinsun.com>
96798
96799         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
96800         problem with the QNX 4.25 shell, which doesn't propagate exit
96801         status of failed commands inside shell assignments.
96802
96803 1999-11-17  Jim Meyering  <meyering@ascend.com>
96804
96805         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
96806
96807 1999-11-07  Jim Meyering  <meyering@ascend.com>
96808
96809         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
96810
96811 1999-11-06  Jim Meyering  <meyering@ascend.com>
96812
96813         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
96814         * m4/jm-macros.m4 (jm_MACROS): Use it here.
96815
96816 1999-11-05  Jim Meyering  <meyering@ascend.com>
96817
96818         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
96819         configure.in of textutils, fileutils, and sh-utils into this one
96820         (shared between those packages) file.
96821         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
96822         AC_STRUCT_ST_BLKSIZE.
96823
96824 1999-11-03  Jim Meyering  <meyering@ascend.com>
96825
96826         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
96827         of AC_CHECK_TYPE checks includes unistd.h.
96828         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
96829         Suggestion from Akim Demaille.
96830
96831 1999-10-30  Jim Meyering  <meyering@ascend.com>
96832
96833         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
96834         m4-quoted string.
96835         * m4/ls-mntd-fs.m4: Likewise.
96836         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
96837         * m4/jm-winsz1.m4: Likewise.
96838
96839         * m4/const.m4: Remove file, since the fix made it into the experimental
96840         version of autoconf.
96841         * m4/mktime.m4: Likewise.
96842
96843         * m4/check-type.m4: Remove file, now that the latest version of
96844         AC_CHECK_TYPE takes a third arg to specify additional #includes.
96845
96846         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
96847         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
96848         AC_CHECK_TYPE.
96849
96850 1999-10-04  Jim Meyering  <meyering@ascend.com>
96851
96852         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
96853
96854 1999-09-22  Paul Eggert  <eggert@twinsun.com>
96855
96856         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
96857         2.95.1 bug with HP-UX 10.20.
96858
96859 1999-09-17  Jim Meyering  <meyering@ascend.com>
96860
96861         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
96862         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
96863         due to missing strdup (against sh-utils-2.0).
96864
96865 1999-08-29  Jim Meyering  <meyering@ascend.com>
96866
96867         * m4/jm-macros.m4: Require jm_BISON.
96868         * m4/bison.m4: New file.
96869
96870 1999-08-17  Paul Eggert  <eggert@twinsun.com>
96871
96872         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
96873         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
96874
96875 1999-08-05  Jim Meyering  <meyering@ascend.com>
96876
96877         * m4/getline.m4: Rename test file from conftestdata to conftest.data
96878         to avoid conflicts with `conftest' on 8+3 filesystems.
96879         Suggestion from Eli Zaretskii.
96880
96881 1999-08-04  Jim Meyering  <meyering@ascend.com>
96882
96883         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
96884         fileutils and sh-utils (textutils's getline test was inadequate).
96885         (AM_FUNC_GETLINE): Run this test.
96886         (AC_CHECK_FUNCS): Check for getdelim.
96887         Reported by Bob Proulx.
96888
96889 1999-08-02  Jim Meyering  <meyering@ascend.com>
96890
96891         * m4/jm-macros.m4: Add a comment.
96892
96893 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96894
96895         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
96896         <inttypes.h> defines strtoumax as a macro (and not as a
96897         function).
96898
96899 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96900
96901         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
96902         that we can shift, multiply and divide unsigned long long
96903         values; Ultrix cc can't do it.
96904
96905 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96906
96907         * m4/mktime.m4: New file, which is a preview of what should appear
96908         in the next public autoconf release.
96909
96910 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96911
96912         * m4/lfs.m4: Remove this file.
96913         * m4/largefile.m4: New file.  It contains the old contents of
96914         lfs.m4, except that all names with prefix AC_LFS have been
96915         changed to use the prefix AC_SYS_LARGEFILE instead, to be
96916         compatible with future autoconf versions.  Also, some minor m4
96917         quoting problems have been fixed.
96918
96919 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96920
96921         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
96922         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
96923         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
96924         and simplify the shell code.
96925
96926 1999-08-01  Jim Meyering  <meyering@ascend.com>
96927
96928         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
96929         m4.
96930
96931 1999-07-20  Jim Meyering  <meyering@ascend.com>
96932
96933         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
96934
96935 1999-07-15  Jim Meyering  <meyering@ascend.com>
96936
96937         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
96938
96939 1999-05-22  Jim Meyering  <meyering@ascend.com>
96940
96941         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
96942
96943 1999-05-20  Jim Meyering  <meyering@ascend.com>
96944
96945         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
96946         Add a colon after each `then' in case $4 is empty.
96947
96948 1999-05-16  Jim Meyering  <meyering@ascend.com>
96949
96950         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
96951
96952 1999-05-10  Jim Meyering  <meyering@ascend.com>
96953
96954         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
96955
96956         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
96957         AC_FUNC_MKTIME.
96958
96959 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
96960
96961         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
96962
96963 1999-05-04  Paul Eggert  <eggert@twinsun.com>
96964
96965         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
96966         not CPPFLAGS, so that linking works correctly in IRIX.
96967
96968 1999-04-30  Paul Eggert  <eggert@twinsun.com>
96969
96970         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
96971
96972 1999-04-20  Paul Eggert  <eggert@twinsun.com>
96973
96974         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
96975         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
96976         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
96977         jm_AC_TYPE_UNSIGNED_LONG_LONG.
96978         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
96979
96980         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
96981
96982 1999-04-20  Jim Meyering  <meyering@ascend.com>
96983
96984         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
96985         AC_REPLACE xstroull if necessary.  From Paul Eggert.
96986         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
96987
96988 1999-04-18  Jim Meyering  <meyering@ascend.com>
96989
96990         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
96991         * m4/jm-macros.m4: Use it.
96992
96993 1999-04-06  Jim Meyering  <meyering@ascend.com>
96994
96995         * m4/strftime.m4: Remove test for %f.
96996
96997 1999-03-29  Jim Meyering  <meyering@ascend.com>
96998
96999         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
97000         superset of the AC_TYPE_* checks in the textutils, fileutils,
97001         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
97002         AC_TYPE_PID_T.
97003
97004 1999-03-28  Jim Meyering  <meyering@ascend.com>
97005
97006         * m4/jm-macros.m4: Define GNU_PACKAGE here.
97007         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
97008         replaced e.g., in the *.sh files of the sh-utils.
97009
97010 1999-03-20  Jim Meyering  <meyering@ascend.com>
97011
97012         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
97013         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
97014         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
97015
97016 1999-03-19  Jim Meyering  <meyering@ascend.com>
97017
97018         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
97019
97020 1999-03-12  Jim Meyering  <meyering@ascend.com>
97021
97022         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
97023
97024 1999-03-07  Jim Meyering  <meyering@ascend.com>
97025
97026         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
97027         declared.
97028
97029 1999-02-17  Jim Meyering  <meyering@ascend.com>
97030
97031         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
97032         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
97033
97034 1999-02-07  Jim Meyering  <meyering@ascend.com>
97035
97036         * m4/group-member.m4: New file -- extracted from sh-utils'
97037         configure.in.
97038
97039         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
97040         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
97041
97042 1999-02-06  Jim Meyering  <meyering@ascend.com>
97043
97044         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
97045         * m4/fnmatch.m4: Likewise.
97046         * m4/getgroups.m4: Likewise.
97047         * m4/lstat.m4: Likewise.
97048         * m4/malloc.m4: Likewise.
97049         * m4/putenv.m4: Likewise.
97050         * m4/realloc.m4: Likewise.
97051         * m4/regex.m4: Likewise.
97052         * m4/stat.m4: Likewise.
97053         * m4/strftime.m4: Likewise.
97054         Suggestion from Alain Magloire.
97055
97056         * m4/chown.m4: Use `.$ac_objext', not `.o'.
97057         * m4/fnmatch.m4: Likewise.
97058         * m4/getgroups.m4: Likewise.
97059         * m4/getline.m4: Likewise.
97060         * m4/lstat.m4: Likewise.
97061         * m4/malloc.m4: Likewise.
97062         * m4/memcmp.m4: Likewise.
97063         * m4/putenv.m4: Likewise.
97064         * m4/realloc.m4: Likewise.
97065         * m4/regex.m4: Likewise.
97066         * m4/stat.m4: Likewise.
97067         * m4/strftime.m4: Likewise.
97068         Suggestion from Alain Magloire.
97069
97070         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
97071         an argument.
97072
97073         * m4/regex.m4: Add a run-time Test for proper operation of
97074         re_compile_pattern.
97075
97076 1999-01-31  Jim Meyering  <meyering@ascend.com>
97077
97078         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
97079
97080 1999-01-30  Jim Meyering  <meyering@ascend.com>
97081
97082         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
97083
97084         * m4/jm-mktime.m4: Make this a wrapper around the official
97085         AM_FUNC_MKTIME rather than my private copy, now that the official one
97086         is up to date.
97087         * m4/mktime.m4: Remove file.
97088
97089         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
97090         * m4/uptime.m4: Likewise.
97091         * m4/uintmax_t.m4: Likewise.
97092
97093 1999-01-28  Jim Meyering  <meyering@ascend.com>
97094
97095         * m4/jm-macros.m4: Use jm_AFS.
97096         * m4/afs.m4: New file (from fileutils' configure.in).
97097
97098         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
97099         * m4/chown.m4: Likewise.
97100         * m4/d-ino.m4: Likewise.
97101         * m4/d-type.m4: Likewise.
97102         * m4/fnmatch.m4: Likewise.
97103         * m4/getgroups.m4: Likewise.
97104         * m4/gettext.m4: Likewise.
97105         * m4/jm-mktime.m4: Likewise.
97106         * m4/jm-winsz2.m4: Likewise.
97107         * m4/lcmessage.m4: Likewise.
97108         * m4/ls-mntd-fs.m4: Likewise.
97109         * m4/malloc.m4: Likewise.
97110         * m4/memcmp.m4: Likewise.
97111         * m4/putenv.m4: Likewise.
97112         * m4/realloc.m4: Likewise.
97113         * m4/st_mtim.m4: Likewise.
97114         * m4/strftime.m4: Likewise.
97115
97116 1999-01-16  Jim Meyering  <meyering@ascend.com>
97117
97118         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
97119         (ARGMATCH_DIE_DECL): Define.
97120
97121 1999-01-12  Jim Meyering  <meyering@ascend.com>
97122
97123         * m4/Makefile.am.in: Rewrite to avoid using fmt.
97124         Reported by Lars Hecking.
97125
97126 1999-01-10  Jim Meyering  <meyering@ascend.com>
97127
97128         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
97129         gross kludge.
97130         * m4/inttypes_h.m4: Likewise.
97131         * m4/lstat.m4: Likewise.
97132         * m4/malloc.m4: Likewise.
97133         * m4/readdir.m4: Likewise.
97134         * m4/realloc.m4: Likewise.
97135         * m4/st_dm_mode.m4: Likewise.
97136         * m4/stat.m4: Likewise.
97137         * m4/utimbuf.m4: Likewise.
97138         * m4/utimes.m4: Likewise.
97139
97140         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
97141         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
97142         comments in config.h.in are meaningful.
97143
97144         * m4/jm-macros.m4: Require autoconf-2.13 here.
97145
97146         * m4/regex.m4: By default, don't use the included regex.c on systems
97147         with glibc 2.  Suggestion from Uli Drepper.
97148
97149 1999-01-02  Jim Meyering  <meyering@ascend.com>
97150
97151         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
97152
97153 1998-12-18  Jim Meyering  <meyering@ascend.com>
97154
97155         * m4/Makefile.am.in (Makefile.am): Simplify rule.
97156         Based on a suggestion from Lars Hecking.
97157
97158 1998-11-16  Paul Eggert  <eggert@twinsun.com>
97159
97160         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
97161
97162 1998-11-16  Jim Meyering  <meyering@ascend.com>
97163
97164         * m4/lfs.m4: Double-quote the `uname...` expression.
97165
97166 1998-11-14  Jim Meyering  <meyering@ascend.com>
97167
97168         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
97169         * m4/stat.m4: Likewise.
97170
97171 1998-11-03  Jim Meyering  <meyering@ascend.com>
97172
97173         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
97174         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
97175
97176 1998-10-18  Jim Meyering  <meyering@ascend.com>
97177
97178         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
97179
97180 1998-10-17  Jim Meyering  <meyering@ascend.com>
97181
97182         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
97183         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
97184         calls for those previously hard-coded headers.  Instead, take a new
97185         parameter.
97186         (jm_CHECK_DECLARATIONS): Reflect interface change.
97187         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
97188         (jm_CHECK_DECL_LOCALTIME_R): New macro.
97189
97190         * m4/mktime.m4: Test for spring-forward gap before long-running test.
97191
97192 1998-10-14  Jim Meyering  <meyering@ascend.com>
97193
97194         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
97195         instead of "TZ=America/Vancouver".  From Paul Eggert.
97196
97197 1998-10-11  Jim Meyering  <meyering@ascend.com>
97198
97199         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
97200         This adds a test for a recently added compatibility fix for mktime.c.
97201         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
97202
97203 1998-09-27  Jim Meyering  <meyering@ascend.com>
97204
97205         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
97206
97207         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
97208         ../configure.in, including a change from Gordon Matzigkeit to allow
97209         cross-compiling for the Hurd.
97210
97211         * m4/glibc.m4: New file/macro to test for the GNU C Library
97212         versions 1 and 2.  From Gordon Matzigkeit.
97213         Indent.
97214
97215 1998-09-21  Jim Meyering  <meyering@ascend.com>
97216
97217         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
97218
97219 1998-08-18  Paul Eggert  <eggert@twinsun.com>
97220
97221         Port nanosecond-resolution times to UnixWare 2.1.2 and
97222         pedantic Solaris 2.6.
97223
97224         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
97225         AC_STRUCT_ST_MTIM.
97226         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
97227         Generate name of ns member, instead of just 1 or undef.
97228         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
97229
97230 1998-08-15  Jim Meyering  <meyering@ascend.com>
97231
97232         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
97233         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
97234         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
97235         instead of jm_TYPE_SSIZE_T.
97236
97237 1998-08-12  Jim Meyering  <meyering@ascend.com>
97238
97239         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
97240
97241 1998-08-02  Jim Meyering  <meyering@ascend.com>
97242
97243         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
97244         in acconfig.h manually.
97245
97246 1998-07-31  Paul Eggert  <eggert@twinsun.com>
97247
97248         * m4/st_mtim.m4: New file.
97249
97250 1998-07-28  Jim Meyering  <meyering@ascend.com>
97251
97252         * m4/utimes.m4: Undef stat.
97253
97254 1998-07-25  Jim Meyering  <meyering@ascend.com>
97255
97256         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
97257         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
97258
97259 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
97260
97261         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
97262         uid and gid actually remain unchanged.
97263
97264 1998-07-07  Jim Meyering  <meyering@ascend.com>
97265
97266         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
97267
97268 1998-07-04  Jim Meyering  <meyering@ascend.com>
97269
97270         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
97271         to prove that this macro can be used in packages without regex.c.
97272
97273 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
97274
97275         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
97276         is to be used.
97277
97278 1998-07-03  Jim Meyering  <meyering@ascend.com>
97279
97280         * m4/gettext.m4: Add -lintl if it's found to be necessary.
97281
97282         * m4/gettext.m4: New file -- from gettext-0.10.35.
97283         * m4/lcmessage.m4: Likewise.
97284         * m4/progtest.m4: Likewise.
97285
97286         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
97287         * m4/jm-macros.m4: Require the new macro.
97288
97289 1998-06-29  Jim Meyering  <meyering@ascend.com>
97290
97291         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
97292         for the definition of NGROUPS (used in a system header included
97293         by sys/mount.h).
97294
97295 1998-06-28  Jim Meyering  <meyering@ascend.com>
97296
97297         * m4/ls-mntd-fs.m4: New file.
97298         * m4/fstypename.m4: New file.
97299
97300         * m4/jm-macros.m4: Require the new macro.
97301         * m4/jm-glibc-io.m4: New file.
97302
97303 1998-05-19  Jim Meyering  <meyering@ascend.com>
97304
97305         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
97306         * m4/lchown.m4: New file.
97307
97308         * m4/Makefile.am.in: New file.
97309         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
97310
97311 1998-05-14  Jim Meyering  <meyering@ascend.com>
97312
97313         * m4/Makefile.am (EXTRA_DIST): Add them.
97314         * m4/jm-macros.m4: New file.
97315         * m4/utimbuf.m4: New file.
97316
97317 1998-05-12  Jim Meyering  <meyering@ascend.com>
97318
97319         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
97320
97321 1998-05-11  Jim Meyering  <meyering@ascend.com>
97322
97323         * m4/isc-posix.m4: New file.
97324
97325 1998-05-10  Jim Meyering  <meyering@ascend.com>
97326
97327         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
97328
97329 1998-05-09  Jim Meyering  <meyering@ascend.com>
97330
97331         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
97332         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
97333         with automake.
97334
97335         * m4/ssize_t.m4: New file.
97336         * m4/mktime.m4: Remove file -- the new automake has this now.
97337
97338 1998-04-26  Jim Meyering  <meyering@ascend.com>
97339
97340         * m4/assert.m4: New file.
97341         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
97342
97343 1998-04-05  Jim Meyering  <meyering@ascend.com>
97344
97345         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
97346         (jm_PREREQ): Use it here.
97347
97348 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
97349
97350         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
97351         in acconfig.h.
97352
97353 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
97354
97355         * m4/prereq.m4: New file.
97356         * m4/error.m4: New file.
97357         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
97358
97359 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
97360
97361         * m4/getline.m4: Don't set am_cv_func_working_getline before the
97362         cache-check for the same variable -- that defeated the purpose of
97363         the test; the test program was never run.  This was a problem only
97364         on systems with losing getline functions -- HP-UX 10.20 is one.
97365         Reported by Bjorn Helgaas.
97366
97367 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
97368
97369         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
97370
97371 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
97372
97373         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
97374
97375         * m4/const.m4: New file.  Use an initializer in this declaration
97376         typedef int charset[2]; const charset x;
97377         Reported by Bob Glickstein.
97378
97379 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
97380
97381         * m4/chown.m4: Fix reversed types on -1 args to chown.
97382         From Kaveh Ghazi.
97383
97384 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
97385
97386         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
97387         Add lseek and memchr.
97388
97389         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
97390         T.E.Dickey <dickey@clark.net> said that some older preprocessors
97391         have a 20-character limit on names.
97392
97393 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
97394
97395         * m4/inttypes_h.m4: New file.
97396         * m4/uintmax_t.m4: New file.
97397         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
97398
97399
97400         -----
97401
97402         Local Variables:
97403         coding: utf-8
97404         End:
97405
97406         Copyright (C) 1997-2012 Free Software Foundation, Inc.
97407
97408         Copying and distribution of this file, with or without
97409         modification, are permitted provided the copyright notice
97410         and this notice are preserved.